]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
[grub2.git] / ChangeLog
CommitLineData
de04eecf
VS
12011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
4 unused modules since currently referrence counter isn't reliable and
5 there isn't much memory to recover there anyway.
6
57688121
VS
72011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
10 rather than resetting it to allow modules to reference themselves
11 in init.
12
3d2c7e35
VS
132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
16 counter on dependencies since grub_dl_unref already handles this.
17
b25db218
VS
182011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
21 on error if not already done.
22
25a45338
VS
232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
24
25 Fix few potential memory misusage.
26
27 * grub-core/font/font.c (load_font_index): Don't free char_index to
28 avoid double free.
b25db218
VS
29 (grub_font_load): Zero-fill font at alloc for safety.
30 Close file on error.
31 (free_font): Free bmp_idx.
25a45338 32
0cac83df
VS
332011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
34
35 * docs/grub.texi (Installation): Fix several outdated claims.
36
2217a143
VS
372011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
38
39 Handle module_license on windows.
40
41 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
42 sections shifted.
43 (insert_string): Make argument const char * instead of char *.
44 (write_section_data): Handle long section names.
45 Handle module_license.
46
d4de6b01
VS
472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
50 handle class-free menuentries.
51 (grub_normal_add_menu_entry): Add a check to be sure.
52
4c2a3b43
VS
532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
56 PgUp and PgDown.
57
85c6210f
VS
582011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * configure.ac: Bump version to 1.99.
61
36084912
VS
622011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
63
64 Give ATA device a bit more time on first try in order to allow disks
65 to spin up.
66
67 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
68 if dev->present is 1. Reset dev->present on failure.
69 (grub_ata_device_initialize): Set dev->present to 1.
70 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
71 (grub_ata_device): New member 'present'.
72
bda0e219
VS
732011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * util/grub-mkimage.c (generate_image): Update hash.
76
19e1c41b
VS
772011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
78
79 Flush caches on DMA memory.
80
81 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
82 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
83 (grub_dma_free): Likewise.
84 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
85
91bbcc0c
VS
862011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
89 to avoid asm treating ld and sd as macros.
90
60ddfad3
VS
912011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
94 decompressor.
95
a298aa04
VS
962011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
99 grub_decompress_core since later would fail if grub_decompress_core
100 is too far.
101
9b44feca
VS
1022011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
105 R_MIPS_JALR since it's used by newer compiler.
106
56dbe7b4
VS
1072011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
110
52856af2
VS
1112011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
114 file_path to 0 for surety.
115 (grub_chainloader_boot): Set exit_data to NULL.
116 Unset the loader once done.
117 (grub_cmd_chainloader): Fix confusing error message if file is empty.
118
9c9bfc6d
VS
1192011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
122 unknown key into a dprintf.
123
dd94a3df
VS
1242011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
127 on first non-existant partition.
128
fa68d99c
VS
1292011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
132 openning fails.
133 Reported by: Mark Korenberg.
134
157effb7
VS
1352011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
138 overflow.
139
ea75312f
VS
1402011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
141
142 * util/grub-mkimage.c (main): Explicitely flush and sync the output
143 before closing to ensure that it will be readable by grub-setup.
144
072b5d31
VS
1452011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
148 (devpath_1): Use MAKE_PIWG_PATH.
149 (devpath_2): Likewise.
150 (devpath_3): Likewise.
151 (devpath_4): Likewise.
152 (devpath_5): Likewise.
153 (devpath_6): Likewise.
154
155 The appleldr.mod was checked that to be binary identical to previous
156 version.
157
7fae0051
Z
1582011-05-05 Zach <mikezackles>
159
160 Support 2010 Macbooks.
161
162 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
163 (devs): Add devpath_6.
164
7c515bee
VS
1652011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
168 /dev/random. /dev/urandom is good enough for our purposes (salting).
169
ed660bd8
VS
1702011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
173
ee5614b7
VS
1742011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
177 hexadecimal.
178
664889a6
VS
1792011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
182 and not 0 on failure.
183
bd405bbc
CW
1842011-05-03 Colin Watson <cjwatson@ubuntu.com>
185
186 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
187 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
188 disk; otherwise grub_fs_probe will not fall back to the next
189 filesystem.
190 (grub_pxefs_open): Likewise, for consistency.
191 Reported and tested by: Ezekiel Grave.
192
4ebff753
CW
1932011-05-03 Colin Watson <cjwatson@ubuntu.com>
194
195 * tests/partmap_test.in: Don't hardcode path to parted.
196 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
197
8f942553
CW
1982011-05-01 Colin Watson <cjwatson@ubuntu.com>
199
200 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
201 of `ls' to find out which devices are available.
202
3c62402d
VS
2032011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
204
205 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
206 than source address for efi mmap buffer.
207
723f63f2
VS
2082011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
211 wrong action on non-detecting the magic.
212
68797f92
VS
2132011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
216 already supplied by another part of the module (fixes compilation on
217 FreeBSD).
218
6be8715d
VS
2192011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
222 match the one used by mdadm.
223
e91dba5b
CW
2242011-04-21 Colin Watson <cjwatson@ubuntu.com>
225
226 * po/README: Add instructions for creating po/LINGUAS.
227
c85140b3
CW
2282011-04-21 Colin Watson <cjwatson@ubuntu.com>
229
230 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
231 #551428.
232
233 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
234 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
235 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
236 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
237 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
238 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
239 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
240 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
241 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
242 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
243 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
244 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
245 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
246 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
247 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
248 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
249 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
250 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
251 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
252 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
253 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
254 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
255
92051871
CW
2562011-04-21 Colin Watson <cjwatson@ubuntu.com>
257
258 * grub-core/kern/emu/getroot.c
259 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
260 test that was incorrectly reintroduced in r3214.
261 Reported by: Ian Dall. Fixes Savannah bug #33133.
262
b13f79a4
CW
2632011-04-21 Colin Watson <cjwatson@ubuntu.com>
264
265 Fix stack pointer handling in 16-bit relocator.
266
267 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
268 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
269 Fixes Ubuntu bug #683904.
270
9b710a88
VS
2712011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * configure.ac: Bump version to 1.99~rc2.
274
d97e7b59
VS
2752011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
278 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
279 * grub-core/lib/x86_64/setjmp.S: Likewise.
280 * grub-core/lib/mips/setjmp.S: Likewise.
281 * grub-core/lib/powerpc/setjmp.S: Likewise.
282 * grub-core/lib/sparc64/setjmp.S: Likewise.
283
0624551c
VS
2842011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
287 * grub-core/lib/efi/datetime.c: Likewise.
288
e8f28d4c
VS
2892011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
292 New function.
293 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
294 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
295 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
296
bba79a15
VS
2972011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
300 bitmap.
301 (grub_gfxterm_term_init): Likewise.
302
abc474ef
VS
3032011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
304
305 Take into account the decorations the computing menu entry width.
306
307 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
308 (grub_gfxmenu_create_box): Register get_border_width.
309 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
310 if available.
311 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
312 get_border_width.
313
e74b3947
EP
3142011-04-18 Endres Puschner <code@e7p.de>
315
316 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
317 Don't skip first class.
318
34faa595
VS
3192011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
322 chunks.
323 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
324
93a777e3
VS
3252011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
326
327 Complete 64-bit division support.
328
329 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
330 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
331 * include/grub/misc.h (grub_divmod64): Rename to ...
332 (grub_divmod64_full): ... this.
333 (grub_divmod64): New inline function.
334
a5102d94
VS
3352011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * util/grub-mkimage.c (generate_image): Add forgotten comma.
338
f3fb7b36
VS
3392011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
342 performing the necessary test.
343
9ac718b0
VS
3442011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
347 (kfreebsd.elf): Likewise.
348 (pc-chainloader.elf): Likewise.
349 (ntldr.elf): Likewise.
350
50d2cc5a
VS
3512011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
352
353 Identify RAID by its UUID rather than (guessed) name.
354
355 * grub-core/disk/raid.c (ascii2hex): New function.
356 (grub_raid_open): Accept mduuid/%s specification.
357 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
358 (get_mdadm_uuid): ... this.
359 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
360
e03f7bea
VS
3612011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
364 to negative size.
365
e74c3112
CW
3662011-04-13 Colin Watson <cjwatson@ubuntu.com>
367
368 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
369 btrfs subvolume.
370 * util/grub.d/20_linux_xen.in: Likewise.
371
78fa584f
CW
3722011-04-13 Colin Watson <cjwatson@ubuntu.com>
373
374 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
375 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
376
377 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
378 Build a list of relevant visible mounts using the mnt_id and
379 parent_mnt_id fields, and then scan that list at the end.
380
9d5f8162
CW
3812011-04-12 Colin Watson <cjwatson@ubuntu.com>
382
383 * docs/grub.texi (normal): New section.
384 (normal_exit): New section.
385 (Embedded configuration): Add reference to normal.
386 (GRUB only offers a rescue shell): Likewise.
387 * docs/grub-dev.texi (Error Handling): Fix typo.
388
09a9d66f
CW
3892011-04-12 Colin Watson <cjwatson@ubuntu.com>
390
391 * NEWS: Drop obsolete entry about probe-only btrfs support.
392
0c676933
CW
3932011-04-12 Colin Watson <cjwatson@ubuntu.com>
394
395 * util/import_gcry.py: Fix typo.
396
ec9f5e0d
VS
3972011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * NEWS: Add btrfs support.
400
fe6b2cba
VS
4012011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4022011-04-11 Colin Watson <cjwatson@ubuntu.com>
403
404 BtrFS support. Written by me (Vladimir) with important bugfixes and
405 even more important testing by Colin.
406
407 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
408 * grub-core/Makefile.core.def (btrfs): Add crc.c.
409 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
410 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
411 mem_input_off and mem_input. All users updated to accept in-RAM input.
412 (gzio_seek): New function.
413 (test_zlib_header): Likewise.
414 (grub_gzio_read): Likewise.
415 (grub_zlib_decompress): Likewise.
416 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
417 Accept partial and non-virtual mounts.
418 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
419 avoid receiving /dev/dm-X as device.
420 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
421 Handle bind and partial mounts.
422 * grub-core/lib/crc.c: New file.
423 * include/grub/deflate.h: Likewise.
424 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
425 proto.
426 * include/grub/lib/crc.h: New file.
427
e745cf0c
VS
4282011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
429
430 Implement automatic module license checking according to new GNU
431 guidelines.
432
433 * grub-core/kern/dl.c (grub_dl_check_license): New function.
434 (grub_dl_load_core): Use grub_dl_check_license.
435 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
436 (GRUB_MOD_LICENSE): Likewise.
437 (GRUB_MOD_DUAL_LICENSE): Likewise.
438 All modules updated.
439
2a9bc016
CW
4402011-04-11 Colin Watson <cjwatson@ubuntu.com>
441
442 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
443 reserved_first_sector to 1. btrfs reserves plenty of space for boot
444 loaders.
445 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
446
8a3bc88e
VS
4472011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
448
449 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
450
af869a4a
VS
4512011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * util/grub-fstest.c (read_file): Report GRUB error if file opening
454 failed.
455
9ee8d94f
VS
4562011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * grub-core/kern/file.c (grub_file_open): Don't take into account the
459 parenthesis in the middle of the filename.
460
b01abe3e
VS
4612011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
464 rather than trying to put initrd way too high.
465 Reported by: Ryan Lortie <desrt@desrt.ca>
466
335bda1e
VS
4672011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
470 improperly removed string.
471
5ca1a64d
VS
4722011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
475 is_disk.
476 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
477 (open_device) Likewise.
478 (grub_util_biosdisk_close): Likewise.
d8ce9995 479 Reported by: Mark Korenberg.
5ca1a64d 480
cbac5b1e
AK
4812011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
482
483 * util/grub-mkconfig_lib.in: Add missing quotes.
484
088cdb65
CW
4852011-04-10 Colin Watson <cjwatson@ubuntu.com>
486
487 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
488 is NULL.
489
8b8a81fa
VS
4902011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
491
492 Dynamically count the number of lines for the lower banner.
493
494 * grub-core/normal/menu_entry.c (per_term_screen): New member
495 num_entries.
496 (print_down): Use num_entries.
497 (update_screen): Likewise.
498 (grub_menu_entry_run): Set num_entries.
499 * grub-core/normal/menu_text.c (menu_viewer_data): New member
500 num_entries.
501 (grub_print_message_indented): Move real part to ...
502 (grub_print_message_indented_real): ... here. Additional argument
503 dry_run.
504 (draw_border): Additional argument num_entries.
505 (print_message): Additional argument dry_run.
506 (print_entries): Receive menu viewer data.
507 (grub_menu_init_page): New argment num_entries.
508 (menu_text_set_chosen_entry): Use num_entries.
509 (grub_menu_try_text): Likewise.
510 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
511 All users updated.
512 (grub_ucs4_count_lines): New function.
513 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
514 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
515 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
516 (grub_term_border_height): Likewise.
517 (grub_term_num_entries): Likewise.
518
277f955b
VS
5192011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
522 Remove now unused string.
523
536ce85a
CW
5242011-04-09 Colin Watson <cjwatson@ubuntu.com>
525
526 * docs/grub-dev.texi (Finding your way around): Update for 1.99
527 build system.
528 (Getting started): GRUB is developed in Bazaar now, not Subversion.
529
530 (Comment): Fix typo.
531 (Getting started): General copy-editing.
532 (Typical Development Experience): Likewise.
533 (Error Handling): Likewise.
534 (Video API): Likewise.
535
2cf09e32
CW
5362011-04-09 Colin Watson <cjwatson@ubuntu.com>
537
538 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
539 throughout.
540
1ec652f4
VS
5412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * util/grub-mkimage.c (main): Handle special naming of yeeloong
544 directory.
545
2c583728
CW
5462011-04-08 Colin Watson <cjwatson@ubuntu.com>
547
548 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
549 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
550 "development".
551
d7a565e9
VS
5522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
555 grub_strcpy since the lines aren't necessarily 0-terminated.
556
7c2e4909
VS
5572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
560 root on legacy.
561
34c09785
VS
5622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * grub-core/commands/probe.c (options): Argument to set isn't optional.
565 (GRUB_MOD_INIT): DEVICE isn't optional.
566
6a6f8058
VS
5672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
570 word on new line if it's too long anyway. Fixes a hang.
571
2e335e90
VS
5722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
575 const.
576 * util/grub-setup.c (main): Reuse md device name if available.
577 * util/raid.c (grub_util_raid_getmembers): Receive device name and
578 not GRUB name as argument.
579 Based on patch by: Florian Wagner <fwagner>.
580
10a7a867
VS
5812011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
582
583 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
584 Place mbi on low memory for better compatibility.
585
7a3d6cd9
VS
5862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
587
588 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
589
18dd6b47
VS
5902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5912011-04-08 Colin Watson <cjwatson@ubuntu.com>
592
593 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 594 * conf/Makefile.common: Likewise.
18dd6b47 595
3c0e3f14
VS
5962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
597
f7148863
VS
598 * grub-core/normal/menu.c: Add missing include.
599
6002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 603
6d1fa41f
MZ
6042011-04-08 Martin Zuther <mzuther@mzuther.de>
605
606 * util/grub-mkconfig.in: Ignore emacsen backup.
607
478182a8
VS
6082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
611 on open.
612 (grub_util_biosdisk_close): Likewise.
613
72a89a54
VS
6142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
617 const attribute and use grub_isdigit.
618
b5ebecfa
A
6192011-04-06 Andrey <dev_null@ukr.net>
620
621 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
622 gcc warning.
623
7755f66e
VS
6242011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
627 useful grub_dprintf's.
628
461121ff
VS
6292011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
632
2a961775
VS
6332011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
636
adf594cc
VS
6372011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
638
639 Output errors if theme loading failed.
640
641 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
642 grub_gfxterm_fullscreen on error paths to ...
643 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
644 theme loading error.
645
665900a3
VS
6462011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
649 space for older compilers.
650 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
651
a562b479
VS
6522011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
655 and report them as not RAID members since they are useless for GRUB.
656 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
657
850e9373
VS
6582011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
659
660 Increase LVM implementation robustness in order not to crash on
661 configurations like pvmove. Previously code assumed that in some places
662 only lvs or only pvs are used whereas it seems that they are used
663 interchangeably.
664
665 * grub-core/disk/lvm.c (read_node): New function.
666 (read_lv): Use read_node.
667 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
668 Match volumes only at the end when all lvs are found. Take both
669 pvs (first) and lvs (second) into account.
670 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
671 mirror_* into node_*. All users updated.
672 (grub_lvm_stripe): Merge this ...
673 (grub_lvm_mirror): ... and this ...
674 (grub_lvm_node): ... into this. All users updated.
675
6f332153
VS
6762011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
677
678 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
679 of function to allow further scanning for LVMs.
680
829ea451
VS
6812011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
684 on failed seek as it breaks open fd reusage.
685
09ceb9a5
VS
6862011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * util/grub-install.in: Add a recommendation to use --recheck before
689 reporting bugs.
690
67e11623
VS
6912011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
694 are obtained.
695
caee5efd
VS
6962011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
697
698 GRUB developper manual based on existing Internals section and
699 contributions by the various authors with active copyright assignment.
700
701 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
702 * docs/font_char_metrics.png: New file.
703 * docs/font_char_metrics.txt: Likewise.
704 * docs/grub-dev.texi: Likewise.
705 * docs/grub.texi (Internals): Move from here ...
706 * docs/grub-dev.texi: ... here.
707
2cccc747
CW
7082011-04-01 Colin Watson <cjwatson@ubuntu.com>
709
710 Store the loopback device as data on loopback grub_disk structures,
711 rather than the file it points to. This fixes use of freed memory
712 if an existing loopback device is replaced.
713
714 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
715 disk->data, not dev->file.
716 (grub_loopback_read): Adjust file assignment to match.
717 Fixes Ubuntu bug #742967.
718
186ae367
CW
7192011-04-01 Colin Watson <cjwatson@ubuntu.com>
720
721 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
722 when replacing an existing device.
723
cfed2ad0
VS
7242011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
725
726 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
727 memory corruptions.
728
729 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
730 unsigned.
731 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
732 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
733 (grub_jfs_read_inode): Likewise.
734 (grub_jfs_opendir): Likewise. Remove now useless casts.
735 (grub_jfs_getent): Likewise.
736 Make ino a grub_uint32_t rather than int.
737 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
738 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
739 division and module with bit operations.
740 (grub_jfs_find_file): Make ino a grub_uint32_t.
741 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
742
05d2ed32
CW
7432011-04-01 Colin Watson <cjwatson@ubuntu.com>
744
745 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
746 warning. (This was in fact always initialised before use, but GCC
747 wasn't smart enough to prove that.)
748 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
749
91dc6073
VS
7502011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
753 stack alignment.
754 (efi_wrap_1): Likewise.
755 (efi_wrap_2): Likewise.
756 (efi_wrap_3): Likewise.
757 (efi_wrap_4): Likewise.
758 (efi_wrap_5): Likewise.
759 (efi_wrap_6): Likewise.
760 (efi_wrap_10): Likewise.
761 Based on information by: Red Hat/Peter Jones.
762
a8afc1d1
CW
7632011-03-31 Colin Watson <cjwatson@ubuntu.com>
764
765 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
766 set-but-not-used variable.
767
a826cc7d
CW
7682011-03-31 Colin Watson <cjwatson@ubuntu.com>
769
770 * docs/grub.texi (Simple configuration): Be more explicit about
771 GRUB_DEFAULT, and add an example.
772 Reported by: Leslie Rhorer.
773
875b67ba
CW
7742011-03-30 Colin Watson <cjwatson@ubuntu.com>
775
776 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
777 shell".
778
fd7cd914
AS
7792011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
780
781 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
782 * util/grub.d/20_linux_xen.in: Likewise.
783
090b1b6a
VS
7842011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * util/grub.d/10_linux.in: Try alternative config filenames where
787 we parse config file.
788 * util/grub.d/20_linux_xen.in: Likewise.
789
baad885c
AS
7902011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
791
792 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
793 * util/grub.d/20_linux_xen.in: Likewise.
794
241e41f5
VS
7952011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * grub-core/disk/raid.c (insert_array): Add few potentially
798 useful grub_util_info.
799 (grub_raid_register): Likewise.
800
56445fb2
VS
8012011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
804 Preserve partition number in mdadm code path.
805
c871b1c6
VS
8062011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
809 few potentially useful grub_util_info.
810
5e631b4f
CW
8112011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
814
2d5d0333
CW
8152011-03-30 Colin Watson <cjwatson@ubuntu.com>
816
817 * docs/grub.texi (default): Use @example rather than nested
818 itemized lists to avoid breaking gendocs.
819
3d7ed04e
CW
8202011-03-30 Colin Watson <cjwatson@ubuntu.com>
821
822 * docs/grub.texi (Future): Update.
823
abf04200 8242011-03-30 Colin Watson <cjwatson@ubuntu.com>
825
826 * docs/grub.texi (Environment): New chapter.
827 (Changes from GRUB Legacy): Link to "Environment block" section for
828 details of limitations.
829 (Simple configuration): Likewise. Link to documentation of gfxmode
830 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
831 respectively.
832 (Shell-like scripting): Note that normal variables are stored in the
833 environment.
834 (gettext): Link to documentation of lang and locale_dir.
835 (list_env): New section.
836 (load_env): New section.
837 (save_env): New section.
838
839 (Reporting bugs): Fix typo.
840
e1ad0edd
VS
8412011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
844 the example.
845
5d803174
VS
8462011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * grub-core/term/at_keyboard.c (set_scancodes)
849 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
850
2a2da1d0
CW
8512011-03-30 Colin Watson <cjwatson@ubuntu.com>
852
853 * docs/grub.texi (Menu-specific commands): Remove some semantics
854 that were true in GRUB Legacy but not in GRUB 2.
855 (submenu): New section.
856 (false): New section.
857 (read): New section.
858 (true): New section.
859
a7527639
CW
8602011-03-30 Colin Watson <cjwatson@ubuntu.com>
861
862 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
863
8642011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
865
866 * docs/grub.texi (Simple configuration): Explain some of the
867 current limitations of grub-mkconfig.
8a748df2 868 Reported by: Leslie Rhorer.
e30af029 869
fc858482
VS
8702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
871
872 Old macs search for boot.efi rather than for bootia32.efi.
873
874 * util/grub-install.in: Copy bootia32.efi to boot.efi.
875 * util/grub-mkrescue.in: Likewise.
876 Suggested by: Peter Jones.
877
e1eb511d
VS
8782011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
881
70e75364
VS
8822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
885 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
886 (grub_lvm_mirror): New struct.
887 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
888 (grub_lvm_iterate): Iterate only visible volumes.
889 (grub_lvm_read): Factor out to ..
890 (read_lv): ... this. Support mirrors.
891 (grub_lvm_read): New wrapper function.
892 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
893 stripped or mirrored.
894
fc18f6a3
VS
8952011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
898
5c650f4c
CW
8992011-03-29 Colin Watson <cjwatson@ubuntu.com>
900
901 * docs/grub.texi (loopback): New section.
902
61d7156b
CW
9032011-03-29 Colin Watson <cjwatson@ubuntu.com>
904
905 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
906 removed -p option.
907
994b8264
CW
9082011-03-29 Colin Watson <cjwatson@ubuntu.com>
909
910 * docs/grub.texi (BIOS installation): New section, partly based on
911 previous text in other sections.
912 (Installing GRUB using grub-install): Replace BIOS discussion with a
913 cross-reference.
914 (Images): Likewise.
915
9e4d19e0
VS
9162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * grub-core/kern/emu/hostdisk.c (find_partition_start)
919 [HAVE_DIOCGDINFO]: Add safety checks.
920
a307c0b2
VS
9212011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
924 per default compiled in kernel and prior to 8.0 isn't shipped at all.
925
b4db4f39
CW
9262011-03-29 Colin Watson <cjwatson@ubuntu.com>
927
928 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
929 real_sb->size is zero (e.g. RAID-0), get the disk size from
930 real_sb->data_size instead.
931 Fixes Ubuntu bug #743136.
932
35e5f84c
VS
9332011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
936 printf clauses for printing size and start.
937
d2e29d81
VS
9382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
941 Reported and tested by: Timothy Nikkel.
942
ed5587af
VS
9432011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
946 (dirty_region_add_real): ... this.
947 (dirty_region_add): Don't discard margin refresh when performing
948 scheduled repaint.
949
a1dc717c
VS
9502011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/lib/relocator.c (allocate_regstart)
953 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
954 terminals are capabple of malloc-free operation.
955 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
956 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
957
9f3677d3
VS
9582011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
959
960 * util/grub-setup.c: Copy the partition table zone if floppy support
961 is disabled, even if no partition table is found.
962
963 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
964 during POST if an invalid partition table is contained in the PBR
965 of the active partition when GRUB is installed to a partition.
966
24148725
CW
9672011-03-28 Colin Watson <cjwatson@debian.org>
968
969 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
970 comment.
971
f329eda7
CW
9722011-03-28 Colin Watson <cjwatson@debian.org>
973
974 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
975 to be specific about what kind of RAID device we're scanning for.
976
c482ad98
SG
9772011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
978
979 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
980 return freed string.
981
5ee04984
VS
9822011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
983
984 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
985
f4727da9
VS
9862011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
987
988 Use libgeom on FreeBSD to detect partitions.
989
990 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
991 (grub-mkrelpath): Likewise.
992 (grub-script-check): Likewise.
993 (grub-editenv): Likewise.
994 (grub-mkpasswd-pbkdf2): Likewise.
995 (grub-fstest): Likewise.
996 (grub-mkfont): Likewise.
997 (grub-mkdevicemap): Likewise.
998 (grub-probe): Likewise.
999 (grub-setup): Likewise.
1000 (grub-ofpathname): Likewise.
1001 (grub-mklayout): Likewise.
1002 (example_unit_test): Likewise.
1003 (grub-menulst2cfg): Likewise.
1004 * grub-core/Makefile.core.def (grub-emu): Likewise.
1005 (grub-emu-lite): Likewise.
1006 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
1007 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
1008 define HAVE_DIOCGDINFO.
1009 (follow_geom_up) [FreeBSD]: New function.
1010 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
1011 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
1012 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
1013 unconditionally of HAVE_DIOCGDINFO.
1014
82fe6c75
VS
10152011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 Fix FreeBSD compilation problem.
1018
1019 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
1020 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
1021
4c6c9431
CW
10222011-03-24 Colin Watson <cjwatson@ubuntu.com>
1023
1024 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
1025 Switch back to page zero before loading a kernel, since some kernel
1026 drivers expect that.
1027 Thanks to: Felix Kuehling.
1028
c7064d94
VS
10292011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
1032 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
1033 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
1034
3f71cded
VS
10352011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
1038 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
1039
ef6de21a
VS
10402011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
1043 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
1044 malloc is disabled.
1045
8bc66a2c
VS
10462011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
1049 for modules headers when counting the needed allocation size.
1050
5657722c
VS
10512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
1054 if no ASCII character is found to prevent crash.
1055
41a85f55
AK
10562011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
1057
1058 * grub-core/video/bitmap.c (match_extension): Ignore case.
1059
59e1e5f1
VS
10602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
1063
bd4d051a
VS
10642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * grub-core/script/parser.y: Declare "time" as valid argument.
1067
bae7fcc1
PJ
10682011-03-23 Peter Jones <pjones@redhat.com>
1069
1070 Fix incorrect assert failure reporting.
1071
1072 * grub-core/tests/example_functional_test.c (example_test): Add
1073 a failure comment.
1074 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
1075 (failure_start): ...this. Check that malloc succeeded.
1076 Don't call xvasprintf. Return failure struct.
1077 (failure_append_vtext): New function.
1078 (failure_append_text): Likewise.
1079 (add_failure): Likewise.
1080 (grub_test_assert_helper): Likewise.
1081 * include/grub/test.h (grub_test_assert_helper): New declaration.
1082 (grub_test_assert): Macro rewritten.
1083
537dc9be
VS
10842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
1087
fa3e01bf
VS
10882011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
1091
b1d28404
VS
10922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
1095 into GRUB-style one.
1096
2e3e2e09
VS
10972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
1100 error and not grub_errno.
1101 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1102
ed57e557
VS
11032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
1106 GRUB_USB_SPEED_NONE in case of failure and not the error code.
1107
d1611f01
VS
11082011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * grub-core/efiemu/i386/pc/cfgtables.c
1111 (grub_machine_efiemu_init_tables): Make declaration a prototype.
1112 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
1113 (grub_xnu_unlock): Likewise.
1114 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
1115
7d4e39d6
VS
11162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
1119 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
1120 * grub-core/commands/hashsum.c (aliases): Likewise.
1121 * grub-core/commands/setpci.c (pci_registers): Likewise.
1122 * grub-core/disk/usbms.c (attach_hook): Likewise.
1123 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
1124 (zio_checksum_table): Likewise.
1125 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
1126 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
1127 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
1128 * grub-core/lib/relocator.c (leftovers): Likewise.
1129 (extra_blocks): Likewise.
1130 * grub-core/loader/i386/bsd.c (relocator): Likewise.
1131 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
1132 (modules_last): Likewise.
1133 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
1134 (devices): Likewise.
1135 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
1136 (modules_last): Likewise.
1137 * grub-core/normal/auth.c (users): Likewise.
1138 * grub-core/normal/context.c (initial_menu): Likewise.
1139 (current_menu): Likewise.
1140 * grub-core/normal/crypto.c (crypto_specs): Likewise.
1141 * grub-core/term/serial.c (grub_serial_ports): Likewise.
1142 (grub_serial_terminfo_input_template): Likewise.
1143 (grub_serial_terminfo_output_template): Likewise.
1144 (grub_serial_terminfo_input): Likewise.
1145 (grub_serial_terminfo_output): Likewise.
1146 (registered): Likewise.
1147 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
1148
40fc4659
VS
11492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
1152 grub_video_mode_type_t.
1153 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
1154 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
1155 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
1156
2da48d28
VS
11572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 * util/grub-install.in: Correct the x86-64 name as x86_64.
1160
9b43bf39
CW
11612011-03-11 Colin Watson <cjwatson@ubuntu.com>
1162
1163 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
1164 initial chunk read from the kernel always includes GRUB's multiboot
1165 header, which is now outside the first sector.
1166
be1a7ce0
CW
11672011-03-09 Colin Watson <cjwatson@ubuntu.com>
1168
1169 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
1170 cached mmap_size, so that this works correctly when called multiple
1171 times.
1172 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
1173
83a3c48d
CW
11742011-03-09 Colin Watson <cjwatson@ubuntu.com>
1175
1176 * docs/grub.texi (Simple configuration): Tidy up formatting.
1177
57d75699
SJ
11782011-03-07 Szymon Janc <szymon@janc.net.pl>
1179
1180 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
1181 Set-but-not-used variable removed.
1182
028501a0
VS
11832011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 Workaround yet another IEEE1275 bug.
1186
1187 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1188 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
1189 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
1190 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
1191 is set.
1192 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1193 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
1194
d998657d
VS
11952011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
1198 error.
1199
fee7cdd4
CW
12002011-02-11 Colin Watson <cjwatson@ubuntu.com>
1201
1202 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
1203 empty, since in that case we can only generate either nothing or a
1204 syntactically invalid configuration file.
1205 Reported by: Michal Suchanek. Fixes Debian bug #612898.
1206
97286eb5
CW
12072011-02-09 Colin Watson <cjwatson@ubuntu.com>
1208
1209 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
1210 (Making a GRUB bootable CD-ROM): Likewise.
1211 (Invoking grub-mkrescue): New section.
1212 Reported by: Yann Dirson. Fixes Debian bug #612585.
1213
22b28eb3
CW
12142011-02-09 Colin Watson <cjwatson@ubuntu.com>
1215
1216 * util/grub-install.in: Remove unnecessary brackets from tr
1217 arguments.
1218 * util/grub.d/10_hurd.in: Likewise.
1219 * util/grub.d/10_kfreebsd.in: Likewise.
1220 * util/grub.d/10_linux.in: Likewise.
1221 * util/grub.d/20_linux_xen.in: Likewise.
1222 Reported by: Jamie Heilman. Fixes Debian bug #612564.
1223
7e735e43
CW
12242011-02-08 Colin Watson <cjwatson@ubuntu.com>
1225
1226 * include/grub/file.h (not_easly_seekable): Rename to ...
1227 (not_easily_seekable): ... this. Update all users.
1228
800f1881
CW
12292011-01-28 Colin Watson <cjwatson@ubuntu.com>
1230
1231 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
1232 grub-mkrescue.
1233
3281d3d6
VS
12342011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * util/grub-mkimage.c (generate_image): Refuse to create the images
1237 bigger than the actual flash (512K) in Loongson machines. 512K is also
1238 the biggest chip supported by them.
1239
3533413c
VS
12402011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
1243
73ae4f4f
VS
12442011-01-22 Anthony DeRobertis <anthony@derobert.net>
1245
1246 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
1247 super_offset field.
1248
37f4f608
VS
12492011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * util/grub-install.in: Ignore install device on platforms
1252 where it doesn't make sense. Always use UUIDs except on pc, efi and
1253 sparc64.
1254 Reported by: Daniel Kahn Gillmor.
1255
03a4ccb5
VS
12562011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
1259
ffc8f4d8
VS
12602011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
1263 (iterate_real): Don't rely on partition being non-NULL.
1264
80f23be7
VS
12652011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
1268 supported platforms. Put a compile time assert for this rather than
1269 generate a warning with 32-bit shift.
1270
5d4f4dd5
VS
12712011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
1274 logical expression more readable.
1275
e489601a
VS
12762011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
1279 even if some elements have a name.
1280 Reported by: Alexander GQ Gerasiov.
1281
96e0a6ea
CW
12822011-01-22 Colin Watson <cjwatson@ubuntu.com>
1283
1284 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
1285 path unreadable if `grub-probe -t abstraction' fails, for example if
1286 memberlist fails on an LVM volume group.
1287 Reported by: Darius Jahandarie.
1288
81431e2b
CW
12892011-01-22 Colin Watson <cjwatson@ubuntu.com>
1290
1291 * docs/grub.texi (Simple configuration): Document
1292 GRUB_PRELOAD_MODULES.
1293
5e79d66a
CW
12942011-01-17 Colin Watson <cjwatson@ubuntu.com>
1295
1296 * .bzrignore: Remove nonexistent grub-pbkdf2.
1297
646ada34
VS
12982011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * configure.ac: Bump version to 1.99~rc1.
1301
04360337
VS
13022011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
1305 for safety.
1306
46c9db88
VS
13072011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
1310 module.
1311
13122011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
1313
1314 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
1315
4fbf1852
VS
13162011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
1319 diskdevid.
1320
f1632d4d
VS
13212011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 Fix compilation on cygwin.
1324
1325 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
1326 -R .drectve on cygwin.
1327 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
1328 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
1329 (COND_CYGWIN): New condition.
1330 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
1331 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
1332 not @TARGET_OBJ2ELF@.
1333 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
1334 type to determine whether aux is to be used.
1335
0b5e127b
VS
13362011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
1339 realpath'ed device string.
1340 Handle floppy (somewhat).
1341 Issue error in unknown case rather than garbage.
1342 Reported by: Axel Beckert.
1343
173b71e9
VS
13442011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * util/grub.d/00_header.in (load_video): Handle the case when no video
1347 drivers available.
1348 Thanks to: Axel Beckert.
1349
f8f479db
VS
13502011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
1353 variable. Fixes problem on big endian platforms.
1354
8fc0a245
VS
13552011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
1358 It doesn't work well there.
1359
b8494fbe
VS
13602011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
1363 warning.
1364 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
1365 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
1366 counter.
1367
b44a558c
VS
13682011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 Use alias->path rather than buggy "canon".
1371
1372 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
1373 (ofdisk_hash_add): New argument curcan. All users updated.
1374
51fa856c
CW
13752011-01-11 Colin Watson <cjwatson@ubuntu.com>
1376
1377 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
1378
9da068a5
VS
13792011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
1382 loadmask before doing any calculations. Use correct type for offset.
1383 (grub_linux_load64): Likewise.
1384
86205c94
CW
13852011-01-11 Colin Watson <cjwatson@ubuntu.com>
1386
1387 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
1388 with NULL.
1389 (console_grub_equivalences_unshift): Likewise.
1390 Reported by: Daniel Dehennin.
1391
4531a206
VS
13922011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
1395 (set_env_limn_ro): Likewise.
1396 (GRUB_MOD_INIT): Likewise.
1397 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
1398 ARRAY_SIZE while on it.
1399 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
1400 * grub-core/normal/context.c (grub_env_export): Move from here ...
1401 * grub-core/kern/env.c (grub_env_export): ... here.
1402 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
1403 prefix.
1404 * grub-core/kern/main.c (grub_main): Export root and prefix.
1405 * include/grub/env.h (grub_env_export): Export.
1406 Reported by: Seth Goldberg.
1407
45146057
VS
14082011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1411 Take into account space used by ELF sections and multiboot palette.
1412 Reported by: Grégoire Sutre.
1413
f093110b
VS
14142011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * BUGS: New file.
1417
3395fe52
VS
14182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 Pass more appropriate video id to Linux.
1421
1422 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
1423 grub_video_get_driver_id and variable gfxpayloadforcelfb to
1424 fill have_vga.
1425 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
1426 shift params->lfb_size.
1427 * include/grub/i386/linux.h: Make an enume out of have_vga values.
1428
c2fa6cbb
VS
14292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * util/grub-menulst2cfg.c: Add missing include of misc.h.
1432
b3ff6ff0
VS
14332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
1436 separator and pass bootpath/devid even if only one of them is available.
1437 Reported by: Seth Goldberg.
1438
ae67942e
VS
14392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
1442 implementations bug on them.
1443
1444 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
1445 memory.
1446 (filter_memory_map): Likewise.
1447
d570097a
VS
14482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
1451 Reported by: nebuchadnezzar.
1452
a508e776
VS
14532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
1456 Reported by: nebuchadnezzar.
1457
dcb883b1
VS
14582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 Submenu default support.
1461
1462 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
1463 auto_boot. All users updated.
1464 Declared static.
1465 Handle chosen and default with submenus.
1466 (grub_menu_execute_with_fallback): Declared static.
1467 Don't notify failure if autobooted. Upper level does it.
1468 (menuentry_eq): New function.
1469 (get_entry_number): Use menuentry_eq.
1470 (show_menu): New parameter "autobooted". All users updated.
1471 (grub_show_menu): Likewise.
1472 * include/grub/normal.h (grub_show_menu): Likewise.
1473 * include/grub/menu.h (grub_menu_execute_entry): Removed.
1474 (grub_menu_execute_with_fallback): Likewise.
1475
6fef99b4
VS
14762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * util/grub-mklayout.c (usage): Update help text.
1479
47a77af5
VS
14802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
1483
ce6bb3ee
VS
14842011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * util/grub-menulst2cfg.c (main): Trim the line.
1487
db87be2a
VS
14882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
1491 (grub_machine_init): Don't check amount of low memory as reportedly
1492 INT 12h can be broken and if low memory is too low we wouldn't have
1493 gotten into grub_machine_init anyway.
1494
c49849cc
VS
14952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
1498 (grub_machine_mmap_iterate): Take low memory into account
1499
b1969b30
VS
15002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
1503 badfs.
1504 Reported by: TiCPU.
1505
cf0eaf13
VS
15062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
1509 members errors.
1510
1f060f39
GS
15112011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1512
1513 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
1514 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
1515
a21e5672
GS
15162011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1517
1518 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
1519 openbsd and netbsd types being in part_bsd module.
1520
c88172fa
VS
15212011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
1524 (_FILE_OFFSET_BITS): Likewise.
1525 Reported by: Seth Goldberg.
1526
53798c4b
GS
15272011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1528
1529 * configure.ac: Check for libdevmapper header.
1530
e7121b69
VS
15312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
1534 avoid aliasing.
1535 (fzap_lookup): Likewise.
1536 (dnode_get): Likewise.
1537 (make_mdn): Likewise.
1538 (zfs_mount): Likewise.
1539 (fzap_iterate): Use temporary pointer to avoid aliasing.
1540 (grub_zfs_read): Likewise.
1541 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
1542 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
1543 pointers to avoid aliasing.
1544 (grub_cmd_xnu_kernel64): Likewise.
1545 (grub_xnu_load_driver): Likewise.
1546
fc836af9
VS
15472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
1550 aliasing warning.
1551 (grub_cmd_terminal_output): Likewise.
1552 Reported and tested by: Grégoire Sutre.
1553
f9f37648
VS
15542011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
1557 warning.
1558 Reported and tested by: Grégoire Sutre.
1559
ec1dfd63
VS
15602011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * configure.ac: Do CPU substitution even if it's specified explicitly.
1563 Reported and tested by: Alain Greppin.
1564
9462775a
VS
15652011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
1568 Reported and tested by: Alain Greppin.
1569
0fd48e35
VS
15702011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 Satisfy some bison versions need for inttypes.h.
1573
1574 * grub-core/lib/posix_wrap/inttypes.h: New file.
1575 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
1576 (int16_t): Likewise.
1577 (int32_t): Likewise.
1578 (int64_t): Likewise.
1579 Reported and tested by: Alain Greppin.
1580
43f1bc83
VS
15812011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
1584 Silence spurious warning.
1585 Reported and tested by: Alain Greppin.
1586
64d1f041
SJ
15872011-01-07 Szymon Janc <szymon@janc.net.pl>
1588
1589 * docs/grub.texi (Support automatic decompression): Update with xz
1590 decompression support.
1591
25953e10
SJ
15922011-01-07 Szymon Janc <szymon@janc.net.pl>
1593
1594 Improve loaders' kernel command line handling.
1595
1596 * grub-core/lib/cmdline.c: New file.
1597 * include/grub/lib/cmdline.h: Likewise.
1598 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
1599 grub_create_loader_cmdline to create kernel command line.
1600 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1601 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
1602 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
1603 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
1604 (linux): Add lib/cmdline.c on common.
1605
e72d259f
VS
16062011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
1609 inopos might be unaligned.
1610
c0cf26da
VS
16112011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1614 endian transformations.
1615 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1616 Based on report by: Doug Nazar.
1617
0ca09e6c
DN
16182011-01-07 Doug Nazar <nazard.michi@gmail.com>
1619
1620 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
1621 array->members[i].start_sector.
1622 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1623
014b6806
VS
16242011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
1627 Reported and tested by: Grégoire Sutre.
1628
415502c2
CW
16292011-01-06 Colin Watson <cjwatson@ubuntu.com>
1630
1631 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
1632 avoid causing test failures by clearing the screen.
1633
71b6a2b7
CW
16342011-01-06 Colin Watson <cjwatson@ubuntu.com>
1635
1636 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
1637 Fix prefix check to handle the case where dir ends with a slash
1638 (most significantly, "/" itself).
1639 Reported by: Michael Vogt.
1640
b3f8d28a
VS
16412011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 Run terminfo_cls on initing terminfo output to clear the screen and
1644 move the cursor to (0,0).
1645
1646 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
1647 Call grub_terminfo_output_init.
1648 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
1649 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
1650 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
1651
4c3e4f37
VS
16522011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
1655 only when needed.
1656
488f71f1
VS
16572011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
1660 CTRL.
1661
18a38098
VS
16622011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 The E820 type 5 is BADRAM, not EXEC_CODE.
1665
1666 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1667 (GRUB_E820_BADRAM): New define.
1668 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
1669 into reserved. Propagate BADRAM.
1670 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1671 (GRUB_E820_BADRAM): New define.
1672
9eae2084
VS
16732011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
1676 Ignore the memory post-4G.
1677 (grub_relocator_firmware_alloc_region): Additional debug statement.
1678
ebc71d28
VS
16792011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
1682 names.
1683 Reported by: David Pravec.
1684
446fa400
VS
16852011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
1688 BIOSes.
1689
a0159f37
VS
16902011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
1693 Prevent overflow.
1694 (grub_reed_solomon_recover): Likewise.
1695
e5146ca1
VS
16962011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
1699
17002011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
1701
1702 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
1703 variable.
1704
5b1bdf12
CW
17052011-01-04 Colin Watson <cjwatson@ubuntu.com>
1706
1707 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
1708 descriptions of extract_legacy_entries_source and
1709 extract_legacy_entries_configfile.
1710 Reported by: Seung Soo, Ha.
1711
99d925aa
CW
17122011-01-03 Colin Watson <cjwatson@ubuntu.com>
1713
1714 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
1715 on devices that do not implement function 0.
1716
4af0504b
DV
17172011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
1718
1719 * grub-core/fs/hfsplus.c: Make parent unsigned.
1720 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
1721 overflows.
1722 (grub_hfsplus_cmp_extkey): Likewise
1723
469ee10a
VS
17242011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * util/grub-install.in: Correctly use bootloader_id and not
1727 GRUB_DISTRIBUTOR on efibootmgr line.
1728
323a8e9c
VS
17292011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
1732
1b394975
IC
17332010-12-31 Ian Campbell <ijc@hellion.org.uk>
1734
1735 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
1736 Xen and reorder menu item wording to make it clearer that this entry
1737 will launch Xen. Print separate messages when loading Xen and
1738 Linux.
1739
275bff5f
VS
17402010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
1743 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
1744 loop in case of incorrect amiga partmap.
1745
307806cb
VS
17462010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
1749 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
1750 Reported by:EHeM.
1751
b12b923e
VS
17522010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
1755 spurious warning.
1756 Reported by: crocket
1757
14b48a19
VS
17582010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
1761 Preload EFIemu.
1762 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
1763
693db2df
VS
17642010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
1767 is loaded
1768 (grub_cmd_xnu_kextdir): Likewise.
1769 (grub_cmd_xnu_splash): Likewise.
1770
c7638645
VS
17712010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 Avoid using Reed-Solomon with 0 redundancy.
1774
1775 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
1776 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
1777 or 0 redundancy.
1778 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
1779 (grub_reed_solomon_recover): Likewise.
1780
25dd4780
VS
17812010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 Don't use disk subsystem in freebsd_boot.
1784
1785 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
1786 (freebsd_biosdev): Likewise.
1787 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
1788 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
1789
0b2db943
VS
17902010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 Handling of files of unknown size is currently limited. They can't be
1793 used e.g. for initrd or modules. Moreover gzip handling of not
1794 easily seekable files is buggy. Disable unknown file size for now. May
1795 be inefficient but works.
1796
1797 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
1798 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1799
5c408d0f
MP
18002010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
1801
1802 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
1803 floppy probe.
1804
190a011a
JD
18052010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
1806
1807 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
1808
022d01b8
SL
18092010-12-25 Shea Levy <shlevy>
1810
1811 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
1812
c4855fdc
VS
18132010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
1816 Windows Server 2008.
1817 Reported by: Devin Giddings.
1818
0354b867
VS
18192010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
1822 writing an error message because of async power management.
1823 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
1824 (grub_reboot): Likewise.
1825
ab66c69f
JU
18262010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
1827
1828 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
1829 keep unit tests from failing when they shouldn't.
1830
1426ef35
CW
18312010-12-21 Colin Watson <cjwatson@ubuntu.com>
1832
1833 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
1834 previous patch increased the size of the RS code by 20 bytes (at
1835 least with gcc-4.4), so increase this by 20 bytes to match.
1836 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1837
20641b6b
CW
18382010-12-21 Colin Watson <cjwatson@ubuntu.com>
1839
1840 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
1841 scratch area. Make sure to initialise chosen in standalone mode as
1842 well as non-standalone.
1843 Reported by: Robert Hooker and Andy Whitcroft.
1844 Tested by: Andy Whitcroft.
1845
d060ad60
CW
18462010-12-21 Colin Watson <cjwatson@ubuntu.com>
1847
1848 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
1849 constructing a new unescaped string and passing it to grub_xputs in
1850 one go, rather than passing characters to grub_printf one at a time.
1851
b889cfad
CW
18522010-12-21 Colin Watson <cjwatson@ubuntu.com>
1853
1854 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
1855 initialising utf16.
1856
4e01b6c8
CW
18572010-12-21 Colin Watson <cjwatson@ubuntu.com>
1858
1859 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
1860 comment. Add an extra layer of quotation, requiring the output of
1861 this function to be used in a printf format string.
1862 (gettext_printf): New function.
1863 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
1864 Extract translatable strings from here-documents and use a temporary
1865 variable instead, so that xgettext can find them.
1866 * util/grub.d/10_kfreebsd.in: Likewise.
1867 * util/grub.d/10_linux.in: Likewise.
1868 * util/grub.d/20_linux_xen.in: Likewise.
1869
1870 * po/grub.d.sed: New file.
1871 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
1872 arguments. Set c-format flags on all strings extracted from
1873 util/grub.d/ (xgettext refuses to include these itself for strings
1874 it extracted from a shell file, but these really are c-format).
1875
5318fe98
VS
18762010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
1879 Avoid next pointing to nowhere.
1880
6c85b743
VS
18812010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
1884 rather than assuming than rootblock is exactly in the middle.
1885 (grub_affs_label): Likewise.
1886
a2a08a35
VS
18872010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
1890 reserved_first_sector to 0.
1891 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
1892 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
1893 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
1894
7059d1ec
VS
18952010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 Fix handling of UTF-16 UDF labels.
1898
1899 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
1900 (read_string): .. here.
1901 (grub_udf_label): Use read_string.
1902
30aff4cb
BC
19032010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
1904
1905 * grub-core/normal/menu_entry.c (run): Execute commands from menu
1906 editor under argument scope.
1907 Reported by: Jordan Uggla
1908
5cf86f4b
VS
19092010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
1912
32570200
CW
19132010-12-18 Colin Watson <cjwatson@ubuntu.com>
1914
1915 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
1916 line, and other keys scroll an entire page (previous handling was
1917 for \r and \n to scroll a page and other keys to scroll two lines).
1918
e1dffcf2
VS
19192010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1922 Set ptrdest to correct get_physical_target_address rather than
1923 incorrect get_virtual_current_address.
1924
b04298cf 19252010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
1926
1927 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
1928 correct cat to grub_uint8_t * rather than grub_uint32_t *.
1929
5367ecd3
CW
19302010-12-10 Colin Watson <cjwatson@ubuntu.com>
1931
1932 * .bzrignore: Ignore grub-core/rs_decoder.S.
1933
1fb430f8
CW
19342010-12-10 Colin Watson <cjwatson@ubuntu.com>
1935
1936 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
1937 .mo/.mo.gz opening sequence to ...
1938 (grub_mofile_open_lang): ... here.
1939 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
1940 * util/grub.d/00_header.in (grub_lang): Include country part of
1941 locale.
1942 Reported by: Mario Limonciello.
1943
a94a6671
RM
19442010-12-09 Robert Millan <rmh@gnu.org>
1945
1946 * NEWS: Document addition of ZFS support.
1947
24b7938b
CW
19482010-12-04 Colin Watson <cjwatson@ubuntu.com>
1949
1950 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
1951 rather than `/ 2', as the latter requires -Wa,--divide which would
1952 require bumping our minimum binutils version.
1953
bddc3ef6
BC
19542010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
1955
1956 * util/grub-script-check.c (main): Print script line number on
1957 error.
1958
bf78d5b2
RM
19592010-12-01 Robert Millan <rmh@gnu.org>
1960
1961 * grub-core/fs/zfs/zfs.c: New file.
1962 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
1963 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
1964 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
1965 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1966
1967 * include/grub/zfs/dmu.h: Likewise.
1968 * include/grub/zfs/dmu_objset.h: Likewise.
1969 * include/grub/zfs/dnode.h: Likewise.
1970 * include/grub/zfs/dsl_dataset.h: Likewise.
1971 * include/grub/zfs/dsl_dir.h: Likewise.
1972 * include/grub/zfs/sa_impl.h: Likewise.
1973 * include/grub/zfs/spa.h: Likewise.
1974 * include/grub/zfs/uberblock_impl.h: Likewise.
1975 * include/grub/zfs/vdev_impl.h: Likewise.
1976 * include/grub/zfs/zap_impl.h: Likewise.
1977 * include/grub/zfs/zap_leaf.h: Likewise.
1978 * include/grub/zfs/zfs.h: Likewise.
1979 * include/grub/zfs/zfs_acl.h: Likewise.
1980 * include/grub/zfs/zfs_znode.h: Likewise.
1981 * include/grub/zfs/zil.h: Likewise.
1982 * include/grub/zfs/zio.h: Likewise.
1983 * include/grub/zfs/zio_checksum.h: Likewise.
1984
1985 * Makefile.util.def: Build ZFS into libgrubmods.
1986 * grub-core/Makefile.core.def: Build zfs.mod.
1987
3f0f3831
SJ
19882010-11-30 Szymon Janc <szymon@janc.net.pl>
1989
1990 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
1991 variable.
1992 * grub-core/commands/wildcard.c (match_files): Likewise.
1993
3a4253b2
RM
19942010-11-30 Robert Millan <rmh@gnu.org>
1995
1996 * grub-core/loader/i386/bsd.c
1997 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
1998 whether kernel is loaded using grub_loader_is_loaded(), rather
1999 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
2000 certain error conditions.
2001
8c317b27
RM
20022010-11-30 Robert Millan <rmh@gnu.org>
2003
c5c9cd3e
RM
2004 * grub-core/commands/echo.c: Include `<grub/term.h>'.
2005 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 2006
49d3ab46
VS
20072010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 Avoid using tricks for initialising endian variables.
2010
2011 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
2012 Make const.
2013 (GRUB_MOD_INIT): Don't byte-swap.
2014 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
2015 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
2016 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
2017 (grub_swap_bytes32_compile_time): Likewise.
2018 (grub_cpu_to_le32_compile_time): Likewise.
2019 (grub_cpu_to_le16_compile_time): Likewise.
2020
f420a804
VS
20212010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 * util/grub-setup.c (setup): Stop recommending --force. People who
2024 understand the dangers of blocklists are able to find this option
2025 anyway and the ones who don't shouldn't use it anyway.
2026
4e7db17b
RM
20272010-11-26 Robert Millan <rmh@gnu.org>
2028
2029 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
2030 Update all users.
2031
9be57a0d
CW
20322010-11-26 Colin Watson <cjwatson@ubuntu.com>
2033
2034 Fix LVM-on-RAID probing.
2035
2036 * util/grub-probe.c (probe): Remember which disk was detected as
2037 RAID (perhaps an LVM physical volume). Use that disk's raidname
2038 rather than that of the top-level disk.
2039
2c7859b3 20402010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 2041
d7647bb6
BC
2042 Fix cmdline argument quotes for setparams command of menuentry
2043 definitions.
7e623b0d
BC
2044
2045 * grub-core/commands/menuentry.c (setparams_prefix): Use single
2046 quotes for arguments.
f866fe80 2047 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 2048 grub_strchrsub function instead.
f866fe80 2049
7955bea0 2050 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 2051
74f72a64
CW
20522010-11-24 Colin Watson <cjwatson@ubuntu.com>
2053
2054 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
2055 effort by skipping "." and ".." entries up-front.
2056 Suggested by: Michael Lazarev.
2057
5a407278
CW
20582010-11-24 Colin Watson <cjwatson@ubuntu.com>
2059
2060 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
2061 ldflags to ldadd, to fix link line ordering.
2062 (none_decompress): Likewise.
2063
3030d8ec
CW
20642010-11-24 Colin Watson <cjwatson@ubuntu.com>
2065
2066 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
2067 platforms.
2068 (grub-emu-lite): Remove kern/emu/cache.S.
2069
b7fbac12
CW
20702010-11-23 Colin Watson <cjwatson@ubuntu.com>
2071
2072 * util/deviceiter.c (compare_devices): If the by-id link for a
2073 device couldn't be resolved, fall back to sorting by the by-id link
2074 rather than segfaulting.
2075 Reported and tested by: Daniel Mierswa.
2076
5225f328
CW
20772010-11-23 Colin Watson <cjwatson@ubuntu.com>
2078
2079 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
2080 ldflags, to fix link line ordering.
2081
038b3ce8
CW
20822010-11-23 Colin Watson <cjwatson@ubuntu.com>
2083
2084 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
2085 linkers are picky about this.
2086
bf16e98e
CW
20872010-11-23 Colin Watson <cjwatson@ubuntu.com>
2088
2089 * grub-core/Makefile.am (command.lst): Adjust sed expression
2090 ordering so that extended and priority commands aren't treated as
2091 ordinary commands.
2092
7242bab6
CW
20932010-11-23 Colin Watson <cjwatson@ubuntu.com>
2094
2095 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
2096 Remove byte-swapping function calls, which are not valid in
2097 structure initialisers.
2098 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
2099 non-const.
2100 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
2101 grub_gpt_partition_type_bios_boot.
2102
14e8b279
CW
21032010-11-22 Colin Watson <cjwatson@ubuntu.com>
2104
2105 Fix test program build on GNU/kFreeBSD.
2106
2107 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
2108 $(LIBNVPAIR)' library dependencies.
2109
e6f63338 21102010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
2111
2112 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
2113
cf8ffc38
CW
21142010-11-22 Colin Watson <cjwatson@ubuntu.com>
2115
2116 * util/grub-install.in: Remove excessive quoting that broke
2117 installations to RAID devices.
2118
7f8b0fd7
VS
21192010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
2122 bootloader version instead of 0.
2123
dfd240b1
VS
21242010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
2127 warning.
2128
7b61e609
VS
21292010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
2132 retrieve the metadat sector if size isn't known.
2133 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2134
9dfe92d0
RM
21352010-11-18 Robert Millan <rmh@gnu.org>
2136
2137 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
2138 with grub_memcmp().
2139
41cc919e
VS
21402010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
2143 arrow.
2144 Reported by: Jordan Uggla.
2145
1afcc914
VS
21462010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 Make better UTF compliant.
2149
2150 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
2151 sequences as incorrect.
2152 (grub_is_valid_utf8): Likewise.
2153 (grub_utf8_to_ucs4): Likewise.
2154 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
2155 (grub_ucs4_to_utf8_alloc): Likewise.
2156 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
2157
f1808884
VS
21582010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 Make legacy_source behave like source.
2161
2162 * grub-core/commands/legacycfg.c (legacy_file): Don't call
2163 grub_show_menu.
2164 (grub_cmd_legacy_source): Call grub_show_menu if needed.
2165
24ec575b
CW
21662010-11-16 Colin Watson <cjwatson@debian.org>
2167
2168 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
2169 (-Wunused implies -Wunused-parameter, but not vice versa).
2170
72b7c7aa
CW
21712010-11-16 Colin Watson <cjwatson@ubuntu.com>
2172
2173 * configure.ac: Make error messages less confusing by testing for
2174 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
2175 accepted, but produces a diagnostic if something else is wrong).
2176
e98937aa
VS
21772010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
2180 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
2181 (now unused).
2182 (grub_keyboard_controller_init)
2183 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
2184 read the initial state since controller isn't inited yet.
2185
f6bbabc3
VS
21862010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
2189 allocate_regbeg may need to create new chunk header.
2190
22e7dbb2
VS
21912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 Fix quoting in legacy parser.
2194
2195 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
2196 single quotes.
2197 (grub_legacy_parse): Likewise.
2198 Reported by: Jordan Uggla.
2199 Tested by: Jordan Uggla.
2200
03f80960
VS
22012010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 Don't add -lgcc on i386 and x86_64.
2204
2205 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
2206 * conf/Makefile.common (LDADD_KERNEL): Likewise.
2207 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
2208
779dc15b
VS
22092010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * configure.ac: Add -Wno-trampolines when supported.
2212
d20a3b37
MV
22132010-11-14 Modestas Vainius <modax@debian.org>
2214
2215 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
2216 fakeraid.
2217
e5360933
GC
22182010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2219
2220 Add generic logical block size support for UDF.
2221
2222 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
2223 (GRUB_UDF_BLKSZ): Removed.
2224 (struct grub_udf_data): New field "lbshift" to hold the logical block
2225 size of the file system in log2 format. All users updated.
2226 (sblocklist): Change type to unsigned.
2227 (grub_udf_mount): Change type of "sblklist" to unsigned.
2228 Move AVDP search before VRS recognition, because the latter requires
2229 knowledge of the logical block size, which is detected during the
2230 former.
2231 Detect and validate logical block size during AVDP search, adding
2232 support for block sizes 512, 1024 and 4096.
2233 Make VRS recognition independent of block size.
2234
cb0229c5
GC
22352010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2236
2237 Properly handle deleted files on UDF.
2238
2239 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
2240 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
2241 set.
2242
406858a8
GC
22432010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2244
2245 Support reading files larger than 2 GiB.
2246
2247 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
2248 "offset" to grub_off_t.
2249 (grub_udf_read_file): Likewise for parameter "pos".
2250
130da6a7
VS
22512010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
2254 unavailable.
2255 (Simple configuration): Refer to Changes from GRUB Legacy about
2256 save_env availability.
2257
65e93f6b
VS
22582010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * util/grub-install.in: Ignore empty partition table detection
2261 instead of trying to include part_ module.
2262
1fd08bf1
VS
22632010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
2266 LVM on RAID support.
2267
de1a024f
VS
22682010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 Properly define WORDS_BIGENDIAN in wrapped environments.
2271
2272 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
2273 definition.
2274 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
2275
2276 Reported by: Manoel Rebelo Abranches.
2277 Tested by: Manoel Rebelo Abranches.
2278
bc5dd0b9
VS
22792010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * util/grub-mkconfig.in: Fix quoting.
2282
58c184be
VS
22832010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 Support big ext2 files.
2286
2287 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
2288 (grub_ext2_read_block): Support triple indirect blocks.
2289 (grub_ext2_read_file): Use 64-bit types and read size_high.
2290 (grub_ext2_open): Read size_high.
2291 Reported by: Ximin Luo.
2292 Tested by: Manoel Rebelo Abranches.
2293
5f0c02b3
VS
22942010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * util/grub-install.in: Handle filenames containing spaces.
2297 Reported by: Jordan Uggla.
2298 Tested by: Jordan Uggla.
2299
4417aae6
VS
23002010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * util/grub-mkconfig.in (grub_script_check): New variable.
2303 Use grub_script_check instead of grub-script-check.
2304 Reported by: Barry Jackson.
2305
7625a68e
VS
23062010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * docs/grub.texi (menu): Correct the order.
2309 Reported by: D. Hugh Redelmeier.
2310
10001ac5
VS
23112010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
2314 jump.
2315
9c4cf53b
MRA
23162010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2317
10001ac5
VS
2318 * include/grub/elfload.h (grub_elf32_size): New parameter.
2319 All users updated.
9c4cf53b
MRA
2320 Return maximum segments alignment.
2321 (grub_elf64_size): Likewise.
2322 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
2323 Return maximum segments alignment.
2324 (grub_elf64_size): Likewise.
2325 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
2326 (grub_linux_claimmap_iterate): New function. Uses the
2327 "available" property in the "memory" node for memory allocation
2328 for kernel in the PowerPC loader.
9c4cf53b
MRA
2329 (grub_linux_load32): Correctly find linux entry point offset.
2330 (grub_linux_load64): Likewise.
2331
d2bf06bf
RM
23322010-11-07 Robert Millan <rmh@gnu.org>
2333
2334 On mips-yeeloong, build with -march=loongson2f when this flag is
2335 available (GCC >= 4.4).
2336 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
2337 `-march=mips3'.
2338 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
2339 or otherwise add -march=mips3.
2340
898c99a2
BC
23412010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
2342
87220a68
BC
2343 Suppress shell expansion on echo '*' and echo "*" like cases.
2344 Reported by: Jordan Uggla.
898c99a2
BC
2345
2346 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2347 string arguments before shell expansion.
2348 * tests/grub_cmd_echo.in: New testcases.
2349
4f9b406a
RM
23502010-11-07 Robert Millan <rmh@gnu.org>
2351
2352 * conf/mips-qemu-mips.rmk: Remove stale file from previous
2353 transition.
2354
80c6d25e
VS
23552010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 * grub-core/kern/emu/hostdisk.c
2358 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
2359
4a1a0153
VS
23602010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
2363 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
2364 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
2365
34706ddc
VS
23662010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
2369
6972dea9
VS
23702010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 * util/grub-install.in: Replace useless recomendation to pass
2373 --modules with a recomendation to report a bug.
2374
9c693bd6
VS
23752010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 Properly register serial terminfo.
2378 Reported by: Jordan Uggla
2379
2380 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
2381 const.
2382 (grub_serial_terminfo_output_template): Likewise.
2383 (grub_cmd_serial): Register "serial" with terminfo.
2384 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
2385 grub_serial_terminfo_output.
2386
6c9e4c0c
RM
23872010-11-05 Robert Millan <rmh@gnu.org>
2388
2389 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
2390 needed).
2391
b9b3839f
RM
23922010-11-05 Robert Millan <rmh@gnu.org>
2393
2394 On Yeeloong, pass machine type information to Linux.
2395
2396 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
2397 (LOONGSON_MACHTYPE): New macro, set to
2398 "machtype=lemote-yeeloong-2f-8.9inches".
2399 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
2400 additional argument to Linux.
2401
1a3aaff4
RM
24022010-11-04 Robert Millan <rmh@gnu.org>
2403
2404 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
2405 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
2406 (its SATA disks are detected as slaveless IDE master drives on
2407 kFreeBSD).
2408 Reported by Carsten Aulbert.
2409
a75f4f62
CW
24102010-11-02 Colin Watson <cjwatson@ubuntu.com>
2411
2412 * util/bin2h.c (main): Fix spelling error in generated output.
2413
33b4b0c6
GS
24142010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
2415
2416 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
2417
2b36fbf4
VS
24182010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
2421 vga= option is supplied.
2422
74aaf558
VS
24232010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
2426 * util/grub.d/10_kfreebsd.in: Likewise.
2427 * util/grub.d/10_linux.in: Likewise.
2428 * util/grub.d/20_linux_xen.in: Likewise.
2429
6428dec3
VS
24302010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
2433 argument as an argument to no-argument option.
2434
f8729d98
VS
24352010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * util/grub.d/10_linux.in: Add missing load_video with explicit
2438 GRUB_GFXPAYLOAD_LINUX.
2439
89d68fa6
VS
24402010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
2443
3a1197cd
VS
24442010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
2447 elements with invlid index.
2448 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2449 * grub-core/disk/raid.c (insert_array): Automatically reallocate
2450 members.
2451 * include/grub/raid.h (grub_raid_member): New struct.
2452 (grub_raid_array): Transform devices and start_sector into usage of
2453 grub_raid_member. All users updated
2454 (allocated_devs): New member.
2455
71574288
VS
24562010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
2459 is modified
2460
8d40ec65
BC
24612010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
2462
2463 NetBSD build fix for getline function conflict from gnulib.
2464
2465 * Makefile.util.def (libgrubkern.a): New library for grub kernel
2466 components that depend on gnulib headers.
2467 (libgrubmods.a): Renamed from earlier libgrub.a.
2468 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
2469
95b9257e
VS
24702010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
2473 install rather than creating a broken install.
2474
26c53dc6
VS
24752010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * util/grub-setup.c (argp): Remove misleading example of installing to
2478 a partition.
2479
4171b3c5
VS
24802010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * util/grub-setup.c (setup): Clarify the error message.
2483
18568d18
VS
24842010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
2487
4f6a2e21
VS
24882010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 * grub-core/kern/emu/misc.c
2491 (grub_make_system_path_relative_to_its_root)
2492 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
2493
24942010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
2495
2496 * grub-core/kern/emu/misc.c
2497 (grub_make_system_path_relative_to_its_root): Revert r2882.
2498
e138c458
VS
24992010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
2502 useless field head. All users updated.
2503 (free_subchunk): Correct handling of IN_REGION subchunk.
2504
0cbcdf0e
CW
25052010-10-22 Colin Watson <cjwatson@ubuntu.com>
2506
2507 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
2508 (Supported kernels): Likewise.
2509
b65ea155
GS
25102010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2511
2512 Make mktemp invocations portable.
2513
2514 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
2515 exit if mktemp fails.
2516 * tests/grub_script_blockarg.in: Likewise.
2517 * tests/partmap_test.in: Likewise.
2518 * tests/util/grub-shell-tester.in: Likewise.
2519 * tests/util/grub-shell.in: Likewise.
2520 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2521 * Makefile.am: Likewise, and chain shell commands with `&&'
2522 instead of ';'.
2523 * util/grub-mkrescue.in: Use the same explicit template as above, and
2524 exit if mktemp fails.
2525
05f43cdd
BC
25262010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
2527
2528 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
2529 Linux kernel, reported by Dennis Schridde.
2530
800e6a9b
SJ
25312010-10-17 Szymon Janc <szymon@janc.net.pl>
2532
2533 * grub-core/normal/auth.c (grub_auth_check_authentication):
2534 Set-but-not-used variable removed.
2535
d82df574
VS
25362010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * docs/grub.texi (GNU/Linux): Document APM unavailability with
2539 32-bit linux protocol.
2540
7bced458
VS
25412010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
2544 cursor shape for sanity.
2545
5b027690
VS
25462010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 * docs/grub.texi (Installation): Document buggy BIOS install.
2549
ba5f65cf
VS
25502010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * docs/grub.texi (Installation): Indent.
2553
fdf2ec9c
VS
25542010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * util/grub-setup.c (setup): New parameter allow_floppy.
2557 (arguments): New member allow_floppy.
2558 (argp_parser): Handle --allow-floppy.
2559 (main): Pass allow_floppy.
2560 * util/grub-install.in: New option --allow-floppy passed though to
2561 grub-setup.
2562
861dfd4c
VS
25632010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * util/grub-install.in: Handle partitionless disks.
2566
f77a8c24
VS
25672010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * util/grub-setup.c (setup): Don't clean blocklists before readability
2570 verfification.
2571
27d9ee32
VS
25722010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * docs/grub.texi (Installation): Document embedding zone. Remove
2575 obsolete grub-install example.
2576
6bdda8f8
SJ
25772010-10-16 Szymon Janc <szymon@janc.net.pl>
2578
2579 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2580 Set-but-not-used variable ifdef'ed.
2581 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
2582 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
2583 variable removed.
2584 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
2585 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
2586 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
2587 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
2588 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
2589 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2590 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
2591 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
2592 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2593 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
2594 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
2595 Likewise.
2596
e19b016b
VS
25972010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
2600 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
2601 enum value.
2602
6c8d3002
VS
26032010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
2606 synonym to _S5_. Needed for some DSDTs.
2607
c32b51c9
VS
26082010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 Userspace ACPI parser debugging.
2611
2612 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
2613 headers and add relevant defines. Don't include standard headers.
2614 (main) [GRUB_DSDT_TEST]: New function.
2615 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
2616 Don't declare functions.
2617
fbfbeb39
VS
26182010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 Remove dead grub_efi_mm_fini.
2621
2622 * grub-core/kern/efi/mm.c (allocated_page): Removed.
2623 (ALLOCATED_PAGES_SIZE): Likewise.
2624 (MAX_ALLOCATED_PAGES): Likewise.
2625 (allocated_pages): Likewise.
2626 (grub_efi_allocate_pages): Don't record allocated pages.
2627 (grub_efi_free_pages): Likewise.
2628 (grub_efi_mm_init): Likewise.
2629 (grub_efi_mm_fini): Removed.
2630
65f7ed7c
VS
26312010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
2634 (grub_efi_mm_init): Take into account the memory map size increase.
2635
24977b44
VS
26362010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
2639 (serial_hw_put): Wait based on real time rather than port reads. Don't
2640 roken ports.
2641 * include/grub/serial.h (grub_serial_port): New field broken.
2642
1eb01cd2
RM
26432010-10-16 Robert Millan <rmh@gnu.org>
2644
2645 * grub-core/kern/emu/misc.c
2646 (grub_make_system_path_relative_to_its_root): Fix premature return
2647 when processing non-root ZFS filesystems.
5f8b440b 2648 Reported by Sergio Talens-Oliag.
1eb01cd2 2649
2d5fed60
RM
26502010-10-15 Robert Millan <rmh@gnu.org>
2651
2652 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
2653 guarantee compressed ones are processed first.
2654
d0f4c1ea
VS
26552010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
2658 grub_efiemu_autocore.
2659
d87c681f
VS
26602010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
2663 rather than 0x1b.
2664 (grub_console_getkey): Use correct jae opcode rather than ja.
2665
219b3564
RM
26662010-10-12 Robert Millan <rmh@gnu.org>
2667
2668 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
2669 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
2670 variable. All references updated.
2671
2672 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
2673
20c6bb7e
VS
26742010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 Correctly distinguish mdraid flavours.
2677
2678 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
2679 (insert_array): New argument raid.
2680 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
2681 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
2682 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
2683
74baff84
VS
26842010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
2687 handling of special keys.
2688
3ef068df 26892010-10-02 Aleš Nesrsta <starous@volny.cz>
2690
c7980ad9
VS
2691 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
2692 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 2693
a9455194 26942010-10-02 Aleš Nesrsta <starous@volny.cz>
2695
c7980ad9
VS
2696 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
2697 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
2698 users updated.
a9455194 2699 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 2700 Use right endpoint when querying descriptor.
a9455194 2701
441cfe65
VS
27022010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 Clear out 0x80 color bit on EFI.
2705 Tested by: decoder
2706 Reported by: decoder and meta tech.
2707
2708 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
2709 (grub_console_setcolorstate): Clear out 0x80 bit.
2710 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
2711 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
2712 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
2713
bf26bcc4
VS
27142010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
2717 Set to "auto".
2718
6e3c515d
VS
27192010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
2722 mo_file after freeing.
2723
e6d983ba
VS
27242010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
2727
74ccb5b5
VS
27282010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
2731 flags.
2732
17821956
VS
27332010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
2736 usage.
2737
ee74fa48
VS
27382010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 Put terminfo into core on ieee1275 and yeeloong (needed for console).
2741
2742 * gentpl.py: New groups terminfoinkernel and terminfomodule.
2743 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
2744 and terminfo.h when needed.
2745 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
2746 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
2747 (terminfo): Enable only on terminfokernel.
2748 (extcmd): Likewise.
2749 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
2750 * include/grub/lib/arg.h: Likewise.
2751 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
2752 incorrect usage of ->.
2753
aa438e68
VS
27542010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
2757 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
2758
57994012
VS
27592010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 Fix coreboot compilation.
2762
2763 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2764 Take VBE info into account even if only text is supported.
2765 (fill_vbe_info): Take into account the case when only VGA text
2766 is supported.
2767 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
2768 on coreboot, multiboot and qemu.
2769
2a406611
VS
27702010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
2773 debug messages.
2774 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
2775
d33613fc
VS
27762010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
2779 parameters.
2780
44a1b432
VS
27812010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
2784 if they were BSD-style.
2785
edde54e6
VS
27862010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * grub-core/boot/i386/pc/lnxboot.S: Replace
2789 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
2790 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
2791
b65830fa
VS
27922010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 Write embedding zone using Reed-Solomon.
2795
2796 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
2797 * grub-core/Makefile.am (rs_decoder.S): New target.
2798 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
2799 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
2800 (multiboot): Move to RS part.
2801 (post_reed_solomon): New label.
2802 (grub_boot_drive): Move to non-RS part since it's modified in memory
2803 on boot.
2804 Include rs_decoder.S.
2805 * grub-core/lib/reed_solomon.c: New file.
2806 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
2807 New definition.
2808 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
2809 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
2810 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
2811 * include/grub/partition.h (grub_partition_map): Change prototype of
2812 embed to allow returning additional sectors.
2813 * include/grub/reed_solomon.h: New file.
2814 * util/grub-setup.c (setup): Handle Reed-Solomon.
2815
0b4b227f
CW
28162010-09-28 Colin Watson <cjwatson@ubuntu.com>
2817
2818 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2819 i386 and x86-64 definedness tests.
2820
f772623b
YB
28212010-09-27 Yves Blusseau <blusseau@zetam.org>
2822
2823 Fix generation of kernel_syms.lst
2824
2825 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
2826 ASM_PREFIX
2827
8e57a6ca
RM
28282010-09-26 Robert Millan <rmh@gnu.org>
2829
2830 Support degraded ZFS arrays in "grub-probe -t device" resolution.
2831
2832 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
2833 the pool is an array of devices, iterate through it and return the
2834 first device that passes a stat() test (instead of blindly returning
2835 the first one).
2836
f9130836
RM
28372010-09-26 Robert Millan <rmh@gnu.org>
2838
2839 Build fixes for GNU/kFreeBSD.
2840
2841 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
2842 to programs that require ZFS conversion.
2843 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
2844 kernels that don't have FLOPPY_MAJOR.
2845
96510faf
BC
28462010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2847
2848 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
2849
449333eb
BC
28502010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2851
2852 Fix grub-emu build.
2853
2854 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
2855 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
2856 mdraid09 and mdraid1x.
2857
e1fd1939
CW
28582010-09-24 Colin Watson <cjwatson@ubuntu.com>
2859
2860 Re-enable grub-extras.
2861
2862 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
2863 avoid confusing Automake. Run autogen only twice, once for the top
2864 level and once for grub-core. Add Makefile.util.def and
2865 Makefile.core.def from extra modules to the appropriate autogen
2866 invocations. If Makefile.common exists in an extra module, include
2867 it in both Makefile.util.am and grub-core/Makefile.core.am;
2868 similarly, include any Makefile.util.common file in Makefile.util.am
2869 and any Makefile.core.common file in grub-core/Makefile.core.am.
2870 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
2871 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
2872 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
2873 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
2874
2875 * gentpl.py (gvar_add): Turn GVARS into a set.
2876 (global_variable_initializers): Sort global variables on output.
2877 (vars_init): New function.
2878 (first_time): Likewise.
2879 (library): Ensure that non-global variable initialisations are
2880 emitted before the first time we emit code for a library block.
2881 Append to variables rather than setting them. Only emit
2882 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
2883 each conditional path.
2884 (program): installdir() emits an Autogen macro, so must be passed to
2885 var_add rather than gvar_add.
2886 (data): Likewise.
2887 (script): Likewise.
2888 (rules): New function, centralising handling for different target
2889 types. Set up Guile association lists for first_time and vars_init,
2890 and send most output to a diversion so that variable initialisations
2891 can be emitted first.
2892 (module_rules): Use new rules function.
2893 (kernel_rules): Likewise.
2894 (image_rules): Likewise.
2895 (library_rules): Likewise.
2896 (program_rules): Likewise.
2897 (script_rules): Likewise.
2898 (data_rules): Likewise.
2899
2900 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
2901
2902 * .bzrignore: Add contrib and grub-core/contrib. Remove
2903 grub-core/Makefile.gcry.am.
2904
1d12cf29
YB
29052010-09-24 Yves Blusseau <blusseau@zetam.org>
2906
2907 * grub-core/lib/LzFind.c: Add missing include.
2908 * grub-core/lib/LzmaEnc.c: Likewise.
2909 * grub-core/script/lexer.c: Likewise.
2910 * grub-core/script/yylex.l: Likewise.
2911 * util/grub-macho2img.c: Likewise.
2912 * util/grub-menulst2cfg.c: Likewise.
2913 * util/grub-mklayout.c: Likewise.
2914 * util/grub-mkpasswd-pbkdf2.c
2915 * util/grub-mkrelpath.c: Likewise.
2916 * util/resolve.c: Likewise.
2917
dd363028
BC
29182010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
2919
2920 * Makefile.util.def (example_unit_test): Add
2921 grub-core/gnulib/libgnu.a.
2922
f5a109e2
GS
29232010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
2924
2925 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
2926
6d0fa83c
VS
29272010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 Support xz compression on yeeloong.
2930
2931 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
2932 * configure.ac: Check for LZMA.
2933 * grub-core/Makefile.core.def (xz_decompress): New target.
2934 (none_decompress): Likewise.
2935 * grub-core/boot/decompressor/minilib.c: New file.
2936 * grub-core/boot/decompressor/none.c: Likewise.
2937 * grub-core/boot/decompressor/xz.c: Likewise.
2938 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
2939 * grub-core/kern/mips/cache_flush.S: Likewise.
2940 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
2941 * grub-core/kern/mips/startup.S: Move first stage to ...
2942 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
2943 nomacro.
2944 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
2945 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
2946 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
2947 Allocate statically.
2948 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
2949 Allocate statically or use scratch. Don't check CRC32.
2950 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
2951 Allocate statically. Don't check CRC32.
2952 * include/grub/decompressor.h: New file.
2953 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
2954 Removed.
2955 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
2956 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
2957 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
2958 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
2959 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
2960 * util/grub-mkimage.c (grub_compression_t): New type.
2961 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
2962 (image_target_desc): New field default_compression.
2963 (image_targets): Adjust yeeloong targets.
2964 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
2965 (compress_kernel): New parameter comp.
2966 (generate_image): Likewise. Handle new compression case.
2967 (options): New option --compression
2968 (help): Likewise.
2969 (main): Handle new option.
2970
1b655af6
GS
29712010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
2972
2973 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
2974
8f03f0b5
CW
29752010-09-22 Colin Watson <cjwatson@ubuntu.com>
2976
2977 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2978 typo in __i386__ conditional.
2979
7835dfd3
VS
29802010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
2983 include.
2984
e255597e
VS
29852010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2986
6d0fa83c 2987 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
2988
2989 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
2990 new tags as supported.
2991 (acpiv2_size): New function.
2992 (grub_multiboot_get_mbi_size): Take new tags into account.
2993 (grub_multiboot_make_mbi): Add new tags.
2994 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 2995
6cc14051 29962010-09-21 Aleš Nesrsta <starous@volny.cz>
2997
2998 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
2999 Added missing configuration of USB device.
3000
df7769d8
CW
30012010-09-21 Colin Watson <cjwatson@ubuntu.com>
3002
3003 * grub-core/normal/menu_entry.c (run): Make sure we always return
3004 a value.
3005
b031012d
CW
30062010-09-21 Colin Watson <cjwatson@ubuntu.com>
3007
3008 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
3009 NumberOfPages is UINT64 according to the UEFI specification, not
3010 UINTN. Fix printf format.
3011
174de8f3
CW
30122010-09-21 Colin Watson <cjwatson@ubuntu.com>
3013
3014 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
3015 `err' to grub_usb_err_t.
3016 Reported and tested by: KESHAV P.R.
3017
d7dbe923
CW
30182010-09-21 Colin Watson <cjwatson@ubuntu.com>
3019
3020 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
3021 tpart non-const, so that we can assign to it. (Since this is a
3022 typedef, the constness refers to the pointer rather than what it
3023 points to.)
3024
8d5e2af3
CW
30252010-09-21 Colin Watson <cjwatson@ubuntu.com>
3026
3027 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
3028 $(top_srcdir)/grub-core/gnulib as well as
3029 $(top_builddir)/grub-core/gnulib.
3030 Reported by: KESHAV P.R.
3031
5c527783
CW
30322010-09-21 Colin Watson <cjwatson@ubuntu.com>
3033
3034 * util/grub-install.in: Fix the bootloader ID option to be
3035 consistently --bootloader-id, not --bootloader_id.
3036 Reported by: KESHAV P.R.
3037
d309a16e
CW
30382010-09-21 Colin Watson <cjwatson@ubuntu.com>
3039
3040 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
3041 check hash checksum." consistently translatable.
3042
b830cd16
YB
30432010-09-21 Yves Blusseau <blusseau@zetam.org>
3044
3045 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
3046 $(top_builddir).
3047
c4fe27a8
CW
30482010-09-21 Colin Watson <cjwatson@ubuntu.com>
3049
3050 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
3051 (GRUB_MOD_INIT): Register sha1sum command.
3052 (GRUB_MOD_FINI): Unregister sha1sum command.
3053
a4c1d277
YB
30542010-09-21 Yves Blusseau <blusseau@zetam.org>
3055
3056 Keep boot and grub directory names in sync with utils scripts
3057
3058 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
3059 * config.h.in: Add previous macros.
3060 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
3061 * util/grub-install.in: Use $bootdir and $grubdir variables.
3062
4eff79d2
CW
30632010-09-21 Colin Watson <cjwatson@ubuntu.com>
3064
3065 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
3066 convert partition names to disk names if the new `convert' parameter
3067 is set.
3068 (grub_util_biosdisk_get_grub_dev): If opening the disk device
3069 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
3070 disk in its own right. This can happen with Xen disk images.
3071
934d7e44
YB
30722010-09-21 Yves Blusseau <blusseau@zetam.org>
3073
3074 * util/grub-editenv.c: Update strings to avoid warnings when generating
3075 grub.pot file.
3076 * util/grub-setup.c: Likewise.
934d7e44 3077
df3367cc
VS
30782010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * configure.ac: Change version to 1.99~beta0.
3081
77a94e98
VS
30822010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3085 Add BADRAM.
3086 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
3087 Likewise.
3088 * include/multiboot.h: Resynced with specification.
3089 * include/multiboot2.h: Likewise.
3090
269004c1
CW
30912010-09-21 Colin Watson <cjwatson@ubuntu.com>
3092
3093 Fix po directory handling.
3094
3095 * configure.ac: Create po/Makefile.in rather than po/Makefile.
3096 * grub-core/gnulib/Makefile.am: Import gettext module.
3097 * m4/gnulib-cache.m4: Likewise.
3098 * m4/gnulib-comp.m4: Likewise.
3099 * m4/gettext.m4: New file, from gnulib.
3100 * m4/glibc2.m4: Likewise.
3101 * m4/iconv.m4: Likewise.
3102 * m4/intdiv0.m4: Likewise.
3103 * m4/intl.m4: Likewise.
3104 * m4/intldir.m4: Likewise.
3105 * m4/intlmacosx.m4: Likewise.
3106 * m4/intmax.m4: Likewise.
3107 * m4/inttypes-pri.m4: Likewise.
3108 * m4/lcmessage.m4: Likewise.
3109 * m4/lib-ld.m4: Likewise.
3110 * m4/lib-link.m4: Likewise.
3111 * m4/lib-prefix.m4: Likewise.
3112 * m4/lock.m4: Likewise.
3113 * m4/nls.m4: Likewise.
3114 * m4/po.m4: Likewise.
3115 * m4/printf-posix.m4: Likewise.
3116 * m4/progtest.m4: Likewise.
3117 * m4/threadlib.m4: Likewise.
3118 * m4/uintmax_t.m4: Likewise.
3119 * m4/visibility.m4: Likewise.
3120 * po/Makefile.am: Remove.
3121 * po/Makefile.in.in: New file, from gettext.
3122 ($(DOMAIN).pot-update): Support POTFILES-shell.
3123 * po/Makevars: New file.
3124 * po/POTFILES-shell: Rename to ...
3125 * po/POTFILES-shell.in: ... this. Update.
3126 * po/POTFILES: Rename to ...
3127 * po/POTFILES.in: ... this. Update.
3128 * po/Rules-quot: New file, from gettext.
3129 * po/boldquot.sed: Likewise.
3130 * po/en@boldquot.header: Likewise.
3131 * po/en@quot.header: Likewise.
3132 * po/insert-header.sin: Likewise.
3133 * po/quot.sed: Likewise.
3134 * po/remove-potcdate.sin: Likewise.
3135
3e0fa5d0
VS
31362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
3139
ade9bd66
VS
31402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * util/grub.d/20_linux_xen.in: Use submenus.
3143
fc55cc4c
VS
31442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 Support submenus.
3147
3148 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
3149 parameter submenu. All users updated.
3150 * grub-core/normal/main.c (free_menu): Rename to ...
3151 (grub_normal_free_menu): ... this. Made global.
3152 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
3153 if requested.
3154 * grub-core/normal/menu_entry.c (screen): New field submenu.
3155 (make_screen): Set submenu.
3156 (run): Open new context if requested.
3157 * include/grub/menu.h (grub_menu_entry): New field submenu.
3158 * include/grub/normal.h (grub_normal_free_menu): New proto.
3159
600cedf7
VS
31602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Menu entries extractor.
3163
3164 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
3165 variants.
3166 (GRUB_MOD_INIT): Register new variants.
3167 (GRUB_MOD_FINI): Unregister new variants.
3168 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
3169 into grub_cmd_legacy_source.
3170 (grub_cmd_legacy_source): Implement extractor variants.
3171 (GRUB_MOD_INIT): Register new variants.
3172 (GRUB_MOD_FINI): Unregister new variants.
3173 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
3174 as an extractor.
3175 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
3176 search as an extractor.
3177 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
3178 test as an extractor.
3179 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
3180 as an extractor.
3181 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
3182 (grub_env_new_context): New function.
3183 (grub_env_context_open): Likewise.
3184 (grub_env_extractor_open): Likewise.
3185 (grub_env_extractor_close): Likewise.
3186 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3187 grub_extractor_level.
3188 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
3189 * include/grub/env.h (grub_env_extractor_open): New proto.
3190 (grub_env_extractor_close): Likewise.
3191 * include/grub/normal.h (grub_extractor_level): New external variable.
3192
7bda3a87
VS
31932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 Make cutmem accept a region specification.
3196 Suggested by: Samuel Thibault
3197
3198 * grub-core/mmap/mmap.c (parsemem): New function.
3199 (grub_cmd_cutmem): Handle new arguments.
3200
2ea57f88
VS
32012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 New command cutmem.
3204
3205 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
3206 (GRUB_MOD_INIT): Register new command.
3207 (GRUB_MOD_FINI): Unregister new command.
3208
74342e31
VS
32092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 Support some annoying BSD and Minix subpartitions.
3212
3213 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
3214 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3215 Properly handle concatenation.
3216 * grub-core/kern/device.c (grub_device_iterate): Likewise.
3217 * grub-core/normal/completion.c (iterate_partition): Likewise.
3218 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
3219 contain partition. All users updated.
3220 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
3221 struct.
3222 (grub_openbsdlabel_partition_map): Likewise.
3223 (bsdlabel_partition_map_iterate): Rename to ..
3224 (iterate_real): ... this. New arguments sector, freebsd and pmap.
3225 (bsdlabel_partition_map_iterate): New function.
3226 (netopenbsdlabel_partition_map_iterate): Likewise.
3227 (netbsdlabel_partition_map_iterate): Likewise.
3228 (openbsdlabel_partition_map_iterate): Likewise.
3229 (GRUB_MOD_INIT): Register new partmaps.
3230 (GRUB_MOD_FINI): Unregister new partmaps.
3231 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
3232 (grub_partition_msdos_iterate): ... this. All users updated.
3233 Don't support embedding other than in a minix partition.
3234 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
3235 proto.
3236 * include/grub/partition.h (grub_partition): New field msdostype.
3237 * util/grub-install.in: Handle openbsd and netbsd types being in
3238 part_bsd module.
3239
1e8d555b
VS
32402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
3243
3244 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
3245 * grub-core/Makefile.core.def (mdraid): Renamed to ...
3246 (mdraid09): ... this.
3247 (mdraid1x): New module.
3248 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
3249 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
3250
899d8af4
VS
32512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
3254 vsprintf.
3255
40901acd
CW
32562010-09-20 Colin Watson <cjwatson@ubuntu.com>
3257
3258 * grub-core/commands/efi/lsefimmap.c: Correct header.
3259 * NEWS: Update.
3260
dfe3b247
CW
32612010-09-20 Colin Watson <cjwatson@ubuntu.com>
3262
3263 * util/grub-editenv.c (argp_parser): Don't pass translated strings
3264 as printf format strings; the translations might contain '%' which
3265 could cause a crash.
3266 (main): Likewise.
3267 * util/grub-fstest.c (argp_parser): Likewise.
3268 * util/grub-setup.c (argp_parser): Likewise.
3269 (main): Likewise.
3270
3286a4b4
VS
32712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 Use argp in grub-fstest.
3274
3275 * util/grub-fstest.c: Don't include getopt.h.
3276 Include argp.h.
3277 (root): New variable.
3278 (args_count): Likewise.
3279 (nparm): Likewise.
3280 (num_disks): Likewise.
3281 (images): Likewise.
3282 (cmd): Likewise.
3283 (debug_str): Likewise.
3284 (args): Likewise.
3285 (options): Transformed to argp.
3286 (usage): Removed.
3287 (main): Split argument parsing into ...
3288 (argp_parser): ... this. Changed to argp format.
3289 (argp): New variable.
3290 (main): Use argp_parse.
3291
3dccbe4b
TG
32922010-09-20 Tristan Gingold <gingold@free.fr>
32932010-09-20 Robert Millan <rmh.grub@aybabtu.com>
32942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * grub-core/commands/efi/lsefimmap.c: New file.
3297 * grub-core/Makefile.core.def (lsefimmap): New module.
3298 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
3299
38c259a7
VS
33002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3301
3302 Pause the execution (10s max) if any errors are displayed so the user
3303 has a chance to see them.
3304
3305 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
3306 (grub_print_error): Increment grub_err_printed_errors.
3307 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
3308 execution if any errors were displayed.
3309 (show_menu): Remove old code for pause.
3310 * grub-core/normal/menu_entry.c (run): Likewise.
3311 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
3312 users updated.
3313 (grub_normal_get_char_counter): Likewise.
3314 * include/grub/err.h (grub_err_printed_errors): New external variable.
3315 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
3316
f218b09c
VS
33172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 Support multiboot VBE info.
3320
3321 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3322 Take VBE info into account.
3323 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
3324 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3325 Call fill_vbe_info when appropriate.
3326 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
3327 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
3328 as supported.
3329 (grub_multiboot_get_mbi_size): Take new tags into account.
3330 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
3331 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3332 Call fill_vbe_tag when appropriate.
3333 (grub_multiboot_make_mbi): Properly align tags.
3334 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
3335 function.
3336 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
3337 proto.
3338 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
3339
a9cc5438
VS
33402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 Suport manual terminal geometry specification.
3343
3344 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
3345 Save state in grub_ofconsole_terminfo_output.
3346 (grub_ofconsole_term): Use grub_terminfo_getwh.
3347 (grub_ofconsole_getwh): Removed.
3348 * grub-core/term/serial.c (grub_serial_getwh): Removed.
3349 (grub_serial_term): Use grub_terminfo_getwh.
3350 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
3351 (options): New struct.
3352 (OPTION_*): New enum.
3353 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
3354 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
3355 width and height.
3356 (grub_terminfo_getwh): New proto.
3357 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
3358
1a8fed20
VS
33592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 Handle legacy "terminal" command.
3362
3363 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
3364 and FLAG_TERMINAL.
3365 (legacy_commands): Add terminal and title.
3366 (grub_legacy_parse): Handle terminal. Simplify title handling.
3367
41e9c57d
VS
33682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
3371 parameters overflow.
3372
61c874c5
CW
33732010-09-20 Colin Watson <cjwatson@ubuntu.com>
3374
3375 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
3376 widthspec.h.
3377
3378 * docs/grub.texi (Shell-like scripting): Document `!'.
3379 (Network): Simplify using new i386-pc-pxe format. Mention
3380 grub-mknetdir.
3381
3382 * NEWS: Update.
3383
943682b4
CW
33842010-09-20 Colin Watson <cjwatson@ubuntu.com>
3385
3386 * Makefile.am (SUBDIRS): Restore "."; it's important to force
3387 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
3388 when needed.
3389
6d3d698d
CW
33902010-09-20 Colin Watson <cjwatson@ubuntu.com>
3391
3392 * grub-core/commands/efi/lsefisystab.c: Correct header.
3393 * grub-core/commands/efi/lssal.c: Likewise.
3394 * grub-core/commands/testload.c: Likewise.
3395
c982589f
CW
33962010-09-20 Colin Watson <cjwatson@ubuntu.com>
3397
3398 * util/grub-mkrescue.in: Add explicit root argument to --set to
3399 prevent the UUID being interpreted as an argument to --set (matches
3400 previous change to prepare_grub_to_access_device).
3401
a63c31b6
CW
34022010-09-20 Colin Watson <cjwatson@ubuntu.com>
3403
3404 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
3405 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
3406 the verbosity of later #ifs.
3407 (find_partition_start): Define this function on FreeBSD too.
3408 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
3409 function.
3410 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
3411 on FreeBSD.
3412
6439b8ee
YB
34132010-09-20 Yves Blusseau <blusseau@zetam.org>
3414
3415 * util/grub-editenv.c: Use argp instead of getopt.
3416
c5930ec8
YB
34172010-09-20 Yves Blusseau <blusseau@zetam.org>
3418
3419 * util/grub-setup.c: Use argp instead of getopt.
3420
15c69261
YB
34212010-09-20 Yves Blusseau <blusseau@zetam.org>
3422
3423 Use gnulib-tool to create gnulib source files.
3424
3425 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
3426 grub-core/gnulib directories
3427 * .bzignore: Add **/.deps and autogenerated gnulib files
3428 * configure.ac: Assign auxiliary directory to build-aux, add invocation
3429 of gnulib macros, add grub-core/gnulib/Makefile
3430 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
3431 include m4 directory to aclocal.
3432 * Makefile.util.def: Remove direct compilation of gnulib source files
3433 and use the new grub-core/gnulib/libgnu.a.
3434 * build-aux/config.rpath: move config.rpath from top directory to
3435 build-aux
3436 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
3437 in gnulib headers
3438 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
3439 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
3440 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
3441 header.
3442 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
3443 string.
3444
e511c9f5
YB
34452010-09-20 Yves Blusseau <blusseau@zetam.org>
3446
3447 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
3448 grub-core/genmod.sh and grub-core/gensyminfo.sh
3449
c2dede05
BC
34502010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
3451
3452 Add a test for echo command options.
3453
3454 * tests/grub_cmd_echo.in: New test.
3455 * Makefile.util.def: Rules for new test.
3456
c55f5018
SJ
34572010-09-20 Szymon Janc <szymon@janc.net.pl>
3458
3459 Remove crc.mod and move crc command to hashsum.mod.
3460 Remove lib/crc.c - users updated to use gcrypt implementation.
3461
3462 * grub-core/commands/crc.c: Removed.
3463 * grub-core/Makefile.core.def (crc): Module removed.
3464 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
3465 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
3466 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
3467 * grub-core/lib/crc.c: Removed.
3468 * include/grub/lib/crc.h: Removed.
3469 * Makefile.util.def (crc): Remove lib/crc.c
3470 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
3471 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
3472 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
3473 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
3474 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
3475 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
3476
e0337366
VS
34772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
3480
742f9232
VS
34812010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 Split config.h for util and core.
3484
3485 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
3486 (ADDR32): Likewise.
3487 (DATA32): Likewise.
3488 (BSS_START_SYMBOL): Likewise.
3489 (END_SYMBOL): Likewise.
3490 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
3491 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
3492 * config.h.in: New file.
3493 * configure.ac: Use config-util.h as config define file.
3494 Rename MACHINE into GRUB_MACHINE. All users updated.
3495 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
3496 updated.
3497 (NESTED_FUNC_ATTR): Likewise.
3498 Substitue new variables.
3499 (COND_HAVE_ASM_USCORE): New conditional.
3500 * grub-core/Makefile.am (ASM_PREFIX): New variable.
3501 (kernel_syms.lst): Use ASM_PREFIX.
3502 * grub-core/kern/emu/console.c: Include config-util.h.
3503 * grub-core/kern/emu/misc.c: Likewise.
3504 * grub-core/kern/emu/mm.c: Likewise.
3505 * include/grub/emu/misc.h: Likewise.
3506 * include/grub/libgcc.h: Likewise.
3507
39feb0e8
VS
35082010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
3511 constants usage.
3512 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
3513 Fix GRUB_TERM_KEY_* constants usage.
3514 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
3515
9af6dac3
VS
35162010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
3519 print pointer.
3520 * grub-core/bus/usb/uhci.c: Remove empty define.
3521 (grub_uhci_check_transfer): Add missing cast.
3522 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
3523 print pointer.
3524 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
3525 PRIuGRUB_SIZE.
3526 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
3527
d6d94820
VS
35282010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * grub-core/Makefile.core.def (legacycfg): Add
3531 lib/i386/pc/vesa_modes_table.c on emu.
3532
3572f2b6
BC
35332010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3534
3535 Reduce number of temporary files generated by build system.
3536
3537 * grub-core/gencmdlist.sh: Removed.
3538 * grub-core/genfslist.sh: Removed.
3539 * grub-core/genhandlerlist.sh: Removed.
3540 * grub-core/genmodsrc.sh: Removed.
3541 * grub-core/genpartmaplist.sh: Removed.
3542 * grub-core/genparttoollist.sh: Removed.
3543 * grub-core/gentermiinallist.sh: Removed.
3544 * grub-core/genvideolist.sh: Removed.
3545
3546 * grub-core/genmod.sh.in: New file.
3547 * grub-core/gensyminfo.sh.in: New file.
3548
3549 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
3550 * conf/Makefile.extra-dist: Update with new files.
3551 * gentpl.py: Remove rules related to unnecessary temporary files.
3552 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
3553 and und-* files.
3554 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
3555 genmod.sh scripts.
3556 * grub-core/bus/usb/uhci.c: Remove empty #define.
3557 * grub-core/genmoddep.awk: Updated with new syminfo format.
3558 * util/bash-completion.d/Makefile.am: Add config.log to
3559 CLEANFILES.
3560
c836b030
YB
35612010-09-19 Yves Blusseau <blusseau@zetam.org>
3562
3563 * Makefile.util.def: Add forgotten $(LIBINTL) library.
3564
2f4e8053
BC
35652010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3566
3567 * util/grub-mkconfig.in: Check the config script for syntax errors
3568 before saving.
3569
75831c34
CW
35702010-09-19 Colin Watson <cjwatson@ubuntu.com>
35712010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * Makefile.util.def (grub-install): Use util/grub-install.in on all
3574 platforms.
3575 * util/grub-install.in: Add EFI and IEEE1275 support.
3576 * util/i386/efi/grub-install.in: Removed.
3577 * util/ieee1275/grub-install.in: Likewise.
3578
eaf41b25
VS
35792010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
3582 (grub_cmd_cmosclean): Likewise.
3583 (GRUB_MOD_INIT): Register command cmosclean.
3584 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
3585 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
3586
1a9130dd
CPE
35872010-09-18 Carles Pina i Estany <carles@pina.cat>
35882010-09-18 Aleš Nesrsta <starous@volny.cz>
35892010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 Add keyboard layouts support.
3592
3593 * Makefile.util.def (grub-mklayout): New file.
3594 (grub-kbdcomp): New script.
3595 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
3596 Add keyboard_layouts.h.
3597 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
3598 commands/boot.c on yeeloong.
3599 (keylayouts): New module.
3600 * grub-core/bus/usb/ohci.c
3601 * grub-core/bus/usb/uhci.c
3602 * grub-core/bus/usb/usbhub.c (rescan): New variable.
3603 (grub_usb_add_hub): Poll interrupt pipe for device handling.
3604 (attach_root_port): Likewise.
3605 (poll_nonroot_hub): Likewise.
3606 (grub_usb_poll_devices): Likewise.
3607 (detach_device): Close transfer.
3608 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
3609 function.
3610 (grub_usb_bulk_setup_readwrite): Likewise.
3611 (grub_usb_bulk_finish_readwrite): Likewise.
3612 * grub-core/commands/keylayouts.c: New file.
3613 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
3614 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
3615 aliases.
3616 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
3617 support scancode 2.
3618 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
3619 * include/grub/keyboard_layouts.h: New file.
3620 * util/grub-mklayout.c: New file.
3621 * util/grub-kbdcomp.in: Likewise.
3622
a1d84a5e
VS
36232010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 Unify memory types.
3626
3627 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
3628 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
3629 types.
3630 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
3631 (grub_upper_mem): Likewise.
3632 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
3633 * include/grub/memory.h (grub_memory_type_t): New enum.
3634 All users updated.
3635
9696382e
VS
36362010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * grub-core/Makefile.core.def (lsapm): New module.
3639 * grub-core/commands/i386/pc/lsapm.c: New file.
3640 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
3641 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
3642 Likewise.
3643 * include/grub/i386/pc/apm.h: New file.
3644 * include/multiboot.h (multiboot_apm_info): New struct.
3645
36462010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 GRUB-legacy configuration file support.
3649
3650 * Makefile.util.def (grub-menulst2cfg): New util.
3651 * docs/man/grub-menulst2cfg.h2m: New file.
3652 * grub-core/Makefile.core.def (legacycfg): New module.
3653 * grub-core/commands/legacycfg.c: New file.
3654 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
3655 (grub_normal_add_menu_entry): ... this.
3656 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
3657 (grub_normal_set_password): ...this.
3658 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
3659 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
3660 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
3661 * grub-core/lib/legacy_parse.c: New file.
3662 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
3663 * include/grub/i386/pc/vesa_modes_table.h: New file.
3664 * include/grub/legacy_parse.h: Likewise.
3665 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
3666 * util/grub-menulst2cfg.c: New file.
3667
bf8d1338
CW
36682010-09-17 Colin Watson <cjwatson@ubuntu.com>
3669
3670 * grub-core/kern/emu/hostdisk.c
3671 (convert_system_partition_to_system_disk): Initialise node.
3672
9c0bad2e
CW
36732010-09-17 Colin Watson <cjwatson@ubuntu.com>
3674
3675 * grub-core/kern/emu/hostdisk.c
3676 (convert_system_partition_to_system_disk): Fix devmapper memory pool
3677 leak.
3678 Reported and based on patch by: Modestas Vainius.
3679
a939d135
CW
36802010-09-17 Colin Watson <cjwatson@ubuntu.com>
3681
3682 Fix DM-RAID probing with recent versions of device-mapper udev
3683 rules.
3684
3685 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
3686 canonicalise device paths under /dev/mapper/.
3687 (convert_system_partition_to_system_disk): Compare the
3688 uncanonicalised path to /dev/mapper/ rather than the canonicalised
3689 path, since device nodes under /dev/mapper/ are often symlinks.
3690
0f7ee3c9
YB
36912010-09-17 Yves Blusseau <blusseau@zetam.org>
3692
3693 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
3694
10854d0d
YB
36952010-09-16 Yves Blusseau <blusseau@zetam.org>
3696
3697 * configure.ac: Avoid some annoying error messages if freetype-config
3698 program is not found.
3699
108538d8
CW
37002010-09-16 Colin Watson <cjwatson@ubuntu.com>
3701
3702 Support RAID on virtio devices, and others.
3703
3704 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
3705 Rename to ...
3706 [__MINGW32__] (grub_find_device): ... this.
3707 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
3708 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
3709 reasonable default if dir is NULL.
3710 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
3711 ...
3712 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
3713 (grub_guess_root_device): Update callers.
3714 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
3715
3716 * util/raid.c (grub_util_getdiskname): Remove.
3717 (grub_util_raid_getmembers): Use grub_find_device rather than
3718 grub_util_getdiskname.
3719
e5bfc130
CW
37202010-09-16 Colin Watson <cjwatson@ubuntu.com>
3721
3722 * docs/grub.texi (serial): Remove obsolete comment about GRUB
3723 needing to be compiled with serial support.
3724 (ls): Indicate that multiple files are accepted.
3725 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
3726 indicate that multiple files are accepted.
3727
be458ae2
CW
37282010-09-16 Colin Watson <cjwatson@ubuntu.com>
3729
3730 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
3731 libgrub_a_init.c, and util/bash-completion.d/grub.
3732
cb731b5e
VS
37332010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * util/grub-setup.c (setup): Fix incorrect container semantics.
3736
35139e8a
VS
37372010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
3740 misusage.
3741 Reported by: J. Nick Terry
3742
e50fca4a
VS
37432010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 Move embedding routines to partmap sources files.
3746
3747 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
3748 [GRUB_UTIL]: New variable.
3749 (gpt_partition_map_iterate): Set part.parent.
3750 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
3751 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
3752 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
3753 New function.
3754 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
3755 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
3756 (grub_partition_map) [GRUB_UTIL]: New field embed.
3757 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
3758 (setup): Use ->embed.
3759
f00478b7
VS
37602010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
3763 function.
3764 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
3765 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
3766
2b94e3ff
YB
37672010-09-15 Yves Blusseau <blusseau@zetam.org>
3768
3769 Add function to get completions from usage.
3770
3771 * util/bash-completion.d/grub-completion.bash.in: Add function to get
3772 completions from usage. Use LC_ALL=C to get options properly.
3773
2e04a006
VS
37742010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * grub-core/gnulib/basename-lgpl.c: Imported.
3777 * grub-core/gnulib/basename.c: Likewise.
3778 * grub-core/gnulib/dirname-lgpl.c: Likewise.
3779 * grub-core/gnulib/dirname.c: Likewise.
3780 * grub-core/gnulib/dirname.h: Likewise.
3781 * grub-core/gnulib/stripslash.c: Likewise.
3782
5dcdf93a
VS
37832010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 * grub-core/gnulib/error.c: Resynced.
3786 * grub-core/gnulib/getopt.c: Likewise.
3787 * grub-core/gnulib/getopt_int.h: Likewise.
3788 * grub-core/gnulib/regex.h: Likewise.
3789 * grub-core/gnulib/regex_internal.c: Likewise.
3790 * grub-core/gnulib/regex_internal.h: Likewise.
3791
014f47b7
SJ
37922010-09-15 Szymon Janc <szymon@janc.net.pl>
3793
3794 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
3795 CRC calculations and validity checks.
3796 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
3797 calculations.
3798
dd521a4a
SJ
37992010-09-15 Szymon Janc <szymon@janc.net.pl>
3800
3801 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
3802
79c4eeb9
VS
38032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 Fix incorrect echo options handling.
3806 Reported by: Yves Blusseau.
3807
3808 * include/grub/command.h (grub_command_flags_t): New flags
3809 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
3810 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
3811 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
3812
ed80f7d5
VS
38132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
3816 users updated.
3817 (GRUB_COMMAND_FLAG_MENU): Likewise.
3818 (GRUB_COMMAND_FLAG_BOTH): Likewise.
3819 (GRUB_COMMAND_FLAG_TITLE): Removed.
3820 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
3821 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
3822 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
3823 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
3824 (grub_command_flags_t): New enum. All users updated.
3825
5fe7620a
SG
38262010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
3827
3828 Fix solaris compilation.
3829
3830 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
3831 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
3832 (grub-emu-list): Likewise.
3833
545b752f
VS
38342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 Remove deprecated root command.
3837
3838 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
3839 updated.
3840
6c1a338c
VS
38412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 * util/i386/pc/grub-setup.c: Merge this ...
3844 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
3845 * util/grub-setup.c: ... into this.
3846 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
3847 New struct.
3848
38492010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
3852 possible.
3853
d2ea4551
VS
38542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
3857 allocate p.
3858
3c3b5040
VS
38592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3862 explicit root argument to set to prevent UUID to be interpreted as
3863 argument to set.
3864
b71c3fae
VS
38652010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
3868
275433e6
VS
38692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 Don't export grub_gate_a20.
3872
3873 * grub-core/kern/i386/pc/init.c: Remove leftovers.
3874 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
3875 to ...
3876 (grub_gate_a20): ... this. All users updated.
3877 * include/grub/i386/pc/init.h: Removed. All users updated.
3878
a5dbb1f1
VS
38792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 Create euro.pf2 which supports most European languages.
3882
3883 * Makefile.am (grubdata_DATA): Add euro.pf2.
3884 (euro.pf2): New target.
3885 (CLEANFILES): Add euro.pf2.
3886
62a747cb
VS
38872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * configure.ac: Disable emu-usb by default to prevent inadvertent
3890 device takeover.
3891
608e43b1
VS
38922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 Disable usbserial on grub-emu since our libusb code isn't good enough
3895 yet.
3896
3897 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
3898 (usbserial_pl2303): Likewise.
3899 (usbserial_ftdi): Likewise.
3900
94564f81
VS
39012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 * include/grub/disk.h (grub_disk): Remove has_partitions.
3904 All users updated.
3905 * disk/loopback.c (grub_loopback): Remove has_partitions.
3906 All users updated.
3907 (options): Remove partitions. All users updated.
3908 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
3909 * util/i386/pc/grub-setup.c (setup): copy partition table only when
3910 actual partition table is found.
3911
3352800b
VS
39122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 Remove readability checks (too many false negatives).
3915
3916 * util/grub-install.in: Remove readability checks.
3917 * util/grub-mkconfig.in: Likewise.
3918 * util/grub.d/10_hurd.in: Likewise.
3919 * util/grub.d/10_kfreebsd.in: Likewise.
3920 * util/grub.d/10_linux.in: Likewise.
3921 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
3922 way.
3923
2419f17a
VS
39242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 Enable acpi shutdown on all ACPI platforms.
3927
3928 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
3929 on coreboo, multiboot and EFI.
3930 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
3931 (grub_acpi_halt): Likewise.
3932 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
3933 (grub_cmd_halt): Don't call grub_acpi_halt directly.
3934 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
3935 * grub-core/lib/i386/halt.c (grub_halt)
3936 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
3937
0575c7c3
VS
39382010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
3941 context.
3942
54ac3cd1
VS
39432010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * grub-core/video/efi_gop.c: Fix over-80-chars line.
3946 * grub-core/video/efi_uga.c: Likewise.
3947
b2a30ac5
VS
39482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 Filter devaliases and never open same device twice.
3951
3952 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
3953 (last_ihandle): Likewise.
3954 (ofdisk_hash_ent): New member shortest.
3955 (ofdisk_hash_add): Add canonical path too.
3956 (scan): New function.
3957 (grub_ofdisk_iterate): Iterate over hashed entries.
3958 (compute_dev_path): Don't add :0.
3959 (grub_ofdisk_open): Don't really open the disk.
3960 (grub_ofdisk_close): Avoid closing unrelated disk.
3961 (grub_ofdisk_read): Implement reopen logic.
3962 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
3963 New function.
3964 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
3965 New proto.
3966
fb53b340
VS
39672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 Fix sparc64.
3970
3971 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
3972 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
3973 right address. Add sparc64_ieee1275_ldflags.
3974 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
3975 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
3976 to grub_host_to_target_addr
3977 (load_image): Likewise.
3978
f452b040
VS
39792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 * grub-core/normal/completion.c (complete_file): Handle device
3982 containing slash.
3983 Fix based on patch by Doug Nazar.
3984
9b5b2541
VS
39852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 grub-mknetdir script.
3988
3989 * Makefile.util.def (grub-mknetdir): New module.
3990 * tests/util/grub-shell.in: Support boot=net
3991 * util/grub-mknetdir.in: New file.
3992
9d2be652
VS
39932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 videoinfo on non-vbe.
3996
3997 * grub-core/Makefile.core.def (vbeinfo): Removed.
3998 (vbetest): Removed.
3999 (videoinfo): New module.
4000 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
4001 * grub-core/commands/i386/pc/vbetest.c: Removed.
4002 * grub-core/commands/videoinfo.c: New file.
4003 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
4004 specification.
4005 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
4006 as vbetest.
4007 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
4008 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
4009 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
4010 mode_number. New parameter mode. All users updated.
4011 (grub_video_gop_iterate): New function.
4012 (grub_video_efi_gop): New member iterate.
4013 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
4014 (grub_vbe_set_video_mode): Remove setting useless fields.
4015 (vbe2videoinfo): New function.
4016 (grub_video_vbe_iterate): Likewise.
4017 (grub_video_vbe_setup): Use vbe2videoinfo.
4018 (grub_video_vbe_print_adapter_specific_info): New function.
4019 (grub_video_vbe_adapter): New fields iterate and
4020 print_adapter_specific_info.
4021 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
4022 All users updated.
4023 (grub_video_mode_info): New field mode_number.
4024 (grub_video_adapter): New fields iterate and
4025 print_adapter_specific_info.
4026
179503f5
TG
40272010-09-13 Tristan Gingold <gingold@free.fr>
40282010-09-13 Robert Millan <rmh.grub@aybabtu.com>
40292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 * grub-core/commands/efi/lsefisystab.c: New file.
4032 * grub-core/commands/efi/lssal.c: Likewise.
4033 * grub-core/Makefile.core.def (lsacpi): New module.
4034 (lsefisystab): Likewise.
4035 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
4036 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
4037 (grub_efi_sal_system_table): New struct.
4038 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
4039 (grub_efi_sal_system_table_memory_descriptor): Likewise.
4040 (grub_efi_sal_system_table_platform_features): Likewise.
4041 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
4042 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
4043 (grub_efi_sal_system_table_ap_wakeup): Likewise.
4044 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
4045
cf9827de
VS
40462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 Support explicit user claim that a device is BIOS-visible.
4049
4050 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
4051 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
4052 * grub-core/kern/emu/hostdisk.c
4053 (convert_system_partition_to_system_disk): Support mdX.
4054 (find_system_device): New parameter add. All users updated.
4055 (grub_util_biosdisk_is_present): New function.
4056 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
4057 proto.
4058
53f0eb1f
VS
40592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 Search hints support.
4062
4063 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
4064 All users updated.
4065
b23ffd70
YB
40662010-09-13 Yves Blusseau <blusseau@zetam.org>
4067
4068 Bash completion script for util commands
4069
4070 * Makefile.am: Add util/bash-completion.d directory
4071 * configure.ac: Likewise.
4072 * util/bash-completion.d/Makefile.am: New file.
4073 * util/bash-completion.d/grub-completion.bash.in: Likewise.
4074
d547dc28
VS
40752010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
4078 (print_backlog): set backlog_ucs4 and backlog_glyphs.
4079 Reported by: Yves Blusseau.
4080
2fc8ccb9
VS
40812010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
4084 partition size and offset.
4085
d8a84076
VS
40862010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
4089
84fb3b3d
VS
40902010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
4093
768ec2e2
VS
40942010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
4097 (grub_xvasprintf): Likewise.
4098
4870900f
VS
40992010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
4102
faca6bec
VS
41032010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
4106 args ending with NULL.
4107
41082010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
4109
4110 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
4111 pointer.
4112
3c70f225
SJ
41132010-09-11 Szymon Janc <szymon@janc.net.pl>
4114
4115 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
4116
4df7996d
VS
41172010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 Shutdown using ACPI.
4120
4121 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
4122 * grub-core/commands/acpihalt.c: New file.
4123 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
4124 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
4125 (grub_acpi_halt): New proto.
4126 (GRUB_ACPI_SLP_EN): New const.
4127 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
4128 (GRUB_ACPI_OPCODE_*): New enum.
4129 (GRUB_ACPI_EXTOPCODE_*): Likewise.
4130
126b4c32
TG
41312010-09-11 Tristan Gingold <gingold@free.fr>
41322010-09-11 Robert Millan <rmh.grub@aybabtu.com>
41332010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * commands/lsacpi.c: New file.
4136 * grub-core/Makefile.core.def (lsacpi): New module.
4137 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
4138 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
4139 (grub_acpi_madt_entry_header): New struct.
4140 (grub_acpi_madt): Likewise.
4141 (grub_acpi_madt_entry_interrupt_override): Likewise.
4142 (grub_acpi_madt_entry_sapic): Likewise.
4143 (grub_acpi_madt_entry_lsapic): Likewise.
4144 (grub_acpi_madt_entry_platform_int_source): Likewise.
4145 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
4146 (PRIuGRUB_UINT32_T): Likewise.
4147 (PRIxGRUB_UINT64_T): Likewise.
4148
1aa4fe88
VS
41492010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 Implement loading palette on ieee1275_fb.
4152
4153 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
4154 (have_setcolors): Likewise.
4155 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
4156 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
4157 (grub_video_ieee1275_set_palette): Implement.
4158
25761e13
VS
41592010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
41602010-09-11 Colin Watson <cjwatson@ubuntu.com>
4161
4162 * util/grub-install.in (grub_partition): New variable.
4163 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
4164 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
4165 Fixes a bug reported by Yves Blusseau.
4166
050abaea
VS
41672010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 Fix emu on mipsel.
4170
4171 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
4172 =grub_cpu_flush_cache on all mips and not only yeeloong.
4173 * configure.ac (COND_mips): New conditional.
4174 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
4175 platforms.
4176 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
4177 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
4178 [GRUB_LINKER_HAVE_INIT]: New function.
4179 (grub_emu_post_init): Likewise.
4180 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
4181 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
4182 * include/grub/cache.h (_mips): Include mips/cache.h.
4183 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
4184 LVM and RAID prototypes.
4185 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
4186 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
4187 function.
4188
5ed7d816
CW
41892010-09-10 Colin Watson <cjwatson@ubuntu.com>
4190
4191 * util/grub-install.in: Don't try to verify core.img until after
4192 running grub-mkimage to create it.
4193
90367e04
RM
41942010-09-10 Robert Millan <rmh@gnu.org>
4195
4196 * util/grub.d/10_hurd.in: Add misc readability checks.
4197 * util/grub.d/10_kfreebsd.in: Likewise.
4198 * util/grub.d/10_linux.in: Likewise.
4199
c452fa66
CW
42002010-09-10 Colin Watson <cjwatson@ubuntu.com>
4201
4202 * util/grub-install.in: ${imgext} won't be defined here until the
4203 install branch is merged. For the meantime, only verify core.img on
4204 i386-pc and sparc64-ieee1275 platforms.
4205
c38fe9f4
RM
42062010-09-10 Robert Millan <rmh@gnu.org>
4207
4208 Solaris support in grub_find_zpool_from_dir(). Thanks
4209 Seth Goldberg for referring to getextmntent() facility.
4210
4211 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
4212 `sys/mkdev.h'.
4213 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
4214 `<sys/mnttab.h>'.
4215 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
4216 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
4217 method for finding zpool name.
4218
905f7773
CW
42192010-09-10 Colin Watson <cjwatson@ubuntu.com>
4220
4221 grub-fstest needs the host and hostfs modules while other utilities
4222 actively require those modules to be absent, so grub-fstest needs
4223 its own initialisation and finalisation code.
4224
4225 * Makefile.am (grub_fstest.pp): New target.
4226 (grub_fstest_init.lst): Likewise.
4227 (grub_fstest_init.c): Likewise.
4228 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
4229
fb90b546
RM
42302010-09-10 Robert Millan <rmh@gnu.org>
4231
4232 * configure.ac: Check for `struct statfs.f_fstypename' and
4233 `struct statfs.f_mntfromname'.
4234
4235 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
4236 kFreeBSD-specific code.
4237
66d4bea5
RM
42382010-09-10 Robert Millan <rmh@gnu.org>
4239
4240 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
4241 on ZFS. Now non-main filesystems are supported as / too.
4242
b6a690ee
CW
42432010-09-09 Colin Watson <cjwatson@ubuntu.com>
4244
4245 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
4246 and grub-core/disk/host.c to ...
4247 (grub-fstest): ... here. Having the host disk implementation
4248 present confuses grub-probe and other utility programs.
4249
4250 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
4251 when writing to a file, not when writing to stdout.
4252
8901b00c 42532010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
4254
4255 * tests/partmap_test.in: New test for partitions.
4256 * Makefile.util.def: Rules for new test.
4257
7bf45fdd
RM
42582010-09-09 Robert Millan <rmh@gnu.org>
4259
4260 * util/grub-probe.c (probe): Fix a pair of unhandled error
4261 conditions.
4262
4dfbc574
RM
42632010-09-09 Robert Millan <rmh@gnu.org>
4264
4265 Basic Btrfs support (detection and UUID).
4266
4267 * grub-core/fs/btrfs.c: New file.
4268 * Makefile.util.def (library): Register btrfs.c.
4269 * grub-core/Makefile.core.def: Likewise.
4270
6b8e78ae
RM
42712010-09-08 Robert Millan <rmh@gnu.org>
4272
4273 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
4274 with (optional) parameters to specify device and relative path.
4275 * util/grub-install.in: Use is_path_readable_by_grub() to
4276 verify readability of a few critical files.
4277 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
4278 verify readability of grub.cfg.new.
4279
27f21a8b
VS
42802010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 Split minix.mod into minix.mod and minix2.mod.
4283
4284 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
4285 * grub-core/Makefile.core.def (minix2): New module.
4286 * grub-core/fs/minix.c: Use definitions instead of runtime version
4287 checking.
4288 * grub-core/fs/minix2.c: New file.
4289
c0e53ea5
YB
42902010-09-08 Yves Blusseau <blusseau@zetam.org>
4291
4292 Add new --boot-directory option to replace --root-directory
4293
4294 * util/grub-install.in: Add new --boot-directory option
4295 * util/grub-reboot.in: Likewise.
4296 * util/grub-set-default.in: Likewise.
4297
b9fe6ea2
YB
42982010-09-08 Yves Blusseau <blusseau@zetam.org>
4299
4300 * util/grub-mkconfig.in: Use new variable.
4301
d87aedff
YB
43022010-09-08 Yves Blusseau <blusseau@zetam.org>
4303
4304 * configure.ac: Define some useful variables.
4305
e55e8495
VS
43062010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4309 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
4310 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
4311 Use terminfo and don't use cursor-on/cursor-off unless it's known
4312 to work.
4313 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
4314 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
4315
6fa6d675
CW
43162010-09-08 Colin Watson <cjwatson@ubuntu.com>
4317
4318 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
4319 starts with "(,", fill the drive containing the loaded image in
4320 between those two characters, but expect that a full partition
4321 specification including partition map names will follow.
4322
92f2aef0
RM
43232010-09-08 Robert Millan <rmh@gnu.org>
4324
4325 * configure.ac: Remove `--enable-grub-fstest' option.
4326 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
4327
4328 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
4329 `grub-fstest' instead of `grub-probe' for readability verification.
4330 * util/grub-probe.c (probe): Remove readability verification kludge.
4331
99fd620d
RM
43322010-09-08 Robert Millan <rmh@gnu.org>
4333
4334 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
4335 initializing `GRUB_FS'.
4336
058e30ac 43372010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
4338
4339 Not command (!) support to GRUB script.
4340
4341 * tests/grub_script_not.in: New test.
4342 * Makefile.util.def: Rules for new test.
4343
4344 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
4345 ! command as a special case.
4346 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
4347
b61d05ed 43482010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4349
058e30ac 4350 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
4351 grub_free.
b61d05ed 4352
4d69c786 43532010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4354
4355 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
4356
aa3119c4 43572010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4358
4359 * docs/grub.texi (Shell-like scripting): Documentation for break,
4360 continue, shift and return commands.
4361
db0f7e3d
VS
43622010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 Rename CD-ROM to cd on BIOS.
4365
4366 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
4367 "cd".
4368 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
4369
88b87c93
VS
43702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
4373 * util/grub-probe.c (main): Likewise.
4374 * util/i386/pc/grub-setup.c (main): Likewise.
4375 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
4376 Reported and debugged by: alexxy
4377
294f324d
VS
43782010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
4381 diagnostic info.
4382
d7ee3441
JS
43832010-09-05 Jo Shields <directhex@apebox.org>
4384
4385 * util/grub.d/30_os-prober.in: Add missing classes.
4386
d7e06c1f
VS
43872010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * docs/grub.texi (Theme file format): Document new position format.
4390
fc157e53
VS
43912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
4394 a table. Use @code instead of @verbatim.
4395
506e9a1c
CB
43962010-09-05 Colin D Bennett <colin@gibibit.com>
4397
4398 Gfxmenu documentation.
4399
4400 * docs/grub.texi (Theme file format): New chapter.
4401
f0aff67c
SJ
44022010-09-05 Szymon Janc <szymon@janc.net.pl>
4403
4404 * grub-core/Makefile.core.def (xzio): New module.
4405 * grub-core/io/xzio.c: New file.
4406 * grub-core/lib/xzembed/xz.h: New file (from xembed).
4407 * grub-core/lib/xzembed/xz_config.h: Likewise.
4408 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
4409 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
4410 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
4411 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
4412 * grub-core/lib/xzembed/xz_private.h: Likewise.
4413 * grub-core/lib/xzembed/xz_stream.h: Likewise.
4414 * include/grub/file.h (grub_file_filter_id): New compression filter
4415 GRUB_FILE_FILTER_XZIO.
4416
82a85062
VS
44172010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
4420 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
4421 size.
4422
3579415d
VS
44232010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
4426 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
4427
5124ae6d
VS
44282010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 Uncompressed checksum support.
4431
4432 * grub-core/commands/hashsum.c (options): Add option --uncompress.
4433 (check_list): New parameter uncompress.
4434 (grub_cmd_hashsum): Handle --uncompress.
4435
9aadb3d1
VS
44362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 Reintroduce testload.
4439
4440 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
4441 from here ...
4442 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
4443 (GRUB_MOD_INIT): New function.
4444 (GRUB_MOD_FINI): Likewise.
4445 * grub-core/Makefile.core.def (testload): New module.
4446
a17792c3
SJ
44472010-09-05 Szymon Janc <szymon@janc.net.pl>
4448
4449 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
4450 (uint8_t): New type.
4451 (uint16_t): Likewise.
4452 (uint32_t): Likewise.
4453 (uint64_t): Likewise.
4454
b81e40a3
SJ
44552010-09-05 Szymon Janc <szymon@janc.net.pl>
4456
4457 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
4458
fc2ef117
VS
44592010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
4462 Made static.
4463 (grub_gzfile_open): Removed. All users updated.
4464 (GRUB_MOD_INIT): New function.
4465 (GRUB_MOD_FINI): Likewise.
4466 * grub-core/kern/file.c (grub_file_filters_all): New variable.
4467 (grub_file_filters_enabled): Likewise.
4468 (grub_file_open): Handle filters.
4469 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
4470 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
4471 * include/grub/file.h (grub_file_filter_id_t): New type.
4472 (grub_file_filter_t): Likewise.
4473 (grub_file_filters_all): New extern variable.
4474 (grub_file_filters_enabled): Likewise.
4475 (grub_file_filter_register): New inline function.
4476 (grub_file_filter_unregister): Likewise.
4477 (grub_file_filter_disable): Likewise.
4478 (grub_file_filter_disable_compression): Likewise.
4479 * include/grub/gzio.h: Removed.
4480
35ee15e0
BC
44812010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4482
4483 Filename expansion support for wildcards in GRUB script.
4484
4485 * tests/grub_script_expansion.in: New test.
4486 * Makefile.util.def: Rule for new test.
4487
4488 * grub-core/commands/wildcard.c: New file, implements filename
4489 expansion support for GRUB script.
4490 * grub-core/Makefile.core.def: Rule update for regexp.mod.
4491 * grub-core/script/argv.c: Cosmetic changes.
4492 * grub-core/script/execute.c (grub_script_arglist_to_argv):
4493 Refactored to perform wildcard expansion on arguments.
4494 * include/grub/script_sh.h (grub_script_wildcard_translator): New
4495 struct.
4496
4497 * tests/util/grub-shell.in: Fix quoting for read input.
4498
5f0c4aca
BC
44992010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4500
4501 Support for updating environment variables with matched substrings
4502 of regexp.
4503
4504 * tests/grub_cmd_regexp.in: New test.
4505 * Makefile.util.def: Rule for new test.
4506
4507 * grub-core/commands/regexp.c: New option -s to update environment
4508 variables with regexp matches.
4509
3759a35f
SJ
45102010-09-04 Szymon Janc <szymon@janc.net.pl>
4511
4512 * include/grub/file.h (grub_file): New member not_easly_seekable.
4513 (grub_file_seekable): New inline function.
4514 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
4515 easily seekable.
4516 (grub_gzio_open): Set not_easly_seekable.
4517 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
4518 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
4519
ed8c6dec
BC
45202010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4521
4522 Support for options to appear multiple times on cmdline.
4523
4524 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
4525 * grub-core/commands/extcmd.c: Support for repeatable option.
4526 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
4527 repeatable option support.
4528
4529 Refactor menuentry into a regular command.
4530
4531 * grub-core/commands/menuentry.c: New file, menuentry command
4532 implementation.
4533 * grub-core/Makefile.core.def: Rule update for normal.mod.
4534 * grub-core/normal/main.c: Moved menuentry creation to
4535 grub-core/commands/menuentry.c.
4536 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
4537 (grub_menu_execute_entry_real): Removed.
4538 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
4539 function.
4540 (grub_script_execute_menuentry): Removed.
4541 * grub-core/script/parser.y (menuentry): Removed.
4542 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
4543 * grub-core/script/yylex.l (menuentry): Removed.
4544 * include/grub/menu.h (grub_menu_init): New prototype.
4545 (grub_menu_fini): New prototype.
4546 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
4547 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
4548 (grub_script_execute_sourcecode): New prototype.
4549
dacd0cf0
BC
45502010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4551
4552 "return" command for GRUB script functions.
4553
4554 * tests/grub_script_return.in: New test.
4555 * Makefile.util.def: Rules for new test.
4556
4557 * grub-core/script/execute.c (grub_script_return): New function.
4558 * grub-core/script/main.c: Register/unregister return commaond.
4559 * include/grub/script_sh.h (grub_script_return): New prototype.
4560
52e72f9d
BC
45612010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4562
4563 "setparams" command to update positional parameters.
4564
4565 * tests/grub_script_setparams.in: New test.
4566 * Makefile.util.def: Rules for new test.
4567
4568 * grub-core/script/argv.c (grub_script_argv_make): New function.
4569 * grub-core/script/execute.c (replace_scope): New function.
4570 (grub_script_setparams): New function.
4571 * grub-core/script/lexer.c: Remove unused variables.
4572 * grub-core/script/main.c: Register/unregister setparams command.
4573 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
4574 (grub_script_setparams): New prototype.
4575
25b60c91
BC
45762010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4577
4578 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
4579 grub_free order.
4580
37e7bf68
BC
45812010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4582
4583 Support for passing block of commands as an argument to extcmds.
4584
4585 * Makefile.util.def: Rules for new test.
4586 * tests/grub_script_blockarg.in: New test.
4587 * grub-core/tests/test_blockarg.c: New file, block argument
4588 command used in the test.
4589
4590 * include/grub/extcmd.h (grub_extcmd_context): New struct.
4591 (grub_register_extcmd_prio): New function prototype.
4592 (grub_extcmd_dispatcher): New function prototype.
4593 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
4594 type.
4595 * include/grub/script_sh.h (struct grub_script): New members
4596 `children', `next_siblings' and `refcnt' for block arguments and
4597 reference counting.
4598 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
4599 (grub_script_arg): New member `script' for block argument.
4600 (grub_script_argv): New member `script' for block argument.
4601 (grub_parser_param): New member `scripts' for block argument.
4602 (grub_script_mem_free): New extern function prototype.
4603 (grub_script_ref): New function prototype.
4604 (grub_script_unref): New function prototype.
4605
4606 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
4607 extcmd form to support block arguments.
4608 * grub-core/script/argv.c: Block arguments support.
4609 * grub-core/script/execute.c: Likewise.
4610 * grub-core/script/lexer.c: Likewise.
4611 * grub-core/script/main.c: Likewise.
4612 * grub-core/script/script.c: Likewise.
4613 * grub-core/script/parser.y: Likewise. New `block' and `block0'
4614 non-terminals.
4615
4616 * grub-core/commands/acpi.c: Update extcmd implementations with
4617 grub_extcmd_context_t.
4618 * grub-core/commands/cat.c: Likewise.
4619 * grub-core/commands/echo.c: Likewise.
4620 * grub-core/commands/extcmd.c: Likewise.
4621 * grub-core/commands/hashsum.c: Likewise.
4622 * grub-core/commands/hdparm.c: Likewise.
4623 * grub-core/commands/help.c: Likewise.
4624 * grub-core/commands/hexdump.c: Likewise.
4625 * grub-core/commands/i386/cpuid.c: Likewise.
4626 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4627 * grub-core/commands/i386/pc/halt.c: Likewise.
4628 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4629 * grub-core/commands/iorw.c: Likewise.
4630 * grub-core/commands/keystatus.c: Likewise.
4631 * grub-core/commands/loadenv.c: Likewise.
4632 * grub-core/commands/ls.c: Likewise.
4633 * grub-core/commands/lspci.c: Likewise.
4634 * grub-core/commands/memrw.c: Likewise.
4635 * grub-core/commands/probe.c: Likewise.
4636 * grub-core/commands/search_wrap.c: Likewise.
4637 * grub-core/commands/setpci.c: Likewise.
4638 * grub-core/commands/sleep.c: Likewise.
4639 * grub-core/disk/loopback.c: Likewise.
4640 * grub-core/hello/hello.c: Likewise.
4641 * grub-core/loader/i386/bsd.c: Likewise.
4642 * grub-core/loader/xnu.c: Likewise.
4643 * grub-core/term/gfxterm.c: Likewise.
4644 * grub-core/term/serial.c: Likewise.
4645 * grub-core/tests/lib/functional_test.c: Likewise.
4646
888d1500
BC
46472010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4648
4649 Multi-line quoted strings support.
4650
4651 * grub-core/script/lexer.c (append_newline): Removed.
4652 (grub_script_lexer_yywrap): Refactored.
4653 (grub_script_lexer_init): Refactored.
4654 * grub-core/script/yylex.l (yywrap): New function.
4655 (grub_lexer_resplit): New function.
4656 (grub_lexer_unput): New function.
4657 * include/grub/script_sh.h (grub_lexer_param): New members, unput
4658 and resplit.
4659 * tests/grub_script_echo1.in: Added few more testcases.
4660
dda060dd
VS
46612010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * grub-core/kern/misc.c: Don't add abort alias in utils.
4664 Reported by: echoline.
4665
6556eba9
BC
46662010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
4667
4668 Add missing files into "make dist" tarball for other platforms.
4669
4670 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
4671 * conf/Makefile.common (dist_noinst_DATA): New variable.
4672 * conf/Makefile.extra-dist: Added missing make dist files.
4673 * grub-core/Makefile.core.def: Likewise.
4674
c8e7bf5f
VS
46752010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 Compress grub_prefix.
4678
4679 * grub-core/boot/i386/pc/lnxboot.S: Use
4680 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
4681 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
4682 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
4683 GRUB_MACHINE_PREFIX_END. All users updated.
4684 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
4685 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
4686 + 0x40.
4687 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4688 * util/grub-mkimage.c (image_target_desc): Change data_end to
4689 prefix_end. All users updated.
4690
a7c00cdb
VS
46912010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
4694 value.
4695 (grub_openbsd_boot): Likewise.
4696 (grub_netbsd_boot): Likewise.
4697 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
4698 (grub_xnu_boot): Likewise.
4699
9f915872
VS
47002010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * configure.ac: Clean LIBS variable after tests.
4703
efa1bee7
CW
47042010-09-02 Colin Watson <cjwatson@ubuntu.com>
4705
4706 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
4707
61d720e5
VS
47082010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
4711 echo if libdevmapper will be used.
4712
ef8e0ec8
IT
47132010-09-02 Ian Turner <Ian.Turner@deshaw.com>
4714
4715 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
4716 constant for the same file.
4717
03e261d8
VS
47182010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
4721
c2a4eba6
CW
47222010-09-02 Colin Watson <cjwatson@ubuntu.com>
4723
4724 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
4725 grub-core/*.pp.
4726
9056cbf3
CW
47272010-09-02 Colin Watson <cjwatson@ubuntu.com>
4728
4729 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
4730 required by the boot protocol.
4731
4732 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
4733 ebp and edi members.
4734 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
4735 state.ebp and state.edi.
4736 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
4737 %ebp and %edi according to grub_relocator32_ebp and
4738 grub_relocator32_edi respectively.
4739 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
4740 and state.edi.
4741
529cc99a
VS
47422010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4743
4744 Add i386-pc-pxe image target.
4745
4746 * util/grub-mkimage.c (image_target_desc): New enum value
4747 IMAGE_I386_PC_PXE.
4748 (image_targets): New target i386-pc-pxe.
4749 (generate_image): Handle i386-pc-pxe image.
4750
9a093920
VS
47512010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 Fix grub_pxe_scan.
4754
4755 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
4756 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
4757 All users updated.
4758 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
4759 (grub_pxe_pxenv): Correct type.
4760
f9cefc4e
CW
47612010-09-01 Colin Watson <cjwatson@ubuntu.com>
4762
4763 * NEWS: Document most of the important changes since 1.98.
4764
4066f57f
CW
47652010-09-01 Colin Watson <cjwatson@ubuntu.com>
4766
4767 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
4768 generated manual page) a little.
4769
da2891f9
CW
47702010-09-01 Colin Watson <cjwatson@ubuntu.com>
4771
4772 * docs/grub.texi: Add myself as an author.
4773
ad717fae
VS
47742010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 * Makefile.util.def (libgrub.a): Add missing sunpc.
4777 Reported by: Seth Goldberg.
4778
eefe8abd
VS
47792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 Interrupt wrapping and code simplifications.
4782
9494ef9a
VS
4783 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
4784 x86_noieee1275 which are functionaly equivalent in this case.
4785 (grub-install): Make source on each platform explicit. Enable on
4786 all noemu.
4787 * gentpl.py (x86_efi_pc): Removed group.
4788 (x86_noefi): Likewise.
4789 (i386_noefi): Likewise.
4790 (x86_noieee1275): Likewise.
4791 (i386_noieee1275): Likewise.
4792 (i386_noefi_noieee1275): Likewise.
4793 (i386_pc_qemu_coreboot): Likewise.
4794 (i386_coreboot_multiboot): Likewise.
4795 (i386_pc_coreboot_multiboot_qemu): Likewise.
4796 (x86_noefi_mips): Likewise.
4797 (noieee1275): Likewise.
4798 (ieee1275_mips): Likewise.
4799 (noemu_noieee1275): Likewise.
4800 (cmos): New group.
4801 (usb): Likewise.
4802 (videoinkernel): Likewise.
4803 (videomodules): Likewise.
eefe8abd 4804 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
4805 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
4806 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
4807 include/grub/loader.h, include/grub/msdos_partition.h,
4808 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
4809 include/grub/machine/console.h, include/grub/machine/vga.h,
4810 include/grub/machine/vbe.h, include/grub/machine/init.h,
4811 include/grub/machine/kernel.h, include/grub/cpu/time.h,
4812 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 4813 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
4814 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
4815 * grub-core/Makefile.core.def (kernel): Explicit the source for
4816 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
4817 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
4818 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
4819 Use videoinkernel tag.
4820 (usb): Enable on all usb.
4821 (usbserial_common): Likewise.
4822 (usbserial_pl2303): Likewise.
4823 (usbserial_ftdi): Likewise.
4824 (uhci): Enable on all x86.
4825 (ohci): Enable on all pci.
4826 (cmostest): Enable on all CMOS.
4827 (acpi): Include commands/acpi.c on all platforms.
4828 (halt): Add relevant lib/*/halt.c.
4829 (hdparm): Enable on all pci.
4830 (lspci): Likewise.
4831 (usbtest): Enable on all usb.
4832 (ata): Enable on all pci.
4833 (ata_pthru): Likewise.
4834 (usbms): Enable on all usb.
4835 (usb_keyboard): Likewise.
4836 (font): Use tag videomodules.
4837 (bufio): Likewise.
4838 (datetime): Use tag cmos. Enable on all noemu.
4839 (mmap): Use tags common and x86.
4840 (gfxterm): Use tag videomodules.
4841 (bitmap): Likewise.
4842 (bitmap_scale): Likewise.
4843 (video_fb): Likewise.
4844 (video): Likewise.
4845 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
4846 adjust padding accordingly. All users updated.
4847 (grub_ohci_transaction): Fix bad format specification.
4848 (GRUB_MOD_INIT): Add asserts for struct size.
4849 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
4850 (grub_alloc_td): Likewise.
4851 (grub_free_queue): Likewise.
4852 (grub_uhci_transfer): Likewise.
4853 (grub_uhci_transaction): Fix bad format specification.
4854 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
4855 (grub_usb_bulk_readwrite): Likewise.
4856 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
4857 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
4858 Made static.
4859 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
4860 Made static.
4861 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
4862 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
4863 Transformed into C.
4864 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
4865 Moved from here ...
4866 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
4867 ... here. Transformed into C. Made static.
4868 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
4869 Moved from here ...
4870 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
4871 ... here. Transformed into C. Made static.
4872 * grub-core/kern/i386/pc/startup.S
4873 (grub_biosdisk_check_int13_extensions): Moved from here ...
4874 * grub-core/disk/i386/pc/biosdisk.c
4875 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
4876 Made static.
4877 * grub-core/kern/i386/pc/startup.S
4878 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
4879 * grub-core/disk/i386/pc/biosdisk.c
4880 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
4881 Transformed into C. Made static.
4882 * grub-core/kern/i386/pc/startup.S
4883 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
4884 * grub-core/disk/i386/pc/biosdisk.c
4885 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
4886 Transformed into C. Made static.
4887 * grub-core/kern/i386/pc/startup.S
4888 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
4889 * grub-core/disk/i386/pc/biosdisk.c
4890 (grub_biosdisk_get_diskinfo_standard): ... here.
4891 Transformed into C. Made static.
4892 * grub-core/kern/i386/pc/startup.S
4893 (grub_biosdisk_get_num_floppies): Moved from here ...
4894 * grub-core/disk/i386/pc/biosdisk.c
4895 (grub_biosdisk_get_num_floppies): ... here.
4896 Transformed into C. Made static.
4897 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
4898 New function.
4899 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
4900 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
4901 Transformed into C. Made static.
4902 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
4903 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
4904 Transformed into C. Made static.
4905 * grub-core/kern/i386/ieee1275/init.c: Removed.
4906 * grub-core/kern/i386/misc.S: Likewise.
4907 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
4908 Splitted from here ...
4909 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
4910 Transformed into C. Made static. All users updated.
4911 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
4912 Transformed into C. Made static. All users updated.
4913 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
4914 Moved from here...
4915 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
4916 Transformed into C. Made static. All users updated.
4917 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
4918 Moved from here...
4919 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
4920 Transformed into C. Made static. All users updated.
4921 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
4922 Removed (replaced by C version).
4923 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
4924 Moved from here...
4925 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
4926 Transformed into C. Made static.
4927 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
4928 Moved from here...
4929 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
4930 ... here. Transformed into C.
4931 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
4932 Moved from here...
4933 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
4934 ... here. Transformed into C.
4935 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
4936 Moved from here...
4937 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
4938 ... here. Transformed into C. Made static.
4939 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
4940 Moved from here...
4941 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
4942 ... here. Transformed into C.
21ed554b
VS
4943 * grub-core/kern/i386/pc/startup.S
4944 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
4945 * grub-core/video/i386/pc/vbe.c
4946 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
4947 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
4948 Moved from here...
4949 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
4950 ... here. Transformed into C.
4951 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
4952 Moved from here...
4953 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
4954 ... here. Transformed into C.
4955 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
4956 Moved from here...
4957 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
4958 ... here. Transformed into C.
4959 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
4960 Moved from here...
4961 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
4962 ... here. Transformed into C.
4963 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
4964 Moved from here...
4965 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
4966 ... here. Transformed into C. Made static.
4967 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
4968 Moved from here...
4969 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
4970 ... here. Transformed into C. Made static.
4971 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
4972 Moved from here...
4973 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
4974 ... here. Transformed into C. Made static.
4975 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
4976 pxe_rm_entry as third argument.
4977 (grub_bios_interrupt): New function.
4978 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
4979 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
4980 of calling grub_stop.
4981 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
4982 * grub-core/lib/efi/halt.c (grub_halt): ...here.
4983 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
4984 * grub-core/lib/emu/halt.c (grub_halt): ... here.
4985 * grub-core/lib/i386/halt.c: Moved from here ...
4986 * grub-core/lib/i386/halt.c: ... here.
4987 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
4988 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
4989 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
4990 grub_stop_floppy.
4991 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
4992 * include/grub/i386/coreboot/init.h: Removed.
4993 * include/grub/i386/multiboot/init.h: Likewise.
4994 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
4995 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
4996 * include/grub/i386/pc/int.h: New file.
4997 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
4998 (grub_pxe_scan): Removed.
4999 (grub_pxe_call): Update prototype.
5000 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
5001 prototypes.
5002 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
5003 * include/grub/i386/qemu/init.h: Removed.
5004 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
5005 noreturn.
5006 (grub_halt): Likewise.
5007 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
5008 (grub_reboot): Likewise.
5009 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
5010 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
5011 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
5012
215dd471
RM
50132010-08-30 Robert Millan <rmh@gnu.org>
5014
5015 * NEWS: Document addition of ZFS support in `grub-install' and
5016 `grub-mkconfig'.
5017
ebd65b82
BC
50182010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
5019
5020 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
5021 dprintf output.
5022
11721d19
VS
50232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 Remove leftover embedding of font objects.
5026
5027 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
5028 * util/grub-install.in (font): Removed.
5029 * util/grub-mkimage.c (generate_image): Remove font support. All users
5030 updated.
5031
37837d4e
VS
50322010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 Remove leftover embedding of font objects.
5035
5036 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
5037 * util/grub-install.in (font): Removed.
5038 * util/grub-mkimage.c (generate_image): Remove font support. All users
5039 updated.
5040
b4c1aae0
VS
50412010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 5044 Reported by: Ian Turner
b4c1aae0 5045
8920a08d
VS
50462010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
5049 timeout to avoid indefinite boot stalling.
5050
f21db033
VS
50512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
5054 (grub_env_write_color_highlight): Likewise.
5055
9a9de209
VS
50562010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * grub-core/normal/term.c (print_more): Return to normal and not
5059 to standard state after printing "---MORE---".
5060
3dca01d7
VS
50612010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
5064 Mask out the bit 0x80 since it has other meaning that specifiing color.
5065
0b986c40
VS
50662010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 New relocator. Allows for more kernel support and more straightforward
5069 loader writing.
5070
5071 * Makefile.am (BOOTTARGET): New variable.
5072 (QEMU32): Likewise.
5073 (linux.init.x86_64): New target.
5074 (linux.init.i386): Likewise.
5075 (multiboot.elf): Likewise.
5076 (kfreebsd.elf): Likewise.
5077 (kfreebsd.aout): Likewise.
5078 (pc-chainloader.elf): Likewise.
5079 (pc-chainloader.bin): Likewise.
5080 (ntldr.elf): Likewise.
5081 (ntldr.bin): Likewise.
5082 (multiboot2.elf): Likewise.
5083 (kfreebsd.init.x86_64): Likewise.
5084 (kfreebsd.init.i386): Likewise.
5085 (knetbsd.init.i386): Likewise.
5086 (kopenbsd.init.i386): Likewise.
5087 (knetbsd.init.x86_64): Likewise.
5088 (kopenbsd.init.x86_64): Likewise.
5089 (linux-initramfs.i386): Likewise.
5090 (linux-initramfs.x86_64): Likewise.
5091 (kfreebsd-mfsroot.i386.img): Likewise.
5092 (knetbsd.image.i386): Likewise.
5093 (kopenbsd.image.i386): Likewise.
5094 (kopenbsd.image.x86_64): Likewise.
5095 (knetbsd.miniroot-image.i386.img): Likewise.
5096 (kfreebsd-mfsroot.x86_64.img): Likewise.
5097 (knetbsd.image.x86_64): Likewise.
5098 (knetbsd.miniroot-image.x86_64.img): Likewise.
5099 (kfreebsd-mfsroot.i386.gz): Likewise.
5100 (bootcheck-kfreebsd-i386): Likewise.
5101 (kfreebsd-mfsroot.x86_64.gz): Likewise.
5102 (bootcheck-kfreebsd-x86_64): Likewise.
5103 (knetbsd.miniroot-image.i386.gz): Likewise.
5104 (bootcheck-knetbsd-i386): Likewise.
5105 (bootcheck-kopenbsd-i386): Likewise.
5106 (bootcheck-kopenbsd-x86_64): Likewise.
5107 (knetbsd.miniroot-image.x86_64.gz): Likewise.
5108 (bootcheck-knetbsd-x86_64): Likewise.
5109 (bootcheck-linux-i386): Likewise.
5110 (bootcheck-linux-x86_64): Likewise.
5111 (bootcheck-linux16-i386): Likewise.
5112 (bootcheck-linux16-x86_64): Likewise.
5113 (bootcheck-multiboot): Likewise.
5114 (bootcheck-multiboot2): Likewise.
5115 (bootcheck-kfreebsd-aout): Likewise.
5116 (bootcheck-pc-chainloader): Likewise.
5117 (bootcheck-ntldr): Likewise.
5118 (CLEANFILES): Add new targets.
5119 (BOOTCHECKS): New variable.
5120 (.PHONY): Add bootchecks.
5121 (SUCCESSFUL_BOOT_STRING): New variable.
5122 (BOOTCHECK_TIMEOUT): Likewise.
5123 (bootcheck): New target
5124 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
5125 * configure.ac: Correct efiemu excuse.
5126 * docs/grub.texi (Supported kernels): New chapter.
5127 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
5128 include/grub/mm_private.h. Simplify inclusion of
5129 include/grub/boot.h, include/grub/loader.h
5130 and include/grub/msdos_partition.h
5131 (KERNEL_HEADER_FILES) [i386_coreboot]:
5132 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
5133 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
5134 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
5135 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
5136 include/grub/machine/loader.h.
5137 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
5138 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
5139 extra_dist.
5140 (pci.mod): Enable on i386-multiboot.
5141 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
5142 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
5143 i386-qemu.
5144 (relocator.mod): Rewritten.
5145 (aout.mod): Enable on all x86.
5146 (bsd.mod): Likewise.
5147 (ntldr.mod): New module.
5148 (linux.mod): Use loader/i386/linux.c on all x86.
5149 (xnu.mod): Enable on all x86.
5150 (vga_text.mod): disable on EFI and QEMU.
5151 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
5152 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
5153 * grub-core/efiemu/loadcore.c: Likewise.
5154 * grub-core/efiemu/main.c: Likewise.
5155 (grub_efiemu_exit_boot_services): Removed.
5156 (grub_efiemu_finish_boot_services): Likewise.
5157 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
5158 function.
5159 * grub-core/efiemu/i386/nocfgtables.c: New file.
5160 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
5161 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
5162 (grub_efi_finish_boot_services): Moved from here ...
5163 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
5164 Fille finish memory map and related data.
5165 (finish_mmap_buf): New variable.
5166 (grub_efi_uintn_t finish_mmap_size): Likewise.
5167 (grub_efi_uintn_t finish_key): Likewise.
5168 (grub_efi_uintn_t finish_desc_size): Likewise.
5169 (grub_efi_uint32_t finish_desc_version): Likewise.
5170 (grub_efi_is_finished): Likewise.
5171 (grub_efi_get_memory_map): Use saved memory map if EFI is already
5172 finished.
5173 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
5174 (grub_elf64_phdr_iterate): Likewise.
5175 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
5176 (grub_os_area_size): Likewise.
5177 (grub_machine_init): Don't reserve os area.
5178 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
5179 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5180 * grub-core/kern/i386/loader.S: Removed.
5181 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
5182 (grub_os_area_size): Likewise.
5183 (grub_machine_init): Don't reserve os area.
5184 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5185 Don't call grub_dl_unload_all.
5186 Don't include loader.S.
5187 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5188 Declare the memory after _end as available.
5189 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 5190 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 5191 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
5192 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
5193 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
5194 * include/grub/mm_private.h (grub_mm_header): ... here.
5195 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
5196 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
5197 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
5198 (grub_mm_region): ..here. Removed addr. Added pre_size.
5199 All users updated.
5200 * grub-core/kern/mm.c (base): Renamed to ...
5201 (grub_mm_base): ... this. Made global.
5202 (grub_real_malloc): Alloc from end of region.
5203 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
5204 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
5205 * grub-core/kern/powerpc/cache_flush.S: ... here.
5206 * grub-core/lib/efi/relocator.c: New file.
5207 * grub-core/lib/i386/relocator.c: Rewritten.
5208 * grub-core/lib/i386/relocator16.S: New file.
5209 * grub-core/lib/i386/relocator32.S: Likewise.
5210 * grub-core/lib/i386/relocator64.S: Likewise.
5211 * grub-core/lib/i386/relocator_asm.S: Rewritten.
5212 * grub-core/lib/i386/relocator_common.S: New file.
5213 * grub-core/lib/ieee1275/relocator.c: Likewise.
5214 * grub-core/lib/mips/relocator.c: Rewritten.
5215 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
5216 stylistic adjustments.
5217 * grub-core/lib/powerpc/relocator.c: New file.
5218 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
5219 * grub-core/lib/relocator.c: Rewritten.
5220 * grub-core/lib/x86_64/relocator_asm.S: New file.
5221 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
5222 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
5223 (bsd_tag): New struct.
5224 (tags): New variable.
5225 (tags_last): Likewise.
5226 (netbsd_module): New struct.
5227 (netbsd_mods): New variable.
5228 (netbsd_mods_last): Likewise.
5229 (openbsd_opts): New parameter "serial".
5230 (OPENBSD_SERIAL_ARG): New definition.
5231 (netbsd_opts): New parameter "serial".
5232 (NETBSD_SERIAL_ARG): New definition.
5233 (grub_freebsd_add_meta): Reorganised into ...
5234 (grub_bsd_add_meta): ...this. All users updated.
5235 (grub_freebsd_add_mmap): Reorganised into ...
5236 (generate_e820_mmap): ...this...
5237 (grub_bsd_add_mmap): ...and this. All users updated.
5238 (grub_freebsd_list_modules): Use tags.
5239 (grub_netbsd_add_meta_module): New function.
5240 (grub_netbsd_list_modules): Likewise.
5241 (grub_freebsd_boot): Use relocator and finish EFI.
5242 (grub_openbsd_boot): Likewise.
5243 (grub_netbsd_setup_video): New function.
5244 (grub_netbsd_add_modules): Likewise.
5245 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
5246 and finish EFI.
5247 (grub_bsd_unload): Unload tags.
5248 (grub_bsd_load_aout): Use relocator.
5249 (grub_bsd_elf32_size_hook): New function.
5250 (grub_bsd_elf32_hook): Use relocator.
5251 (grub_bsd_elf64_size_hook): New function.
5252 (grub_bsd_elf64_hook): Use relocator.
5253 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
5254 (grub_bsd_load): Zero-out openbsd_ramdisk.
5255 (grub_bsd_load): Use relocator.
5256 (grub_cmd_openbsd): Support serial.
5257 (grub_cmd_netbsd): Support modules.
5258 (grub_cmd_freebsd_module): Use relocator.
5259 (grub_netbsd_module_load): New function.
5260 (grub_cmd_netbsd_module): Likewise.
5261 (grub_cmd_openbsd_ramdisk): Likewise.
5262 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
5263 kopenbsd_ramdisk.
5264 (GRUB_MOD_FINI): Unregister new commands.
5265 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
5266 (grub_freebsd_load_elfmodule_obj): Use relocator.
5267 (grub_freebsd_load_elfmodule): Likewise.
5268 (grub_freebsd_load_elf_meta): Likewise.
5269 (grub_netbsd_load_elf_meta): New function.
5270 (grub_openbsd_find_ramdisk): Likewise.
5271 * grub-core/loader/i386/bsd_helper.S: Removed.
5272 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
5273 * grub-core/loader/i386/bsd_trampoline.S: Removed.
5274 * grub-core/loader/i386/efi/linux.c: Likewise.
5275 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
5276 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
5277 (DEFAULT_VIDEO_MODE): Likewise.
5278 (real_mode_target): New variable.
5279 (prot_mode_target): Likewise.
5280 (initrd_mem_target): Likewise.
5281 (relocator): Likewise.
5282 (efi_mmap_buf): Likewise.
5283 (efi_mmap_size): Likewise.
5284 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
5285 (free_pages): Use relocator.
5286 (allocate_pages): Account for efi_mmap and use relocator. Return error.
5287 (grub_linux_setup_video): Return error.
5288 (grub_linux_trampoline_start): Removed.
5289 (grub_linux_trampoline_end): Likewise.
5290 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
5291 andd video parameters depending on firmware.
5292 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
5293 [GRUB_MACHINE_EFI]: Pass EFI parameters.
5294 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
5295 (grub_cmd_initrd): Use relocator.
5296 * grub-core/loader/i386/linux_trampoline.S: Removed.
5297 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
5298 (elf_sec_entsize): Likewise.
5299 (elf_sec_shstrndx): Likewise.
5300 (elf_sections): Likewise.
5301 (grub_multiboot_load): Use relocator.
5302 (grub_multiboot_get_mbi_size): Account for sections.
5303 (grub_multiboot_make_mbi): Use relocator and support sections.
5304 (grub_multiboot_add_elfsyms): New function.
5305 (grub_multiboot_free_mbi): Free sections.
5306 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
5307 (grub_linux_real_target): Likewise.
5308 (grub_linux_real_chunk): Likewise.
5309 (grub_linux16_prot_size): Likewise.
5310 (grub_linux16_boot): Use relocator.
5311 (grub_linux_unload): Unload relocator.
5312 (grub_cmd_linux): Use relocator.
5313 (grub_cmd_initrd): Likewise.
5314 * grub-core/loader/i386/pc/ntldr.c: New file.
5315 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
5316 Don't try to guess CPU frequency.
5317 (grub_xnu_set_video): Stretch bitmap.
5318 (grub_xnu_boot): Use relocator.
5319 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
5320 (grub_linux_unload): Free relocator.
5321 (grub_linux_load32): Use relocator.
5322 (grub_linux_load64): Likewise.
5323 (grub_cmd_initrd): Likewise.
5324 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
5325 (grub_multiboot_unload): Unload relocator.
5326 (grub_cmd_multiboot): Use relocator.
5327 (grub_cmd_module): Likewise.
5328 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
5329 Use relocator and support sections.
5330 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
5331 (elf_sec_entsize): Likewise.
5332 (elf_sec_shstrndx): Likewise.
5333 (elf_sections): Likewise.
5334 (grub_multiboot_load): Use relocator.
5335 (grub_multiboot_get_mbi_size): Account for sections.
5336 (grub_multiboot_make_mbi): Use relocator and support sections.
5337 (grub_multiboot_add_elfsyms): New function.
5338 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
5339 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
5340 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
5341 Prototype changed. All users updated.
5342 (grub_xnu_align_heap): Simplified.
5343 (grub_xnu_writetree_toheap): Likewise.
5344 (grub_xnu_unload): Unload relocator.
5345 (grub_cmd_xnu_kernel): Use relocator.
5346 (grub_cmd_xnu_kernel64): Likewise.
5347 (grub_xnu_register_memory): Simplified.
5348 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
5349 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
5350 EFI is finished.
5351 (grub_console_checkkey): Likewise.
5352 (grub_console_getkey): Likewise.
5353 (grub_console_getwh): Likewise.
5354 (grub_console_getxy): Likewise.
5355 (grub_console_gotoxy): Likewise.
5356 (grub_console_cls): Likewise.
5357 (grub_console_setcolorstate): Likewise.
5358 (grub_console_setcursor): Likewise.
5359 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
5360 * grub-core/tests/boot/kbsd.init-i386.S: New file.
5361 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
5362 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
5363 * grub-core/tests/boot/kernel-8086.S: Likewise.
5364 * grub-core/tests/boot/kernel-i386.S: Likewise.
5365 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
5366 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
5367 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
5368 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
5369 * grub-core/tests/boot/knetbsd.cfg: Likewise.
5370 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
5371 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
5372 * grub-core/tests/boot/linux.cfg: Likewise.
5373 * grub-core/tests/boot/linux.init-i386.S: Likewise.
5374 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
5375 * grub-core/tests/boot/linux16.cfg: Likewise.
5376 * grub-core/tests/boot/multiboot.cfg: Likewise.
5377 * grub-core/tests/boot/multiboot2.cfg: Likewise.
5378 * grub-core/tests/boot/ntldr.cfg: Likewise.
5379 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
5380 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
5381 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
5382 New definition.
5383 * include/grub/dl.h (grub_dl_unload_all): Removed.
5384 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
5385 (grub_efi_finish_boot_services): Change prototype.
5386 (grub_efi_is_finished): New variable.
5387 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
5388 Changed prototype.
5389 (grub_efiemu_finish_boot_services): Removed.
5390 (grub_machine_efiemu_init_tables): New prototype.
5391 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
5392 (grub_elf64_phdr_iterate): Likewise.
5393 * include/grub/i386/bsd.h: Include relocator.h.
5394 (freebsd_tag_header): New struct.
5395 (grub_openbsd_bios_mmap): Removed.
5396 (grub_unix_real_boot): Removed.
5397 (grub_freebsd_load_elfmodule32): Changed prototype.
5398 (grub_freebsd_load_elfmodule_obj64): Likewise.
5399 (grub_freebsd_load_elf_meta32): Likewise.
5400 (grub_freebsd_load_elf_meta64): Likewise.
5401 (grub_freebsd_add_meta): Removed.
5402 (grub_netbsd_load_elf_meta32): New prototype.
5403 (grub_netbsd_load_elf_meta64): Likewise.
5404 (grub_bsd_add_meta): Likewise.
5405 (grub_openbsd_ramdisk_descriptor): New struct.
5406 (grub_openbsd_find_ramdisk32): New prototype.
5407 (grub_openbsd_find_ramdisk64): Likewise.
5408 * include/grub/i386/coreboot/loader.h: Removed.
5409 * include/grub/i386/efi/loader.h: Likewise.
5410 * include/grub/i386/ieee1275/loader.h: Likewise.
5411 * include/grub/i386/linux.h (linux_kernel_header): Change void *
5412 to grub_uint32_t.
5413 * include/grub/i386/loader.h: Removed.
5414 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
5415 value.
5416 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
5417 (grub_phys_addr_t): New type.
5418 (grub_vtop): New inline function.
5419 (grub_map_memory): Likewise.
5420 (grub_unmap_memory): Likewise.
5421 * include/grub/i386/multiboot/loader.h: Removed.
5422 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
5423 (NETBSD_BTINFO_CONSOLE): New definition.
5424 (NETBSD_BTINFO_SYMTAB): Likewise.
5425 (NETBSD_BTINFO_MODULES): Likewise.
5426 (NETBSD_BTINFO_FRAMEBUF): Likewise.
5427 (grub_netbsd_bootinfo): New struct.
5428 (grub_netbsd_btinfo_common): Use explicit bitsize.
5429 (grub_netbsd_btinfo_mmap_entry): Removed.
5430 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
5431 (grub_netbsd_btinfo_bootdisk): New struct.
5432 (grub_netbsd_btinfo_symtab): Likewise.
5433 (grub_netbsd_btinfo_serial): Likewise.
5434 (grub_netbsd_btinfo_modules): Likewise.
5435 (grub_netbsd_btinfo_framebuf): Likewise.
5436 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
5437 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
5438 Likewise.
5439 (grub_openbsd_bootargs): Use explicit bitsize.
5440 (grub_openbsd_bootarg_console): New struct.
5441 (GRUB_OPENBSD_COM_MAJOR): New definition.
5442 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
5443 * include/grub/i386/pc/efiemu.h: Removed.
5444 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
5445 * include/grub/i386/qemu/loader.h: Removed.
5446 * include/grub/i386/relocator.h: Rewritten.
5447 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
5448 * include/grub/mips/memory.h: New file.
5449 * include/grub/mips/multiboot.h: Rewritten.
5450 * include/grub/mips/relocator.h: Rewritten.
5451 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
5452 (grub_vtop): New function.
5453 (grub_map_memory): Likewise.
5454 (grub_unmap_memory): Likewise.
5455 * include/grub/misc.h (ALIGN_DOWN): New definition.
5456 * include/grub/mm.h (grub_mm_check_real): New proto.
5457 (GRUB_MM_CHECK): New definition.
5458 * include/grub/mm_private.h: New file.
5459 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
5460 (grub_multiboot_get_mbi_size): Removed.
5461 (grub_multiboot_make_mbi): Change prottype.
5462 (grub_multiboot_set_accepts_video): New proto.
5463 (grub_multiboot_add_elfsyms): Likewise.
5464 (grub_multiboot_payload_eip): New variable.
5465 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
5466 New prototype.
5467 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
5468 New definition.
5469 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
5470 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
5471 * include/grub/powerpc/ieee1275/loader.h: Removed.
5472 * include/grub/powerpc/memory.h: New file.
5473 * include/grub/powerpc/relocator.h: Likewise.
5474 * include/grub/relocator.h: Likewise.
5475 * include/grub/relocator_private.h: Likewise.
5476 * include/grub/sparc64/ieee1275/loader.h: Removed.
5477 * include/grub/x86_64/memory.h: New file.
5478 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
5479 (grub_xnu_heap_malloc): Likewise.
5480 (grub_xnu_heap_real_start): Removed.
5481 (grub_xnu_heap_start): Likewise.
5482 (grub_xnu_relocator): New variable.
5483 (grub_xnu_heap_target_start): Likewise.
5484 * tests/util/grub-shell.in: Support non-pc.
5485 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 5486
5303b85d
VS
54872010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
5490 on malloc error.
5491 (grub_bidi_logical_to_visual): Check that malloc succeded.
5492 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
5493 puts.
5494 (grub_xputs_normal): Likewise.
5495
d768d159
VS
54962010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
5499 extra_dist.
5500
55012010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 * grub-core/efiemu/runtime/efiemu.sh: Removed.
5504
5bf84df4
VS
55052010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5506
5507 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
5508
3626810e
VS
55092010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
5512 dprintf.
5513
a7363f53
BC
55142010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
5515
5516 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
5517
902f75f6
VS
55182010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * grub-core/normal/term.c (print_more): Fix a memory leak.
5521 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
5522 (grub_xputs_normal): Likewise.
5523
3c707967
VS
55242010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
5527 the begining of the string
5528
2053cc07
VS
55292010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/script/script.c (grub_script_parse): Free parsed on
5532 failure.
5533
46422ebf
VS
55342010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
5537 on failure.
5538
9e0fa3f6
VS
55392010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
5542 return.
5543
3393cf16
VS
55442010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5545
5546 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
5547 (scroll_up): Fix a memory leak.
5548
b17540cb
VS
55492010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
5552 errors.
5553
67140446
VS
55542010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 Handle USB pendrives exposed as floppies.
5557
5558 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
5559 floppy.
5560 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5561 Check for partitions on all devices.
5562
e35e46fc
VS
55632010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
5566 (readkey): Likewise.
5567
d24c6190
BC
55682010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5569
5570 Multiple variable names support to "export" command.
5571
5572 * normal/context.c (grub_cmd_export): "export" command supports
5573 multiple variable names.
5574
04ddcc6a
ST
55752010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
5576
5577 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
5578 --target=drive output to Mach device name.
5579
0c8b61d8
BC
55802010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5581
5582 New Automake based build system for GRUB.
5583
5584 * ABOUT-NLS: New file.
5585 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
5586 in Makefile.util.def file.
5587 * Makefile.util.def: New file. Autogen build definitions file for
5588 GRUB host utils.
5589 * conf/Makefile.common: New file. Common variables for GRUB host
5590 utils and target modules.
5591 * conf/Makefile.extra-dist: New file. Extra files for make dist.
5592 * docs/Makefile.am: New file. Automake file for docs.
5593 * gentpl.py: New file. Python script to generate Autogen
5594 template.
5595 * grub-core/Makefile.am: New file. GRUB target modules' rules
5596 that doesn't fit in Makefile.core.def file.
5597 * grub-core/Makefile.core.def: New file. Autogen build
5598 definitions file for GRUB target modules.
5599 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
5600 specific setjmp.S file.
5601 * po/Makefile.am: New file.
5602
5603 * .bzrignore: New ignores.
5604 * INSTALL: New requirements, without Ruby.
5605 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
5606 * autogen.sh: Updated to invoke autogen as necessary.
5607 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
5608 and defines for Automake conditionals.
5609 * geninit.sh: Refactoring.
5610
5611 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
5612 necessary.
5613 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
5614 New prototype.
5615
5616 * include/grub/test.h: Fix functional test modules' naming.
5617 * grub-core/tests/example_functional_test.c: Fix test module name.
5618
5619 * util/misc.c: Hosted versions' of grub functions for libgrub.a
5620 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
5621 * util/grub-editenv.c: Likewise.
5622 * util/grub-fstest.c: Likewise.
5623 * util/grub-mkdevicemap.c: Likewise.
5624 * util/grub-mkfont.c: Likewise.
5625 * util/grub-mkimage.c: Likewise.
5626 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5627 * util/grub-probe.c: Likewise.
5628 * util/grub-script-check.c: Likewise.
5629 * util/i386/pc/grub-setup.c: Likewise.
5630 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5631
5632 * tests/util/grub-shell.in: Fix override directory path.
5633 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
5634 * util/import_gcry.py: Create Makefile.gcry.def file instead.
5635
5636 * util/lvm.c: Update #includes.
5637 * util/raid.c: Likewise.
5638 * util/resolve.c: Likewise.
5639 * grub-core/bus/emu/pci.c: Likewise.
5640 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
5641 * grub-core/lib/posix_wrap/string.h: Likewise.
5642 * grub-core/kern/emu/main.c: Likewise.
5643
5644 * grub-core/gensymlist.sh: New file. Script for generating kernel
5645 symbols file.
5646 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
5647
5648 * grub-core/gentrigtables.c: Fix unused variable warnings.
5649
5650 * Makefile.in: Removed.
5651 * conf/any-emu.rmk: Removed.
5652 * conf/common.rmk: Removed.
5653 * conf/i386-coreboot.rmk: Removed.
5654 * conf/i386-efi.rmk: Removed.
5655 * conf/i386-ieee1275.rmk: Removed.
5656 * conf/i386-multiboot.rmk: Removed.
5657 * conf/i386-pc.rmk: Removed.
5658 * conf/i386-qemu.rmk: Removed.
5659 * conf/i386.rmk: Removed.
5660 * conf/mips-yeeloong.rmk: Removed.
5661 * conf/mips.rmk: Removed.
5662 * conf/powerpc-ieee1275.rmk: Removed.
5663 * conf/sparc64-ieee1275.rmk: Removed.
5664 * conf/tests.rmk: Removed.
5665 * conf/x86-efi.rmk: Removed.
5666 * conf/x86_64-efi.rmk: Removed.
5667 * gendistlist.sh: Removed.
5668 * geninitheader.sh: Removed.
5669 * genkernsyms.sh.in: Removed.
5670 * genmk.rb: Removed.
5671 * gensymlist.sh.in: Removed.
5672 * mkinstalldirs: Removed.
5673 * boot: Moved ...
5674 * grub-core/boot: ... to here.
5675 * bus: Moved ...
5676 * grub-core/bus: ... to here.
5677 * commands: Moved ...
5678 * grub-core/commands: ... to here.
5679 * disk: Moved ...
5680 * grub-core/disk: ... to here.
5681 * efiemu: Moved ...
5682 * grub-core/efiemu: ... to here.
5683 * font: Moved ...
5684 * grub-core/font: ... to here.
5685 * fs: Moved ...
5686 * grub-core/fs: ... to here.
5687 * gencmdlist.sh: Moved ...
5688 * grub-core/gencmdlist.sh: ... to here.
5689 * genemuinit.sh: Moved ...
5690 * grub-core/genemuinit.sh: ... to here.
5691 * genemuinitheader.sh: Moved ...
5692 * grub-core/genemuinitheader.sh: ... to here.
5693 * genfslist.sh: Moved ...
5694 * grub-core/genfslist.sh: ... to here.
5695 * genhandlerlist.sh: Moved ...
5696 * grub-core/genhandlerlist.sh: ... to here.
5697 * genmoddep.awk: Moved ...
5698 * grub-core/genmoddep.awk: ... to here.
5699 * genmodsrc.sh: Moved ...
5700 * grub-core/genmodsrc.sh: ... to here.
5701 * genpartmaplist.sh: Moved ...
5702 * grub-core/genpartmaplist.sh: ... to here.
5703 * genparttoollist.sh: Moved ...
5704 * grub-core/genparttoollist.sh: ... to here.
5705 * genterminallist.sh: Moved ...
5706 * grub-core/genterminallist.sh: ... to here.
5707 * gentrigtables.c: Moved ...
5708 * grub-core/gentrigtables.c: ... to here.
5709 * genvideolist.sh: Moved ...
5710 * grub-core/genvideolist.sh: ... to here.
5711 * gettext: Moved ...
5712 * grub-core/gettext: ... to here.
5713 * gfxmenu: Moved ...
5714 * grub-core/gfxmenu: ... to here.
5715 * gnulib: Moved ...
5716 * grub-core/gnulib: ... to here.
5717 * hello: Moved ...
5718 * grub-core/hello: ... to here.
5719 * hook: Moved ...
5720 * grub-core/hook: ... to here.
5721 * io: Moved ...
5722 * grub-core/io: ... to here.
5723 * kern: Moved ...
5724 * grub-core/kern: ... to here.
5725 * lib: Moved ...
5726 * grub-core/lib: ... to here.
5727 * loader: Moved ...
5728 * grub-core/loader: ... to here.
5729 * mmap: Moved ...
5730 * grub-core/mmap: ... to here.
5731 * normal: Moved ...
5732 * grub-core/normal: ... to here.
5733 * partmap: Moved ...
5734 * grub-core/partmap: ... to here.
5735 * parttool: Moved ...
5736 * grub-core/parttool: ... to here.
5737 * script: Moved ...
5738 * grub-core/script: ... to here.
5739 * term: Moved ...
5740 * grub-core/term: ... to here
5741 * tests/example_functional_test.c: Moved ...
5742 * grub-core/tests/example_functional_test.c: ... to here.
5743 * tests/lib/functional_test.c: Moved ...
5744 * grub-core/tests/lib/functional_test.c: ... to here.
5745 * tests/lib/test.c: Moved ...
5746 * grub-core/tests/lib/test.c: ... to here.
5747 * video: Moved ...
5748 * grub-core/video: ... to here.
5749
645586e6
BC
57502010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5751
5752 Replace --enable-grub-emu-modules with grub-emu-lite.
5753
5754 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
5755 cache.S.
5756
5757 * include/grub/emu/misc.h (grub_emu_init): New prototype.
5758 * kern/emu/full.c: New file. For grub-emu specific initialization.
5759 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
5760 * kern/emu/main.c: Call initialization function grub_emu_init.
5761
5762 * Makefile.in: Include grub-emu-lite in install.
5763 * commands/parttool.c: Use grub_no_autoload to differentiate
5764 between grub-emu and grub-emu-lite.
5765 * include/grub/misc.h: New variable grub_no_autoload.
5766
5767 * conf/any-emu.rmk: New rules for grub-emu-lite.
5768 * configure.ac: Remove --enable-grub-emu-modules.
5769 * genmk.rb: Cleanup unnecessary rules.
5770 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
5771
5772 * normal/main.c: Don't load list files on grub-emu-lite.
5773 * util/misc.c (grub_arch_sync_caches): Removed.
5774
f86a4030
CW
57752010-08-23 Colin Watson <cjwatson@ubuntu.com>
5776
5777 * kern/mips/startup.S (grub_prefix): Update comment to refer to
5778 grub-mkimage rather than grub-mkelfimage.
5779 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5780
06776944
VS
57812010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
5784 a key after CapsLock or NumLock. It's just a qemu bug.
5785
df262419
VS
57862010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
5789 needed by libusb wrapper.
5790
b40ea81b
ST
57912010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5792
5793 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
5794
dee50575
VS
57952010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5796
5797 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
5798 --nounzip is passed.
5799
fb1d7b79
VS
58002010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 USB hotunplugging and USB serial support.
5803
5804 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
5805 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
5806 (grub_uhci_transfer): Respect timeout and set *actual.
5807 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
5808 non-standard length.
5809 (grub_usb_device_attach): Autoload modules.
5810 (GRUB_MOD_INIT): Set grub_term_poll_usb.
5811 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
5812 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
5813 users updated.
5814 (grub_usb_add_hub): Fill nports and children.
5815 (attach_root_port): Receive hub instead of controller.
5816 All users updated. Fill hub->devices.
5817 (grub_usb_root_hub): Allocate hub->devices.
5818 (detach_device): New function.
5819 (poll_nonroot_hub): Fill children and detach devices.
5820 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
5821 actual arguments. All users updated.
5822 (grub_usb_bulk_read_extended): New function.
5823 * bus/usb/serial/common.c: New file.
5824 * bus/usb/serial/ftdi.c: Likewise.
5825 * bus/usb/serial/pl2303.c: Likewise.
5826 * commands/terminal.c (handle_command): Support wildcard.
5827 * commands/usbtest.c: Output "Unknown" instead of empty string.
5828 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
5829 (usbserial_common_mod_SOURCES): New variable.
5830 (usbserial_common_mod_CFLAGS): Likewise.
5831 (usbserial_common_mod_LDFLAGS): Likewise.
5832 (pkglib_MODULES): Add usbserial_pl2303.mod.
5833 (usbserial_pl2303_mod_SOURCES): New variable.
5834 (usbserial_pl2303_mod_CFLAGS): Likewise.
5835 (usbserial_pl2303_mod_LDFLAGS): Likewise.
5836 (pkglib_MODULES): Add usbserial_ftdi.mod.
5837 (usbserial_ftdi_mod_SOURCES): New variable.
5838 (usbserial_ftdi_mod_CFLAGS): Likewise.
5839 (usbserial_ftdi_mod_LDFLAGS): Likewise.
5840 (pkglib_MODULES): Add serial.mod.
5841 (serial_mod_SOURCES): New variable.
5842 (serial_mod_CFLAGS): Likewise.
5843 (serial_mod_LDFLAGS): Likewise.
5844 * conf/i386-pc.rmk: Likewise.
5845 * conf/mips-yeeloong.rmk: Likewise.
5846 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
5847 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5848 * disk/usbms.c (first_available_slot): New variable.
5849 (grub_usbms_attach): Don't reuse free slots due to potential cache
5850 problems.
5851 * include/grub/serial.h: Moved to ..
5852 * include/grub/ns8250.h: ...this.
5853 * include/grub/serial.h: New file.
5854 * include/grub/term.h (grub_term_poll_usb): New variable.
5855 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
5856 readkey. All users updated.
5857 (grub_terminfo_output_state): Pass term to put.
5858 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
5859 (grub_usb_controller_dev): Add timeout and actual arguments to
5860 transfer. All users updated.
5861 (grub_usb_interface): New field detach_data.
5862 (grub_usb_device): New fields children and nports.
5863 (grub_usb_ep_type_t): New type.
5864 (grub_usb_get_ep_type): New function.
5865 (grub_usb_bulk_read_extended): Likewise.
5866 * include/grub/usbdesc.h (grub_usb_desc): New type.
5867 * include/grub/usbserial.h: New file.
5868 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
5869 * kern/term.c (grub_term_poll_usb): New variable.
5870 (grub_getkey): Call grub_term_poll_usb if set.
5871 (grub_checkkey): Likewise.
5872 (grub_getkeystatus): Likewise.
5873 * term/serial.c: Moved controller-specific parts to ...
5874 * term/ns8250.c: ... here.
5875 * term/serial.c: Mostly rewritten.
5876 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
5877 according to spec.
5878
21a313de
RM
58792010-08-20 Robert Millan <rmh@gnu.org>
5880
5881 Make kFreeBSD code more generic to support ext2fs as root, ufs as
5882 a separate module and maybe other interesting combinations.
5883
5884 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
5885 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
5886 (kfreebsd_entry): Add generic filesystem module load routine.
5887 Map GRUB `ext2' to kFreeBSD `ext2fs'.
5888
63c734a6
CW
58892010-08-20 Colin Watson <cjwatson@ubuntu.com>
5890
5891 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
5892 "numcenter" (I misunderstood the purpose of this entry).
5893 * docs/grub.texi (sendkey): Likewise.
5894
c4d16542
CW
58952010-08-20 Colin Watson <cjwatson@ubuntu.com>
5896
5897 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
5898 status flag options; simply omitting the option is equivalent and
5899 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
5900 (keysym_table): Rename "num5numlock" to "numlock".
5901 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
5902 can uniformly say that only the last of multiple `sendkey'
5903 invocations has any effect.
5904 * docs/grub.texi (sendkey): New section.
5905
93541d66
CW
59062010-08-19 Colin Watson <cjwatson@ubuntu.com>
5907
5908 * commands/i386/pc/sendkey.c (options): Fix three typos.
5909
b4ece5e1
VS
59102010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5911
5912 Implement sendkey support.
5913
5914 * commands/i386/pc/sendkey.c: New file.
5915 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
5916 (sendkey_mod_SOURCES): New variable.
5917 (sendkey_mod_CFLAGS): Likewise.
5918 (sendkey_mod_LDFLAGS): Likewise.
5919
51f1f5af
CW
59202010-08-18 Colin Watson <cjwatson@ubuntu.com>
5921
5922 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
5923 fix warnings from Autoconf.
5924
9da94e05
CW
59252010-08-18 Colin Watson <cjwatson@ubuntu.com>
5926
5927 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
5928 to avoid false positives with some assemblers that output things
5929 like "someprefix_func" as part of their output.
5930
729a0f2e
RM
59312010-08-15 Robert Millan <rmh@gnu.org>
5932
5933 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
5934 errors.
5935 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
5936 grub_get_libzfs_handle() errors.
5937
f3710e08
RM
59382010-08-14 Robert Millan <rmh@gnu.org>
5939
5940 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
5941 filesystem is not ZFS.
5942
7a3c13de
BC
59432010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5944
5945 Fix for misspelled color names defaulting to black/black (bug
5946 reported by Doug Nazar)
5947
5948 * include/grub/normal.h (grub_parse_color_name_pair): Add return
5949 status to prototype.
5950 * normal/color.c (grub_parse_color_name_pair): Return failure
5951 status.
5952 (grub_env_write_color_normal): Ignore bad color names.
5953 (grub_env_write_color_highlight): Likewise.
5954 * normal/main.c (GRUB_MOD_INIT): Set default color names.
5955
ab8ba50d
BC
59562010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5957
5958 "shift" command support to GRUB script.
5959
5960 * include/grub/script_sh.h (grub_script_shift): New prototype.
5961 * script/execute.c (grub_script_shift): New function.
5962 * script/main.c (grub_script_init): Register shift command.
5963 (grub_script_fini): Unregister shift command.
5964 * util/grub-script-check.c (grub_script_cmd_shift): New function.
5965
5966 * tests/grub_script_shift.in: New testcase.
5967 * conf/tests.rmk: Rules for new testcase.
5968
4d61999e
BC
59692010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5970
5971 "continue" command support to GRUB script.
5972
5973 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
5974 (grub_script_break): Continue support.
5975 * script/main.c (grub_script_init): Register continue command.
5976 (grub_script_fini): Unregister continue command.
5977
5978 * tests/grub_script_continue.in: New testcase.
5979 * conf/tests.rmk: Rules for new testcase.
5980
4df51e00
BC
59812010-08-12 BVK Chaitanya <bvk@dbook>
5982
5983 "break" command support to GRUB script.
5984
5985 * conf/common.rmk: Rule updates to grub-script-check.
5986 * include/grub/misc.h (grub_min): New function.
5987 * include/grub/script_sh.h (grub_script_init): New prototype.
5988 (grub_script_fini): New prototype.
5989 (grub_script_break): New prototype.
5990 * script/main.c (grub_script_init): New function.
5991 (grub_script_fini): New function.
5992 * script/execute.c (grub_script_break): New function.
5993 * normal/main.c: Calls to grub_script_{init,fini}.
5994 * util/grub-script-check.c (grub_script_break): New function.
5995
5996 * tests/grub_script_break.in: New testcase.
5997 * conf/tests.rmk: Rules for new test case.
5998
f12c8420
BC
59992010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
6000
6001 Function parameters support to GRUB script.
6002
6003 * script/yylex.l (VARIABLE): Regular expression update.
6004 * script/function.c (grub_script_function_call): Moved ...
6005 * script/execute.c (grub_script_function_call): ... to here.
6006 (grub_script_execute_arglist_to_argv): Removed.
6007 (grub_script_arglist_to_argv): New function.
6008 * script/argv.c: New file.
6009 (grub_script_argv_free): New function.
6010 (grub_script_argv_next): Likewise.
6011 (grub_script_argv_append): Likewise.
6012 (grub_script_argv_split_append): Likewise.
6013 * include/grub/script_sh.h (grub_script_argv): New struct.
6014 (grub_script_argv_free): New function.
6015 (grub_script_argv_next): Likewise.
6016 (grub_script_argv_append): Likewise.
6017 (grub_script_argv_split_append): Likewise.
6018
6019 * conf/common.rmk (normal.mod): New source script/argv.c.
6020
6021 * tests/grub_script_echo1.in: More tests.
6022 * tests/grub_script_vars1.in: Likewise.
6023 * tests/grub_script_functions.in: New test case.
6024 * conf/tests.rmk: Rules for new testcase.
6025
8022b748
BC
60262010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
6027
6028 Remove grub_script_cmdblock struct.
6029
6030 * include/grub/script_sh.h: Remove grub_script_cmdblock.
6031 * script/parser.y: Likewise.
6032 * script/execute.c: Rename cmdblock suffix to cmdlist.
6033 * script/script.c: Likewise.
6034 * util/grub-script-check.c: Likewise.
6035
79a6ba61
YB
60362010-08-11 Yves Blusseau <blusseau@zetam.org>
6037
6038 * .bzrignore: add grub-macho2img
6039
d04b9414
VS
60402010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
6041
6042 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
6043
f947ab49
VS
60442010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 Remove the dump of sm712 initialisation sequence.
6047
6048 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
6049 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
6050 (GRUB_VGA_IO_MISC_WRITE): Likewise.
6051 (GRUB_VGA_CR_*): Added many registers.
6052 (GRUB_VGA_SR_*): Likewise.
6053 (GRUB_VGA_GR_*): Likewise.
6054 (grub_vga_write_arx): New function.
6055 (grub_video_hw_config): New struct.
6056 (grub_vga_set_geometry): New function.
6057 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
6058 GRUB_PCI_CLASS_SUBCLASS_VGA.
6059 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
6060 * video/sm712.c (grub_sm712_write_reg): New function
6061 (grub_sm712_read_reg): Likewise.
6062 (grub_sm712_sr_write): Likewise.
6063 (grub_sm712_gr_write): Likewise.
6064 (grub_sm712_cr_write): Likewise.
6065 (grub_sm712_write_arx): Likewise.
6066 (grub_sm712_cr_shadow_write): Likewise.
6067 (grub_sm712_write_dda_lookup): Likewise.
6068 (grub_video_sm712_setup): Initialise the video rather then
6069 blindly replay the dump.
6070 (main) [TEST]: Add a routine to be able to compile as standalone for
6071 tests.
6072 * video/sm712_init.c (sm712_init): Removed.
6073 (sm712_sr_seq1): New array.
6074 (sm712_sr_seq2): Likewise.
6075
f0206638
VS
60762010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 * include/grub/vga.h: Add missing grub/pci.h include.
6079
2764da3b
YB
60802010-08-10 Yves Blusseau <blusseau@zetam.org>
6081
6082 * util/grub-macho2img.c (main): fix typo
6083
cf0c775e
VS
60842010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
6087 (grub_vga_gr_read): Likewise.
6088 (grub_vga_cr_write): Likewise.
6089 (grub_vga_cr_read): Likewise.
6090 (grub_vga_sr_write): Likewise.
6091 (grub_vga_sr_read): Likewise.
6092 (grub_vga_palette_read): Likewise.
6093 (grub_vga_palette_write): Likewise.
6094 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
6095 (grub_sm712_sr_read): New function.
6096 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
6097 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
6098
07f360e9
RM
60992010-08-09 Robert Millan <rmh@gnu.org>
6100
6101 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
6102 out unused variables on non-ZFS build.
6103
346c2072
RM
61042010-08-08 Robert Millan <rmh@gnu.org>
6105
6106 Fix path generation for sub-filesystems in ZFS.
6107
6108 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
6109 missing slash.
6110
71175420
RM
61112010-08-08 Robert Millan <rmh@gnu.org>
6112
6113 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
6114
0d8286f3
RM
61152010-08-08 Robert Millan <rmh@gnu.org>
6116
6117 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
6118 exist, issue a proper error message (rely on `ls' for translated
6119 strings).
6120
55dd2924
RM
61212010-08-08 Robert Millan <rmh@gnu.org>
6122
6123 Fix grub-probe invocation.
6124
6125 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
6126
d3dd9e80
RM
61272010-08-04 Robert Millan <rmh@gnu.org>
6128
6129 * configure.ac: Remove checks for getfsstat() and getmntany().
6130 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
6131 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
6132 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
6133 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
6134 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
6135 function.
6136 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
6137 via find_mount_point_from_dir() and getfsstat() / getmntany().
6138
0de22aa9
RM
61392010-08-04 Robert Millan <rmh@gnu.org>
6140
6141 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6142 (grub_find_zpool_from_mount_point): Merge into ...
6143 (grub_find_zpool_from_dir): ... this.
6144 * kern/emu/misc.c: Likewise.
6145
6146 * kern/emu/misc.c
6147 (grub_make_system_path_relative_to_its_root): Replace
6148 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
6149 with grub_find_zpool_from_dir().
6150 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
6151
62858144
RM
61522010-08-04 Robert Millan <rmh@gnu.org>
6153
6154 Support OpenSolaris in ZFS device resolution.
6155
6156 * configure.ac: Check for getmntany().
6157 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
6158 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
6159 support.
6160
9dd6fd50
RM
61612010-08-03 Robert Millan <rmh@gnu.org>
6162
6163 Fix grub-emu build.
6164
6165 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
6166 * include/grub/emu/misc.h: ... here.
6167
6168 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
6169 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
6170
6171 * util/misc.c: Remove `<grub/util/libzfs.h>'.
6172 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
6173 (grub_get_libzfs_handle): Move to ...
6174 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
6175 (grub_get_libzfs_handle): ... here.
6176
c9f7ff97
BC
61772010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
6178
6179 * script/execute.c (grub_script_execute_cmdline): Check for NULL
6180 as command name case.
6181
a870a783
CW
61822010-08-02 Colin Watson <cjwatson@ubuntu.com>
6183
6184 * disk/raid.c (insert_array): Select unique numbers for named arrays
6185 as well, for use as keys in the disk cache.
6186
c7db243b
RM
61872010-08-01 Robert Millan <rmh@gnu.org>
6188
6189 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
6190 kFreeBSD device name, except on ZFS where the filesystem label is
6191 used.
6192 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
6193 `/boot/zfs/zpool.cache'.
6194 Set mountfrom kernel variable using ${kfreebsd_device}.
6195
f7abdefb
RM
61962010-08-01 Robert Millan <rmh@gnu.org>
6197
6198 Make it even harder to use uninitialized `libzfs_handle' (and
6199 make the interface a bit simpler).
6200
6201 * include/grub/util/misc.h (grub_util_init_libzfs)
6202 (libzfs_handle): Remove.
6203 (grub_get_libzfs_handle): New prototype.
6204
6205 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
6206 attribute.
6207 (grub_util_init_libzfs): Remove.
6208 (grub_get_libzfs_handle): New function.
6209
6210 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
6211 grub_get_libzfs_handle() to obtain a libzfs handle instead of
6212 accessing `libzfs_handle' directly.
6213
c882acc0
RM
62142010-08-01 Robert Millan <rmh@gnu.org>
6215
6216 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6217 (grub_find_zpool_from_mount_point): New function prototypes.
6218
6219 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6220 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6221
6222 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6223 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6224 `static' attribute.
6225
6226 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6227 finding zpool from mount point into ...
6228 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6229
6230 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6231 requested path is part of a ZFS pool, use
6232 grub_find_zpool_from_mount_point() to detect its filesystem name,
6233 and generate a path with `/fsname@path' syntax.
6234
8bfe31d8
CW
62352010-08-01 Colin Watson <cjwatson@ubuntu.com>
6236
6237 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
6238 (void) rather than () so that this is a proper prototype.
6239
553df63d
VS
62402010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
6243
8687cf07
VS
62442010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
6247 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
6248
ea9be8ea
CW
62492010-08-01 Colin Watson <cjwatson@ubuntu.com>
6250
6251 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
6252
6eea041a
CW
62532010-08-01 Colin Watson <cjwatson@ubuntu.com>
6254
6255 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
6256
2cfb45df
CW
62572010-08-01 Colin Watson <cjwatson@ubuntu.com>
6258
6259 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
6260 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
6261 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
6262 disable gfxpayload.
6263 (Shell-like scripting): Add real content.
6264 (Serial terminal): Suggest `terminal_input serial; terminal_output
6265 serial' rather than putting the two commands on separate lines,
6266 since console input will be inoperative after the first command.
6267 (menuentry): Document --class, --users, and --hotkey options.
6268 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
6269 Vladimir Serbinenko).
6270
7decd202
VS
62712010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
62722010-08-01 Colin Watson <cjwatson@ubuntu.com>
6273
6274 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
6275
c882acc0
RM
62762010-08-01 Robert Millan <rmh@gnu.org>
6277
6278 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6279 (grub_find_zpool_from_mount_point): New function prototypes.
6280
6281 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6282 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6283
6284 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6285 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6286 `static' attribute.
6287
6288 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6289 finding zpool from mount point into ...
6290 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6291
6292 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6293 requested path is part of a ZFS pool, use
6294 grub_find_zpool_from_mount_point() to detect its filesystem name,
6295 and generate a path with `/fsname@path' syntax.
6296
deb0caa3
RM
62972010-08-01 Robert Millan <rmh@gnu.org>
6298
6299 Prevent accidental use of uninitialized libzfs_handle.
6300
6301 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
6302 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
6303 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
6304
ce04ef47
CW
63052010-08-01 Colin Watson <cjwatson@ubuntu.com>
6306
6307 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
6308 util/grub.d/10_linux.in). Fixes Debian bug #591093.
6309
ebf53056
RM
63102010-08-01 Robert Millan <rmh@gnu.org>
6311
6312 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 6313
3710bb6b
RM
63142010-07-31 Robert Millan <rmh@gnu.org>
6315
6316 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
6317
8072efeb
RM
63182010-07-31 Robert Millan <rmh@gnu.org>
6319
6320 * kern/emu/misc.c: Add missing license header.
6321
3169f4c7
RM
63222010-07-31 Robert Millan <rmh@gnu.org>
6323
6324 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
6325
6326 * include/grub/util/libnvpair.h: Include `<config.h>'.
6327 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
6328 declaring libnvpair prototypes ourselves.
6329 * include/grub/util/libzfs.h: Include `<config.h>'.
6330 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
6331 declaring libzfs prototypes ourselves.
6332
6333 (libzfs_handle): Moved to ...
6334 * include/grub/util/misc.h (libzfs_handle): ... here.
6335 Include `<grub/util/libzfs.h>'.
6336
c9a00aee
RM
63372010-07-30 Robert Millan <rmh@gnu.org>
6338
6339 * include/grub/emu/misc.h: Add missing license header.
6340
a184f9c8
RM
63412010-07-30 Robert Millan <rmh@gnu.org>
6342
6343 Enable `grub-probe -t device' resolution on ZFS.
6344
6345 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
6346 * include/grub/util/libnvpair.h: New file.
6347 * include/grub/util/libzfs.h: New file.
6348
6349 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
6350 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
6351 `<grub/util/libnvpair.h>'.
6352 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
6353
6354 (find_mount_point_from_dir): New static function.
6355 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
6356 function.
6357 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
6358 find_root_device_from_libzfs() before ressorting to find_root_device().
6359
6360 * include/grub/util/misc.h (grub_util_init_libzfs): New function
6361 prototype.
6362 * util/misc.c: Include `<grub/util/libzfs.h>'.
6363 (grub_util_init_libzfs): New function.
6364 [HAVE_LIBZFS] (libzfs_handle): New global variable.
6365 [HAVE_LIBZFS] (fini_libzfs): New static function.
6366 (grub_util_init_libzfs): New function.
6367 * util/grub-probe.c (main): Call grub_util_init_libzfs().
6368
f7790cdd
RM
63692010-07-30 Robert Millan <rmh@gnu.org>
6370
6371 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
6372 (xmalloc, xrealloc, xstrdup, xasprintf): Add
6373 `warn_unused_result' attribute.
6374 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
6375 (grub_xasprintf, grub_xvasprintf): Likewise.
6376 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
6377
0806b63c
RM
63782010-07-29 Robert Millan <rmh@gnu.org>
6379
6380 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
6381 (probe): Handle `PRINT_FS_LABEL'.
6382 (main): Handle `-t fs_label'.
6383
9f841f5c
RM
63842010-07-29 Robert Millan <rmh@gnu.org>
6385
6386 * configure.ac: Remove grub-mkisofs checks.
6387
46371121
VS
63882010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * util/ieee1275/grub-install.in: Don't use empty grub_device.
6391 Reported by: Lennart Sorensen.
6392
63932010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
6396 prior to terminal_input/terminal_output separation. It's been over 1.5
6397 years and those versions weren't widely deployed.
6398
a9600892
CW
63992010-07-22 Colin Watson <cjwatson@ubuntu.com>
6400
6401 * disk/raid.c (insert_array): Don't count named arrays when looking
6402 for unused array numbers.
697e053c 6403 Reported and tested by: Michael Guntsche.
a9600892 6404
c03507df
CW
64052010-07-20 Colin Watson <cjwatson@ubuntu.com>
6406
6407 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
6408 implementation of this so that grub-emu links again, with a note
6409 that this should support hotplugging in the future.
6410
b26f1c11
CW
64112010-07-20 Colin Watson <cjwatson@ubuntu.com>
6412
6413 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6414
efc9d7f1
CW
64152010-07-20 Colin Watson <cjwatson@ubuntu.com>
6416
6417 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
6418 handle on failure.
6419 (grub_loopback_close): Remove empty function.
6420 (grub_loopback_dev): Remove close method.
6421
dd8ff5c9
CW
64222010-07-20 Colin Watson <cjwatson@ubuntu.com>
6423
6424 Disable EFI cursor when the EFI console becomes inactive.
6425
6426 * term/efi/console.c (grub_efi_console_init): New function.
6427 (grub_efi_console_fini): New function.
6428 (grub_console_term_output): Register init and fini methods.
6429
5e3bec67
VS
64302010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 * tests/util/grub-shell-tester.in: Remove bashism and declare as
6433 sh script.
6434
afaec079
VS
64352010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 * disk/loopback.c (grub_loopback): Replace filename with file.
6438 (delete_loopback): Handle new semantics.
6439 (grub_cmd_loopback): Likewise.
6440 (grub_loopback_iterate): Likewise.
6441 (grub_loopback_close): Likewise.
6442
a6a11f3c
VS
64432010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
6446 with -p "".
6447 Reported by: Tito Keitel.
6448
64a638b0
VS
64492010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * docs/grub.texi (Naming convention): Document new naming convention.
6452
ab8ba957
VS
64532010-07-20 Vadim Solomin <vadic052@gmail.com>
64542010-07-20 Colin Watson <cjwatson@ubuntu.com>
6455
6456 Generate device.map in something closer to the old ordering.
6457
6458 * util/deviceiter.c (struct device): New declaration.
6459 (compare_file_names): Rename to ...
6460 (compare_devices): ... this. Sort by kernel name in preference to
6461 the stable by-id name, but keep the latter as a fallback comparison.
6462 Update header comment.
6463 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
6464 of `struct device' rather than of plain file names.
6465
a29d6a4b
TF
64662010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
6467
6468 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
6469 on i386.
6470
39d824e8
VS
64712010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6472
6473 * commands/acpi.c (setup_common_tables): Use sizeof instead of
6474 hardcoding size.
6475 (setv1table): Likewise.
6476
f058276b
FZ
64772010-07-20 Colin Watson <cjwatson@ubuntu.com>
6478
6479 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
6480 removing the homehost if present.
6481 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
6482 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
6483 removing the homehost if present.
6484 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
6485 if possible.
6486 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
6487
6488 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
6489 parameter. Set its pointer target to 0.
6490 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
6491 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
6492 `data_offset' value from the superblock for 1.x metadata.
6493 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
6494 data on the device.
6495 (insert_array): Record the start sector of data on the device.
6496 (grub_raid_register): Pass start_sector parameters to
6497 grub_raid_list->detect and insert_array.
6498 * include/grub/raid.h (struct grub_raid_array): Add start_sector
6499 member.
6500 (struct grub_raid): Add start_sector parameter to `detect'.
6501
6502 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
6503 __attribute__ ((packed)), leaving a comment.
6504 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
6505 (grub_mdraid_detect_09): ... here and ...
6506 (grub_mdraid_detect_1x): ... here.
6507
65082010-07-20 Peter Henn <peter.henn@web.de>
6509
6510 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
6511 chunk size and disk size, which are already given as sector counts
6512 as distinct from the 0.90 units. Fetch the correct device number
6513 from the role table instead of using the table index.
6514
65152010-07-20 Felix Zielcke <fzielcke@z-51.de>
6516
6517 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
6518 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
6519 (WriteMostly1): New macro.
6520 Set array->name to NULL for metadata format 0.90. Add support for
6521 metadata 1.x. Fix some comments.
6522 * disk/raid.c (): Add support for name based RAID arrays. Fix a
6523 few comments.
6524 * util/getroot.c (grub_util_get_grub_dev): Add support for
6525 /dev/md/name style devices.
6526
4b761da9
CW
65272010-07-20 Colin Watson <cjwatson@ubuntu.com>
6528
6529 * .bzrignore: Ignore 20_linux_xen.
6530
5771289a
CW
65312010-07-17 Colin Watson <cjwatson@ubuntu.com>
6532
6533 * util/import_unicode.py: Remove unnecessary imports.
6534
5dab68df
AN
65352010-07-17 Aleš Nesrsta <starous@volny.cz>
6536
6537 Hotplugging and USB hub support.
6538
6539 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
6540 (grub_ohci): Likewise.
6541 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
6542 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
6543 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
6544 (GRUB_OHCI_CTRL_EDS): Likewise.
6545 (GRUB_OHCI_BULK_EDS): Likewise.
6546 (GRUB_OHCI_TDS): Likewise.
6547 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
6548 (grub_ohci_ed_phys2virt): New function.
6549 (grub_ohci_virt_to_phys): Likewise.
6550 (grub_ohci_td_phys2virt): Likewise.
6551 (grub_ohci_td_virt2phys): Likewise.
6552 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
6553 attachment.
6554 (grub_ohci_find_ed): New function.
6555 (grub_ohci_alloc_td): Likewise.
6556 (grub_ohci_free_td): Likewise.
6557 (grub_ohci_free_tds): Likewise.
6558 (grub_ohci_transfer): Use previously allocated memory.
6559 (grub_ohci_portstatus): Reset status changed bit.
6560 (grub_ohci_detect_dev): Supply status changed.
6561 (grub_ohci_fini_hw): Free memory.
6562 (grub_ohci_restore_hw): Reallocate memory.
6563 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
6564 Reset status change.
6565 (grub_uhci_detect_dev): Supply status_change.
6566 * bus/usb/usb.c (attach_hooks): New var.
6567 (grub_usb_device_attach): New function.
6568 (grub_usb_register_attach_hook_class): Likewise.
6569 (grub_usb_unregister_attach_hook_class): Likewise.
6570 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
6571 (grub_usb_add_hub): Reset connection changed bit.
6572 (attach_root_port): New function.
6573 (grub_usb_root_hub): Likewise.
6574 (poll_nonroot_hub): Likewise.
6575 (grub_usb_poll_devices): Likewise.
6576 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
6577 * disk/usbms.c (grub_usbms_open): Use device hooks.
6578 (grub_usbms_iterate) :Poll devices.
6579 (grub_usbms_finddevs): Split into ...
6580 (grub_usbms_attach): ... this ...
6581 (grub_usbms_attach): ... and this.
6582 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
6583 in detect_dev.
6584 (grub_usb_interface): New fields attached and detach_hook.
6585 (grub_usb_attach_hook_class): New type.
6586 (grub_usb_attach_desc): New struct.
6587 (grub_usb_register_attach_hook_class): New function.
6588 (grub_usb_unregister_attach_hook_class): Likewise.
6589 (grub_usb_poll_devices): Likewise.
6590 (grub_usb_device_attach): Likewise.
6591 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
6592 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
6593
3222efaf
VS
65942010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
6597 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
6598 delta determination style. Works with most NetBSD partitions too.
6599
139b714a
VS
66002010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
6603 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
6604
986aad56
VS
66052010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6606
6607 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
6608
99be513c
AB
66092010-07-14 Anton Blanchard <anton@samba.org>
6610
6611 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
6612 ET_DYN files.
6613
18075f62
GS
66142010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6615
6616 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
6617
8d9a5b15
GS
66182010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6619
6620 * kern/partition.c (grub_partition_check_containment): New function to
6621 check that a partition is physically contained in a parent. Since
6622 offsets are relative (and non-negative), this reduces to checking that
6623 the partition ends before its parent.
6624 (grub_partition_map_probe): Discard out-of-range sub-partitions.
6625 (grub_partition_iterate): Likewise.
6626 * include/grub/partition.h (grub_partition_map): Slightly more detailed
6627 comments.
6628 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
6629 partitions that start before their parent, and add debug printfs.
6630
19563c25
CW
66312010-07-13 Colin Watson <cjwatson@ubuntu.com>
6632
6633 * Makefile.in (.SUFFIX): Spell correctly, as ...
6634 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
6635 bare module name without `.mod', e.g. `test') tried to invoke a
6636 Modula-2 compiler.
6637
1a1f1e67
CW
66382010-07-13 Colin Watson <cjwatson@ubuntu.com>
6639
6640 * README: Point to the Info manual.
6641
811b0dca
JS
66422010-07-13 Jiro SEKIBA <jir@unicus.jp>
6643
6644 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
6645 2nd superblock position from partition size.
6646
e4f4eafc
CW
66472010-07-10 Colin Watson <cjwatson@ubuntu.com>
6648
6649 * Makefile.in (MAINTAINER_CLEANFILES): Remove
6650 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
6651 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
6652 outputs.
6653
4274c30f
VS
66542010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 Restructure SCSI .id handling.
6657 Reported and tested by: Aleš Nesrsta.
6658
6659 * disk/ata.c (grub_atapi_close): Removed. All users updated.
6660 (grub_atapi_dev): Changed .name to "ata". New field .id.
6661 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
6662 (grub_usbms_dev): New field .id.
6663 * disk/scsi.c (grub_scsi_iterate): Generate name.
6664 (grub_scsi_open): Parse name.
6665 * include/grub/scsi.h (grub_make_scsi_id): New function.
6666 (grub_scsi_dev): Change iterate and open to number instead of naming
6667 busses. All users updated.
6668 (grub_scsi): Remove name. Add .bus.
6669
5bc24388
VS
66702010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 * commands/help.c (grub_cmd_help): Fix a typo.
6673
249975ba
VS
66742010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
6677 Reported and tested by: Colin Watson.
6678
3eaac1a1
VS
66792010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
6682 in this context.
6683
becce1b1
VS
66842010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
6687
f7bf0918
CW
66882010-07-07 Colin Watson <cjwatson@ubuntu.com>
6689
6690 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
6691 indentation.
6692
0b0f9620
CW
66932010-07-06 Colin Watson <cjwatson@ubuntu.com>
6694
6695 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
6696 and disk/raid6_recover.c.
6697 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6698 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
6699
1e545469
CW
67002010-07-06 Colin Watson <cjwatson@ubuntu.com>
6701
6702 * term/gfxterm.c (repaint_schedulded): Rename to ...
6703 (repaint_scheduled): ... this. Update all callers.
6704 (repaint_was_schedulded): Rename to ...
6705 (repaint_was_scheduled): ... this. Update all callers.
6706
5357687a
CW
67072010-07-06 Colin Watson <cjwatson@ubuntu.com>
6708
6709 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
6710 which we expect to be handled by upper layers.
6711
29d7e783
BC
67122010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
6713
6714 * bus/usb/usbhub.c: #include time.h header.
6715
37582066
CW
67162010-07-06 Colin Watson <cjwatson@ubuntu.com>
6717
6718 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
6719 entry_name also for entries without stat blocks (e.g. ".."); fixes
6720 corruption of the first entry in a directory.
6721
c8c06953
CW
67222010-07-06 Colin Watson <cjwatson@ubuntu.com>
6723
6724 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
6725 after setting gfxterm as the active terminal. GRUB_BACKGROUND
6726 doesn't work otherwise.
6727
e75056f1
CW
67282010-07-05 Colin Watson <cjwatson@ubuntu.com>
6729
6730 * docs/grub.texi (Features): Update list of supported file systems.
6731 (GNU/Linux): Update for GRUB 2.
6732 (Serial terminal): Remove mention of --disable-serial, which was a
6733 GRUB Legacy configure option. Update instructions to use
6734 `terminal_input' and `terminal_output' rather than `terminal'.
6735 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
6736 configuration' and `Installing GRUB using grub-install'.
6737 (Menu entry editor): Update for GRUB 2.
6738 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
6739 Document new -a, -u, and -v options.
6740 (initrd): New section.
6741 (initrd16): New section.
6742 (linux): New section.
6743 (linux16): New section.
6744 (search): The `var' argument to `--set' is optional.
6745 (GRUB only offers a rescue shell): Go into a little more detail on
6746 drive ordering.
6747
5cf69151
CW
67482010-07-05 Colin Watson <cjwatson@ubuntu.com>
6749
6750 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
6751
e3f90044
CW
67522010-07-05 Colin Watson <cjwatson@ubuntu.com>
6753
6754 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
6755 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
6756
38d8f4f3
CW
67572010-07-05 Colin Watson <cjwatson@ubuntu.com>
6758
6759 * util/i386/pc/grub-setup.c (setup): Rename prefix to
6760 install_prefix, in line with install_dos_part and install_bsd_part.
6761 Add new prefix variable, which is copied to install_prefix after
6762 comparing core.img in memory with the one read from disk in the
6763 no-embedding case, and use that rather than overwriting
6764 install_prefix immediately when installing to a partition.
6765 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
6766 Bicakci.
6767
57ebd41e
GS
67682010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6769
6770 * configure.ac: Avoid == in test command, it's not portable.
6771 * util/grub.d/30_os-prober.in: Likewise.
6772
cb7f64b2
CW
67732010-07-04 Colin Watson <cjwatson@ubuntu.com>
6774
6775 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
6776
6b654bb0
GS
67772010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6778
6779 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
6780 multiple (top-level) partmaps.
6781
72a2026d
VS
67822010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 6785 Reported by: Tino Keitel.
72a2026d 6786
df3eb88f
VS
67872010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 Bidi and diacritics support.
6790
6791 * Makefile.in (widthspec.bin): New target.
6792 (widthspec.h): Likewise.
6793 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
6794 * autogen.sh: Generate unidata.c.
6795 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
6796 * commands/ls.c (grub_ls_list_devices): Likewise.
6797 (grub_ls_list_files): Likewise.
6798 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
6799 (grub_mini_cmd_lsmod): Likewise.
6800 * commands/read.c: Likewise.
6801 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
6802 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
6803 * lib/arg.c (grub_arg_show_help): Likewise.
6804 * lib/crypto.c (grub_password_get): Likewise.
6805 * normal/auth.c (grub_username_get): Likewise.
6806 * normal/misc.c (grub_normal_print_device_info): Likewise.
6807 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
6808 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
6809 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
6810 (normal/charset.c_DEPENDENCIES): New variable.
6811 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
6812 (pkglib_MODULES): Remove charset.mod.
6813 (charset_mod_SOURCES): Removed.
6814 (charset_mod_CFLAGS): Likewise.
6815 (charset_mod_LDFLAGS): Likewise.
6816 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
6817 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
6818 and term/tparm.c.
6819 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6820 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6821 (kernel_img_HEADERS): Add terminfo.h.
6822 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
6823 Fill ->font. Reverse ascii bitmaps.
6824 (grub_font_get_xheight): New function.
6825 * font/font.c (grub_font_get_string_width): Moved from here ...
6826 * gfxmenu/font.c (grub_font_get_string_width): ... here.
6827 * font/font.c (grub_font_draw_string): Moved from here ...
6828 * gfxmenu/font.c (grub_font_draw_string): ... here.
6829 * font/font.c (grub_font_dup_glyph): New function.
6830 (grub_font_blit_glyph): Likewise.
6831 (grub_font_blit_glyph_mirror): Likewise.
6832 (blit_comb): Likewise.
6833 (grub_font_construct_dry_run): Likewise.
6834 (grub_font_get_constructed_device_width): Likewise.
6835 (grub_font_construct_glyph): Likewise.
6836 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
6837 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
6838 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
6839 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
6840 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
6841 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
6842 (grub_font_get_xheight): New proto.
6843 (grub_font_get_constructed_device_width): Likewise.
6844 (grub_font_construct_glyph): Likewise.
6845 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
6846 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
6847 * include/grub/font.h (grub_font_draw_string): Moved from here ...
6848 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
6849 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
6850 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
6851 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
6852 (grub_console_getcharwidth): Likewise.
6853 * include/grub/misc.h (grub_xputs): New proto.
6854 (grub_puts): Inlined.
6855 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
6856 (grub_normal_get_line_counter): Removed.
6857 (grub_install_newline_hook): Likewise.
6858 (grub_normal_get_char_counter): New proto.
6859 (grub_normal_reset_more): Likewise.
6860 (grub_xputs_normal): Likewise.
6861 * include/grub/powerpc/ieee1275/console.h: Removed.
6862 * include/grub/sparc64/ieee1275/console.h: Likewise.
6863 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
6864 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
6865 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
6866 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
6867 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
6868 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
6869 (grub_term_input): Pass reference to self. All users updated.
6870 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
6871 Pass reference to self. New fields normal_color, highlight_color and
6872 data. All users updated.
6873 (grub_putchar): Removed.
6874 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
6875 (grub_unicode_estimate_width): New function.
6876 (grub_term_getcharwidth): Add defaults.
6877 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
6878 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
6879 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
6880 (grub_cls): Remove EXPORT_FUNC.
6881 (grub_setcolorstate): Inline.
6882 (grub_newline_hook): Removed.
6883 * include/grub/terminfo.h: Rewritten. All users updated.
6884 * include/grub/unicode.h: New file.
6885 * include/grub/video.h (grub_video_signed_rect): New type.
6886 * kern/emu/console.c (grub_console_highlight_color): Removed.
6887 (grub_console_normal_color): Likewise.
6888 (grub_console_standard_color): Made static.
6889 (grub_ncurses_putchar): Remove mapping.
6890 (grub_ncurses_getcharwidth): Removed.
6891 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6892 (grub_ncurses_setcolor): Removed.
6893 (grub_ncurses_getcolor): Likewise.
6894 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
6895 (grub_console_putchar): ... this.
6896 (grub_console_putchar): Handle argument difference.
6897 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
6898 console_init_early and console_init_lately.
6899 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
6900 * kern/misc.c (grub_puts): Removed.
6901 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
6902 (grub_vsnprintf_real): Remove str = NULL support.
6903 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
6904 * normal/charset.c (grub_utf8_to_ucs4): ... here.
6905 * kern/term.c (grub_putcode): Renamed to ...
6906 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
6907 (grub_putchar): Removed.
6908 (grub_xputs_dumb): New function.
6909 (grub_xputs): New variable.
6910 * lib/charset.c: Move from here ...
6911 * normal/charset.c: ... to here.
6912 (grub_ucs4_to_utf8): New function.
6913 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
6914 (join_types): New variable.
6915 (unpack_join): New function.
6916 (bidi_types): New variable.
6917 (unpack_bidi): New function.
6918 (get_bidi_type): Likewise.
6919 (get_join_type): Likewise.
6920 (is_mirrored): Likewise.
6921 (grub_unicode_get_comb_type): Likewise.
6922 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
6923 (is_type_after): Likewise.
6924 (grub_unicode_aglomerate_comb): Likewise.
6925 (bidi_line_wrap): Likewise.
6926 (grub_bidi_line_logical_to_visual): Likewise.
6927 (grub_bidi_logical_to_visual): Likewise.
6928 (grub_unicode_mirror_code): Likewise.
6929 (grub_unicode_shape_code): Likewise.
6930 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
6931 Don't use grub_putchar.
6932 * normal/main.c (grub_normal_init_page): Use grub_putcode.
6933 (grub_normal_reader_init): Likewise.
6934 (grub_xputs_saved): New variable.
6935 (GRUB_MOD_INIT): Set grub_xputs.
6936 (GRUB_MOD_FINI): Restore grub_xputs.
6937 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
6938 (menu_init): Avoid printing gfxmenu error.
6939 (show_menu): Use grub_normal_get_char_counter.
6940 * normal/menu_entry.c (update_screen): Fix out-of-array.
6941 (complete): Avoid NULL dereferencing.
6942 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
6943 * normal/menu_text.c (print_spaces): Removed.
6944 (grub_print_ucs4): Likewise.
6945 (grub_print_message_indented): Use grub_print_ucs4.
6946 (print_message): Use grub_putcode.
6947 (print_entry): Hanlde diacritics.
6948 * normal/term.c (term_state): New type.
6949 (grub_more_lines): Removed.
6950 (term_states): New variable.
6951 (grub_normal_line_counter): Renamed to ..
6952 (grub_normal_char_counter): ...this. All users updated.
6953 (grub_normal_get_line_counter): Renamed to ...
6954 (grub_normal_get_char_counter): ... this.
6955 (grub_normal_reset_more): New function.
6956 (process_newline): Removed.
6957 (print_more): New function.
6958 (grub_install_newline_hook): Removed.
6959 (map_code): New function.
6960 (grub_puts_terminal): Use grub_print_ucs4.
6961 (putglyph): New function.
6962 (putcode_real): Likewise.
6963 (grub_putcode): Use putcode_real.
6964 (get_maxwidth): New function.
6965 (get_startwidth): Likewise.
6966 (print_ucs4_terminal): Likewise.
6967 (find_term_state): Likewise.
6968 (put_glyphs_terminal): Likewise.
6969 (print_backlog): Likewise.
6970 (print_ucs4_real): Likewise.
6971 (grub_print_ucs4): Likewise.
6972 (grub_xputs_normal): Likewise.
6973 * term/efi/console.c (grub_console_putchar): Output diacritics.
6974 (grub_console_getcharwidth): Removed.
6975 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6976 * term/gfxterm.c (clear_char): Free chars.
6977 (scroll_up): Avoid leaking memory.
6978 (grub_gfxterm_putchar): Support diacritics.
6979 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6980 * term/i386/pc/console.c (grub_console_term_output): Declare as
6981 GRUB_TERM_CODE_TYPE_VGA.
6982 * term/i386/pc/vga.c (grub_vga_term): Declare as
6983 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
6984 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
6985 GRUB_TERM_CODE_TYPE_VGA.
6986 * term/i386/vga_common.c (map_char): Removed.
6987 (grub_console_putchar): Likewise.
6988 (grub_console_getcharwidth): Likewise.
6989 * term/ieee1275/ofconsole.c: Simplify using terminfo.
6990 (colors): Reordered to match terminfo.
6991 (grub_ofconsole_normal_color): Removed.
6992 (grub_ofconsole_writeesc): Likewise.
6993 (grub_ofconsole_highlight_color): Likewise.
6994 (grub_ofconsole_getcharwidth): Likewise.
6995 (grub_ofconsole_setcolorstate): Likewise.
6996 (grub_ofconsole_setcolor): Likewise.
6997 (grub_ofconsole_getcolor): Likewise.
6998 (grub_ofconsole_readkey): Renamed to ...
6999 (readkey): ... this. Remove escape sequence handling. Return -1 on no
7000 key.
7001 (grub_ofconsole_checkkey): Removed.
7002 (grub_ofconsole_getkey): Likewise.
7003 (grub_ofconsole_getxy): Likewise.
7004 (grub_ofconsole_gotoxy): Likewise.
7005 (grub_ofconsole_cls): Likewise.
7006 (grub_ofconsole_refresh): Likewise.
7007 (grub_ofconsole_terminfo_input): New struct.
7008 (grub_ofconsole_terminfo_output): Likewise.
7009 (grub_ofconsole_term_input): Use terminfo.
7010 (grub_ofconsole_term_output): Likewise.
7011 (grub_console_init): Split into ...
7012 (grub_console_init_early): ...this and ...
7013 (grub_console_init_lately): ...this. Use terminfo.
7014 (grub_ofconsole_putchar): Renamed to ...
7015 (put): ... this. Remove mapping.
7016 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
7017 * term/serial.c: Simplify using terminfo.
7018 (xpos): Removed.
7019 (ypos): Likewise.
7020 (keep_track): Likewise.
7021 (registered): Likewise.
7022 (input_buf): Likewise.
7023 (npending): Likewise.
7024 (serial_translate_key_sequence): Likewise.
7025 (fill_input_buf): Likewise.
7026 (grub_serial_checkkey): Likewise.
7027 (grub_serial_getkey): Likewise.
7028 (grub_serial_getxy): Likewise.
7029 (grub_serial_gotoxy): Likewise.
7030 (grub_serial_putchar): Likewise.
7031 (grub_serial_cls): Likewise.
7032 (grub_serial_setcolorstate): Likewise.
7033 (grub_serial_setcursor): Likewise.
7034 (serial_hw_init): Use serial_hw_fetch.
7035 (grub_serial_terminfo_input): New variable.
7036 (grub_serial_terminfo_output): Likewise.
7037 (grub_serial_term_input): Use terminfo.
7038 (grub_serial_term_output): Likewise.
7039 * term/terminfo.c (putstr): Use put.
7040 (grub_terminfo_all_free): New function
7041 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
7042 (grub_terminfo_output_register): New function.
7043 (grub_terminfo_output_unregister): Likewise.
7044 (grub_terminfo_getxy): Likewise.
7045 (grub_terminfo_readkey): Likewise.
7046 (grub_terminfo_checkkey): Likewise.
7047 (grub_terminfo_getkey): Likewise.
7048 (grub_terminfo_input_init): Likewise.
7049 (print_terminfo): Likewise.
7050 (grub_cmd_terminfo): Handle encoding.
7051 (grub_terminfo_gotoxy): Track position.
7052 (grub_terminfo_cls): Likewise.
7053 (grub_terminfo_putchar): Likewise.
7054 (grub_terminfo_setcolorstate): Handle colors
7055 (grub_terminfo_cursor_on): This ...
7056 (grub_terminfo_cursor_off): ... and this merged into ...
7057 (grub_terminfo_setcursor): ... this.
7058 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
7059 * unicode/ArabicShaping.txt: New file (imported from Unicode).
7060 * unicode/BidiMirroring.txt: Likewise.
7061 * unicode/UnicodeData.txt: Likewise.
7062 * unicode/COPYING: Likewise.
7063 * util/grub-editenv.c (grub_putchar): Removed.
7064 (grub_xputs_real): New function.
7065 (grub_xputs): New variable.
7066 * util/grub-fstest.c (grub_putchar): Removed.
7067 (grub_xputs_real): New function.
7068 (grub_xputs): New variable.
7069 * util/grub-mkdevicemap.c (grub_putchar): Removed.
7070 (grub_xputs_real): New function.
7071 (grub_xputs): New variable.
7072 * util/grub-probe.c (grub_putchar): Removed.
7073 (grub_xputs_real): New function.
7074 (grub_xputs): New variable.
7075 * util/grub-script-check.c (grub_putchar): Removed.
7076 (grub_xputs_real): New function.
7077 (grub_xputs): New variable.
7078 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
7079 (grub_xputs_real): New function.
7080 (grub_xputs): New variable.
7081 * util/import_unicode.py: New file.
7082 * util/grub-mkfont.c (ft_errmsgs): New array.
7083 (grub_glyph_info): Make bitmap a pointer.
7084 (file_formats): New type WIDTH_SPEC.
7085 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
7086 (options): Add width-spec.
7087 (help): Likewise.
7088 (add_char): Renamed to ...
7089 (add_glyph): ... this.
7090 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
7091 (glyph_replace): New type.
7092 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
7093 (add_char): New function.
7094 (add_subst): Likewise.
7095 (process_cursive): Likewise.
7096 (add_font): Handle GSUB.
7097 (write_font_width_spec): New function.
7098 (main): Sort glyphs.
7099 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
7100 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
7101 * kern/term.c (grub_cls): Moved from here...
7102 * normal/term.c (grub_cls): ... here.
7103
50f0bcda
CW
71042010-07-02 Colin Watson <cjwatson@ubuntu.com>
7105
7106 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
7107 suitable for using within the format argument of printf when
7108 converting grub_size_t.
7109 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
7110 "x" to convert grub_size_t arguments.
7111
40372103
VS
71122010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
7115 too long captions.
7116 (list_get_minimal_size): Take selection box into account.
7117
942a10c7
VS
71182010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
7121 NULL font.
7122
2bdb2892
CW
71232010-07-02 Colin Watson <cjwatson@ubuntu.com>
7124
7125 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
7126 devices when iterating over /dev/disk/by-id; they will be handled
7127 later if appropriate, which they aren't always (e.g. LVM).
7128
e03ed6c1
CW
71292010-07-02 Colin Watson <cjwatson@ubuntu.com>
7130
7131 * include/grub/misc.h (grub_reboot): Declare as noreturn.
7132 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
7133 fails.
7134 (grub_halt): Likewise.
7135 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
7136 reset-all fails.
7137 (grub_halt): Don't return, even if all of shut-down, power-off, and
7138 poweroff fail.
7139
47695765
CW
71402010-07-02 Colin Watson <cjwatson@ubuntu.com>
7141
7142 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
7143 arguments, not three.
7144
507736c8
CW
71452010-07-02 Colin Watson <cjwatson@ubuntu.com>
7146
7147 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
7148 * util/grub.d/10_linux.in: Use it to check for LVM, so that
7149 LVM-on-RAID is handled correctly.
7150
e3c8cd37
CW
71512010-07-02 Colin Watson <cjwatson@ubuntu.com>
7152
7153 * docs/grub.texi (Changes from GRUB Legacy): New section.
7154 (Future): Fix typo.
7155
8d4a2fec
CW
71562010-07-02 Colin Watson <cjwatson@ubuntu.com>
7157
7158 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
7159 grub.d/README accidentally ends up executable for one reason or
7160 another. Ignore it.
7161
1c4827be
VS
71622010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
7165 (gpt_partition_map_iterate): Support non-512B sectors.
7166
d9a0c941
VS
71672010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7168
7169 * kern/efi/init.c (grub_efi_init): Disable watchdog.
7170 Tested by: Seth Goldberg.
7171
48f27e87
VS
71722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
7175 Properly align mbi.
7176 Reported by: Seth Goldberg.
7177
b0c4f956
VS
71782010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 * util/grub-mkrescue.in: Avoid module duplication.
7181
105a2e8c
SF
71822010-07-01 Sean Finney <seanius@seanius.net>
7183
7184 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
7185
5944958c
SF
71862010-07-01 Sean Finney <seanius@seanius.net>
7187
7188 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
7189
71902010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 * disk/lvm.c (grub_lvm_checkvalue): New function.
7193 (grub_lvm_check_flag): Likewise.
7194
b79889ba
RM
71952010-07-01 Robert Millan <rmh@gnu.org>
7196
7197 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
7198 Support 'p' as partition separator on kernel of FreeBSD (used
7199 with GPT labels).
7200 (grub_util_biosdisk_get_grub_dev): Likewise.
7201
ec1d04f1
VS
72022010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 Yeeloong firmware port.
7205
7206 * boot/mips/yeeloong/fwstart.S: New file.
7207 * bus/cs5536.c (gpiodump): New const.
7208 (set_io_space): New function.
7209 (set_iod): Likewise.
7210 (set_p2d): Likewise.
7211 (grub_cs5536_init_geode): Likewise.
7212 * commands/mips/yeeloong/lsspd.c: New file.
7213 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
7214 (serial_mod_SOURCES): New variable.
7215 (serial_mod_CFLAGS): Likewise.
7216 (serial_mod_LDFLAGS): Likewise.
7217 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
7218 term/terminfo.c and term/tparm.c.
7219 (pkglib_IMAGES): Add fwstart.img.
7220 (fwstart_img_SOURCES): New variable.
7221 (fwstart_img_CFLAGS): Likewise.
7222 (fwstart_img_ASFLAGS): Likewise.
7223 (fwstart_img_LDFLAGS): Likewise.
7224 (fwstart_img_FORMAT): Likewise.
7225 (pkglib_MODULES): Add lsspd.mod.
7226 (lsspd_mod_SOURCES): New variable.
7227 (lsspd_mod_CFLAGS): Likewise.
7228 (lsspd_mod_LDFLAGS): Likewise.
7229 (pkglib_MODULES): Add halt.mod.
7230 (halt_mod_SOURCES): New variable.
7231 (halt_mod_CFLAGS): Likewise.
7232 (halt_mod_LDFLAGS): Likewise.
7233 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
7234 (serial_mod_SOURCES): Removed.
7235 (serial_mod_CFLAGS): Likewise.
7236 (serial_mod_LDFLAGS): Likewise.
7237 * disk/ata.c (check_device): New function.
7238 (grub_ata_device_initialize): Use check_device.
7239 (grub_ata_iterate): Recheck devices.
7240 (grub_ata_open): Likewise.
7241 (grub_atapi_iterate): Likewise.
7242 (grub_atapi_open): Likewise.
7243 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
7244 (GRUB_ATA_CH1_PORT1): Likewise.
7245 (GRUB_ATA_CH0_PORT2): Likewise.
7246 (GRUB_ATA_CH1_PORT2): Likewise.
7247 * include/grub/mips/loongson.h: New file.
7248 * include/grub/mips/yeeloong/ec.h: Likewise.
7249 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
7250 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
7251 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
7252 * include/grub/misc.h (grub_halt): Declare as noreturn.
7253 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
7254 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
7255 (UART_ENABLE_FIFO_TRIGGER1): New definition.
7256 (UART_ENABLE_DTRRTS): Likewise.
7257 (UART_ENABLE_MODEM): Removed.
7258 (UART_ENABLE_OUT2): New const.
7259 * include/grub/term.h (grub_term_register_input_active): New function.
7260 (grub_term_register_output_active): Likewise.
7261 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
7262 argument.
7263 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
7264 (init_pci): New function.
7265 (grub_machine_init): Execute platform init when firmware. Init serial.
7266 (grub_halt): Implement.
7267 (grub_exit): Likewise.
7268 (grub_reboot): Likewise.
7269 * term/serial.c (serial_hw_init): Update macros.
7270 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
7271 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
7272 (image_targets): New target mipsel-yeeloong-flash.
7273 (generate_image): Support IMAGE_YEELOONG_FLASH.
7274 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
7275 (grub_video_sm712_setup): Init card.
7276 (grub_video_sm712_set_palette): Removed.
7277 * video/sm712_init.c: New file.
7278
ff4a70d2
CW
72792010-06-30 Colin Watson <cjwatson@ubuntu.com>
7280
7281 * Makefile.in (install-local): Temporarily prepend $(builddir) to
7282 PATH when running help2man and then run it on the unadorned
7283 executable names, rather than passing $(builddir)/* paths to
7284 help2man. This avoids the build directory ending up in generated
7285 manual pages.
7286
1246efeb
CW
72872010-06-29 Colin Watson <cjwatson@ubuntu.com>
7288
7289 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
7290 to avoid accidents when debugging with 'sh -x'.
7291 * util/grub-mkrescue.in: Likewise.
7292 * util/grub.d/00_header.in: Likewise.
7293 * util/grub.d/10_hurd.in: Likewise.
7294 * util/grub.d/10_kfreebsd.in: Likewise.
7295 * util/grub.d/10_linux.in: Likewise.
7296 * util/grub.d/10_netbsd.in: Likewise.
7297 * util/grub.d/10_windows.in: Likewise.
7298 * util/grub.d/20_linux_xen.in: Likewise.
7299 * util/grub.d/30_os-prober.in: Likewise.
7300 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7301
1ba9b889
CW
73022010-06-29 Colin Watson <cjwatson@ubuntu.com>
7303
7304 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
7305 last character in the buffer.
7306 Reported by: Vladimir Serbinenko.
7307
dccaf99d
RM
73082010-06-29 Robert Millan <rmh@gnu.org>
7309
7310 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
7311 (Command-line and menu entry commands): Document `badram' command.
7312
d500ed12
RM
73132010-06-28 Robert Millan <rmh@gnu.org>
7314
7315 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
7316 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
7317 command using ${GRUB_BADRAM} as parameter.
7318
20bc84a6
CW
73192010-06-28 Colin Watson <cjwatson@ubuntu.com>
7320
7321 * docs/grub.texi (Device map): New section.
7322 (Themes): New section (stub).
7323 * Makefile.in (docs/grub.info): The info documentation now builds
7324 without errors. Make sure it stays that way.
7325
4045dee1
VS
73262010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 Use normal parser for menu entries.
7329 Reported by: Thomas Frauendorfer
7330
7331 * include/grub/parser.h (grub_parser_execute): Don't export.
7332 * normal/menu.c (grub_menu_execute_entry_real): New function.
7333 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
7334
bca58c7b
CW
73352010-06-28 Colin Watson <cjwatson@ubuntu.com>
7336
7337 * docs/grub.texi (Embedded configuration): New section (replacing
7338 old "Preset Menu" stub).
7339 (Images): New section.
7340 (configfile): Note that any menu entries defined in `file' are shown
7341 immediately.
7342
dec53e63
JT
73432010-06-28 Josh Triplett <josh@joshtriplett.org>
7344
7345 * mmap/i386/pc/mmap_helper.S: Set CF on return.
7346
c06e40f7
CW
73472010-06-28 Colin Watson <cjwatson@ubuntu.com>
7348
7349 * util/grub-install.in: Add --debug-image= option.
7350
cb88052b
CW
73512010-06-28 Colin Watson <cjwatson@ubuntu.com>
7352
7353 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
7354 possible on Linux.
7355
7356 * util/deviceiter.c (check_device): Rename to ...
7357 (check_device_readable_unique): ... this. Update all callers.
7358 Maintain and check a list of which devices (by canonicalized name)
7359 have already been seen.
7360 (clear_seen_devices): New function.
7361 (compare_file_names) [__linux__]: New function.
7362 (grub_util_iterate_devices): Clear the list of seen devices on exit
7363 and (just in case) on entry.
7364 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
7365 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
7366 seen-devices list, superseded by general code in check_device.
7367
bbe34652
CW
73682010-06-28 Colin Watson <cjwatson@ubuntu.com>
7369
7370 * commands/cat.c (options): New variable.
7371 (grub_cmd_cat): Parse options. If the --dos option is given, print
7372 DOS-style "\r\n" line endings as simple newlines (Debian bug
7373 #586358).
7374 (GRUB_MOD_INIT): Use extcmd.
7375 (GRUB_MOD_FINI): Likewise.
7376 * docs/grub.texi (cat): Document --dos.
7377
412e09f3
VS
73782010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 XEN with Linux grub-mkconfig support.
7381
7382 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
7383 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
7384 GRUB_CMDLINE_XEN_DEFAULT.
7385 * util/grub.d/20_linux_xen.in: New file.
7386
53f3ef38 73872010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
7388
7389 Initialise VGA video on qemu ourselves.
7390
7391 * boot/i386/qemu/boot.S: Don't call 0xc000.
7392 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
7393 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
7394 (kernel_img_HEADERS): Add pci.h.
7395 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
7396 * configure.ac: Force unifont on qemu and yeeloong.
7397 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
7398 (grub_vga_palette_write): Use correct register.
7399 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
7400 Call grub_qemu_init_cirrus.
7401 * kern/i386/qemu/init.c: New file.
7402 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
7403
7404 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
7405
c75be4fb
PR
74062010-06-26 Pavel Roskin <proski@gnu.org>
7407
7408 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
7409 13.
7410
d8034603
CW
74112010-06-26 Colin Watson <cjwatson@ubuntu.com>
7412
7413 * docs/grub.texi (Simple configuration): Explain that
7414 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
7415 set to `true' to disable their respective recovery entries, not
7416 merely set.
7417
3fa06487
CW
74182010-06-26 Colin Watson <cjwatson@ubuntu.com>
7419
7420 Make the `source' command slightly faster.
7421
7422 * normal/main.c (grub_normal_execute): Don't re-read list files when
7423 nested.
7424
e9b29642
CW
74252010-06-23 Colin Watson <cjwatson@ubuntu.com>
7426
7427 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
7428 field position and mask size to red fields from mode_info, not
7429 green.
7430 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
7431 Remove redundant tag->common.framebuffer_type assignment.
7432 Reported by: Seth Goldberg.
7433
e726542f
CW
74342010-06-23 Colin Watson <cjwatson@ubuntu.com>
7435
7436 Sync up other versions of the Linux loader with Robert Millan's
7437 change of 2010-01-09, "Make loader output a bit more user-friendly".
7438
7439 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
7440 grub_dprintf().
7441 (grub_cmd_linux): Likewise.
7442 (grub_cmd_initrd): Likewise.
7443 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
7444 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7445
d6e98a17
CW
74462010-06-21 Colin Watson <cjwatson@ubuntu.com>
7447
7448 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
7449 larger than MEMORY_MAP_SIZE.
7450
14d3f08e
BC
74512010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
7452
7453 Fix parallel build.
7454
7455 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
7456 dependency.
7457 * script/parser.y: #include grub_script.tab.h header.
7458
4f9613a3
VS
74592010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 Support >3GiB and <16MiB RAM in i386-qemu.
7462
7463 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
7464 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
7465 (grub_lower_mem): Removed.
7466 (grub_upper_mem): Likewise.
7467 (mem_size): Made static.
7468 (above_4g): New variable.
7469 (grub_machine_mmap_init): Detect small mem_size and above_4g.
7470 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
7471 support.
7472
05e51879
VS
74732010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 Cirrus 5446 and Bochs video cards support.
7476
7477 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
7478 video_bochs.mod
7479 (video_cirrus_mod_SOURCES): New variable.
7480 (video_cirrus_mod_CFLAGS): Likewise.
7481 (video_cirrus_mod_LDFLAGS): Likewise.
7482 (video_bochs_mod_SOURCES): Likewise.
7483 (video_bochs_mod_CFLAGS): Likewise.
7484 (video_bochs_mod_LDFLAGS): Likewise.
7485 * include/grub/vga.h: New file.
7486 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
7487 (grub_video_fb_set_page_t): New type.
7488 (grub_video_fb_setup): New prototype.
7489 (grub_video_fb_swap_buffers): Likewise.
7490 (grub_video_fb_get_info_and_fini): Likewise.
7491 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
7492 (CRTC_DATA_PORT): Likewise.
7493 (CRTC_CURSOR): Likewise.
7494 (CRTC_CURSOR_ADDR_HIGH): Likewise.
7495 (CRTC_CURSOR_ADDR_LOW): Likewise.
7496 (CRTC_CURSOR_DISABLE): Likewise.
7497 (update_cursor): Use grub_vga_cr_write.
7498 (grub_vga_text_setcursor): Likewise.
7499 * video/bochs.c: New file.
7500 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
7501 (palette): Likewise.
7502 (palette_size): Likewise.
7503 (framebuffer): New variable.
7504 (grub_video_fb_init): Use 'framebuffer'.
7505 (grub_video_fb_fini): Likewise.
7506 (grub_video_fb_get_info): Likewise.
7507 (grub_video_fb_get_palette): Likewise.
7508 (grub_video_fb_set_palette): Likewise.
7509 (grub_video_fb_set_viewport): Likewise.
7510 (grub_video_fb_get_viewport): Likewise.
7511 (grub_video_fb_map_color): Likewise.
7512 (grub_video_fb_map_rgb): Likewise.
7513 (grub_video_fb_map_rgba): Likewise.
7514 (grub_video_fb_unmap_color): Likewise.
7515 (grub_video_fb_unmap_color_int): Likewise.
7516 (grub_video_fb_fill_rect): Likewise.
7517 (grub_video_fb_blit_bitmap): Likewise.
7518 (grub_video_fb_blit_render_target): Likewise.
7519 (grub_video_fb_scroll): Likewise.
7520 (grub_video_fb_create_render_target): Likewise.
7521 (grub_video_fb_doublebuf_blit_init): Likewise.
7522 (grub_video_fb_set_active_render_target): Handle doublebuffering.
7523 (doublebuf_pageflipping_update_screen): New function.
7524 (doublebuf_pageflipping_init): Likewise.
7525 (grub_video_fb_setup): Likewise.
7526 (grub_video_fb_swap_buffers): Likewise.
7527 (grub_video_fb_get_info_and_fini): Likewise.
7528 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
7529 All users updated.
7530 (doublebuf_pageflipping_commit): Restructured into ...
7531 (doublebuf_pageflipping_set_page): ... this.
7532 (doublebuf_pageflipping_update_screen): Removed.
7533 (doublebuf_pageflipping_init): Likewise.
7534 (double_buffering_init): Likewise.
7535 (grub_video_vbe_setup): Use grub_video_fb_setup.
7536 (grub_video_vbe_swap_buffers): Removed.
7537 (grub_video_vbe_set_active_render_target): Likewise.
7538 (grub_video_vbe_get_active_render_target): Likewise.
7539 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
7540 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
7541 grub_video_fb_set_active_render_target and
7542 grub_video_fb_get_active_render_target.
7543 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
7544 (SEQUENCER_DATA_PORT): Likewise.
7545 (MAP_MASK_REGISTER): Likewise.
7546 (CRTC_ADDR_PORT): Likewise.
7547 (CRTC_DATA_PORT): Likewise.
7548 (START_ADDR_HIGH_REGISTER): Likewise.
7549 (START_ADDR_LOW_REGISTER): Likewise.
7550 (GRAPHICS_ADDR_PORT): Likewise.
7551 (GRAPHICS_DATA_PORT): Likewise.
7552 (READ_MAP_REGISTER): Likewise.
7553 (INPUT_STATUS1_REGISTER): Likewise.
7554 (INPUT_STATUS1_VERTR_BIT): Likewise.
7555 (get_map_mask): Use grub_vga_sr_read.
7556 (set_map_mask): Use grub_vga_sr_write.
7557 (set_read_map): Use grub_vga_gr_write.
7558 (set_start_address): Use grub_vga_cr_write.
7559 * video/sm712.c (framebuffer): Remove leftover fields.
7560
4321c64a
CW
75612010-06-20 Colin Watson <cjwatson@ubuntu.com>
7562
7563 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
7564 setting GRUB_VIDEO_BACKEND. Make it available as a user override
7565 instead. Replace the gfxterm backend check with a check that
7566 ${GRUB_PREFIX}/video.lst is non-empty.
7567 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
7568 again.
7569 (load_video): New generated function. Call it before loading
7570 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
7571 * util/grub.d/10_linux.in (linux_entry): Call load_video.
7572 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
7573 * docs/grub.texi (Simple configuration): Document
7574 GRUB_VIDEO_BACKEND.
7575
75762010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 Use video functions in linux and xnu loaders.
7579
7580 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
7581 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
7582 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
7583 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
7584 loader/i386/pc/linux.c.
7585 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
7586 (find_line_len): Removed.
7587 (find_framebuf): Likewise.
7588 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
7589 * loader/i386/efi/xnu.c: Removed.
7590 * loader/i386/pc/xnu.c: Moved from here...
7591 * loader/i386/xnu.c: ...here.
7592
7593 Enable priorities in video drivers.
7594
7595 * include/grub/video.h (grub_video_adapter_prio_t): New type.
7596 (grub_video_adapter): New field prio.
7597 (grub_video_register): Respect prio when inserting.
7598 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
7599 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
7600 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
7601 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
7602 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
7603 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
7604 * video/sm712.c (grub_video_sm712_adapter): Likewise.
7605
7606 Fix SDL driver ID.
7607
7608 * include/grub/video.h (grub_video_driver_id_t): New value
7609 GRUB_VIDEO_DRIVER_SDL.
7610 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
7611
7d24e434
CW
76122010-06-17 Colin Watson <cjwatson@ubuntu.com>
7613
7614 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
7615 argument to printf.
7616 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7617
c88a83f6
CW
76182010-06-17 Colin Watson <cjwatson@ubuntu.com>
7619
7620 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
7621 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7622
094dfb69
CW
76232010-06-17 Colin Watson <cjwatson@ubuntu.com>
7624
7625 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
7626 directly, and recommend grub-install instead.
7627 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7628
2164da6b
CW
76292010-06-17 Colin Watson <cjwatson@ubuntu.com>
7630
7631 Fix i386-pc prefix handling with nested partitions (Debian bug
7632 #585068). Note that the case where the core image is booted using
7633 multiboot and relocated from its original location still requires
7634 more work.
7635
7636 * kern/i386/pc/init.c (make_install_device): If the prefix starts
7637 with "(,", fill the boot drive in between those two characters, but
7638 expect that a full partition specification including partition map
7639 names will follow.
7640 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
7641 specified, write a prefix without the drive name but including a
7642 full partition specification.
7643
044e2e60
CW
76442010-06-16 Colin Watson <cjwatson@ubuntu.com>
7645
7646 * util/grub-mkconfig.in: Ignore non-option arguments, for
7647 compatibility with older versions (before 2010-06-12) which did the
7648 same. In particular, this makes it easier to ship an update-grub
7649 wrapper which is compatible with that used with GRUB Legacy (Debian
7650 bug #586056).
7651
5591324f
GS
76522010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7653
7654 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
7655 for manual page generation.
7656
662e24d5
GS
76572010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7658
7659 * po/POTFILES: Remove leftover commands/handler.c.
7660
8d70754e
CW
76612010-06-14 Colin Watson <cjwatson@ubuntu.com>
7662
7663 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
7664 left this script non-functional.
7665
41160e2e
CW
76662010-06-14 Colin Watson <cjwatson@ubuntu.com>
7667
7668 * docs/man/grub-emu.h2m: New file.
7669
b5309cc1
CW
76702010-06-13 Colin Watson <cjwatson@ubuntu.com>
7671
7672 * docs/grub.texi (Commands): Document reduced command set in rescue
7673 mode.
7674 (cpuid): New section.
7675
fcb2d090
GS
76762010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
7677
7678 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
7679 new partition naming style.
7680 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
7681
96e5c556
BC
76822010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
7683
7684 Add "-o grub.iso" like cmdline options support.
7685
7686 * util/grub-install.in: Improve cmdline option parsing.
7687 * util/grub-mkconfig.in: Likewise.
7688 * util/grub-mkrescue.in: Likewise.
7689 * util/grub-reboot.in: Likewise.
7690 * util/grub-set-default.in: Likewise.
7691 * util/i386/efi/grub-install.in: Likewise.
7692 * util/ieee1275/grub-install.in: Likewise.
7693 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7694
c16be99b
CW
76952010-06-12 Colin Watson <cjwatson@ubuntu.com>
7696
7697 * .bzrignore: Ignore 41_custom.
7698
ce08a9fb
TS
76992010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7700
7701 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
7702
7beac90c
CW
77032010-06-12 Colin Watson <cjwatson@ubuntu.com>
7704
7705 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
7706 prototype declarations.
7707
7708 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
7709 generating fs, partmap, and video lists.
7710 * include/grub/fs.h (grub_fs_register): Omit prototype if
7711 GRUB_LST_GENERATOR is defined.
7712 * include/grub/partition.h (grub_partition_map_register): Likewise.
7713 * include/grub/video.h (grub_video_register): Likewise.
7714
1c8f0f8d
JM
77152010-06-12 Javier Martín <lordhabbit@gmail.com>
7716
7717 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
7718
a6085973
TS
77192010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7720
7721 * util/grub-mkrescue.in: Support --xorriso argument.
7722
25c56d29
VS
77232010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
7726 Suggested by: Thomas Schmitt.
7727
e03e4b24
VS
77282010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
7731 Suggested by: Thomas Schmitt.
7732
57711df6
VS
77332010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 custom.cfg support.
7736
7737 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
7738 * util/grub.d/41_custom.in: New file.
7739
ee62c427
CW
77402010-06-12 Colin Watson <cjwatson@ubuntu.com>
7741
7742 * util/grub-mkrescue.in (make_image): Remove sh module, which has
7743 been merged back into normal.
7744
283af07a
CW
77452010-06-11 Colin Watson <cjwatson@ubuntu.com>
7746
7747 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
7748 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
7749
56a0d956
CW
77502010-06-11 Colin Watson <cjwatson@ubuntu.com>
7751
7752 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
7753 when generating manual pages.
7754 * docs/man/grub-bin2h.h2m: New file.
7755 * docs/man/grub-editenv.h2m: New file.
7756 * docs/man/grub-fstest.h2m: New file.
7757 * docs/man/grub-install.h2m: New file.
7758 * docs/man/grub-macho2img.h2m: New file.
7759 * docs/man/grub-mkconfig.h2m: New file.
7760 * docs/man/grub-mkdevicemap.h2m: New file.
7761 * docs/man/grub-mkfont.h2m: New file.
7762 * docs/man/grub-mkimage.h2m: New file.
7763 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
7764 * docs/man/grub-mkrelpath.h2m: New file.
7765 * docs/man/grub-mkrescue.h2m: New file.
7766 * docs/man/grub-ofpathname.h2m: New file.
7767 * docs/man/grub-pe2elf.h2m: New file.
7768 * docs/man/grub-probe.h2m: New file.
7769 * docs/man/grub-reboot.h2m: New file.
7770 * docs/man/grub-script-check.h2m: New file.
7771 * docs/man/grub-set-default.h2m: New file.
7772 * docs/man/grub-setup.h2m: New file.
7773
3a37e322
VS
77742010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 Use FOR_* macros instead of *_iterate whenever possible.
7777
7778 * commands/handler.c: Removed.
7779 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
7780 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
7781 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7782 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
7783 (grub_probe_SOURCES): Remove kern/parser.c.
7784 (util/grub-script-check.c_DEPENDENCIES): Removed.
7785 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
7786 and grub_script_check_init.c.
7787 (grub_script_check_init.lst): Removed.
7788 (grub_script_check_init.h): Likewise.
7789 (grub_script_check_init.c): Likewise.
7790 (pkglib_MODULES): Remove handler.mod and sh.mod.
7791 (handler_mod_SOURCES): Removed.
7792 (handler_mod_CFLAGS): Likewise.
7793 (handler_mod_LDFLAGS): Likewise.
7794 (normal_mod_SOURCES): Remove normal/handler.c.
7795 Add script/main.c, script/script.c, script/execute.c,
7796 script/function.c, script/lexer.c, grub_script.tab.c
7797 and grub_script.yy.c.
7798 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7799 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7800 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
7801 (grub_setup_SOURCES): Remove kern/parser.c.
7802 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7803 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
7804 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7805 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7806 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7807 (grub_setup_SOURCES): Remove kern/parser.c.
7808 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7809 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
7810 * include/grub/command.h (grub_command_iterate): Removed.
7811 (FOR_COMMANDS): New macro.
7812 * include/grub/dl.h (grub_dl): New member next.
7813 (grub_dl_iterate): Removed.
7814 (grub_dl_head): New variable declaration.
7815 (FOR_DL_MODULES): New macro.
7816 * include/grub/fs.h: Include list.h.
7817 (grub_fs): Make next first element.
7818 (grub_fs_list): New variable declaration.
7819 (grub_fs_register): Make inline.
7820 (grub_fs_unregister): Likewise.
7821 (grub_fs_iterate): Removed.
7822 (FOR_FILESYSTEMS): New macro.
7823 * include/grub/handler.h: Removed.
7824 * include/grub/list.h (grub_list_hook_t): Removed.
7825 (grub_list_test_t): Likewise.
7826 (grub_list_pop): Likewise.
7827 (grub_list_iterate): Likewise.
7828 (grub_list_insert): Likewise.
7829 (FOR_LIST_ELEMENTS): New macro.
7830 * include/grub/parser.h (grub_parser_class): Removed.
7831 (grub_parser_register): Likewise.
7832 (grub_parser_unregister): Likewise.
7833 (grub_parser_get_current): Likewise.
7834 (grub_parser_set_current): Likewise.
7835 (grub_register_rescue_parser): Likewise.
7836 (grub_rescue_parse_line): New function.
7837 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
7838 * include/grub/script_sh.h (grub_script_function_list): New variable
7839 declaration.
7840 (FOR_SCRIPT_FUNCTIONS): New macro.
7841 (grub_script_function_iterate): Removed.
7842 (grub_normal_parse_line): New prototype.
7843 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
7844 (FOR_DISABLED_TERM_INPUTS): Likewise.
7845 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7846 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7847 * include/grub/video.h (grub_video_adapter): Move 'next' to first
7848 element.
7849 (grub_video_register): Inline.
7850 (grub_video_unregister): Likewise.
7851 (grub_video_adapter_list): New variable declaration.
7852 (grub_video_iterate): Removed.
7853 (FOR_VIDEO_ADAPTERS): New macro.
7854 * kern/dl.c (grub_dl_list): Removed. All users updated.
7855 (grub_dl_iterate): Removed.
7856 * kern/fs.c (grub_fs_list): Make global.
7857 (grub_fs_register): Removed.
7858 (grub_fs_unregister): Likewise.
7859 (grub_fs_iterate): Likewise.
7860 * kern/handler.c: Removed.
7861 * kern/list.c (grub_list_pop): Removed.
7862 (grub_list_iterate): Likewise.
7863 (grub_list_insert): Likewise.
7864 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
7865 (grub_prio_list_insert): Don't use grub_list_insert.
7866 * kern/main.c (grub_register_rescue_parser): Don't call
7867 grub_register_rescue_parser.
7868 * kern/parser.c (grub_parser_class): Removed.
7869 (grub_parser_execute): Use grub_rescue_parse_line.
7870 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
7871 (grub_rescue_parser): Removed.
7872 (grub_register_rescue_parser): Likewise.
7873 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
7874 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
7875 (grub_auth_check_authentication): Likewise.
7876 * normal/completion.c (iterate_command): Removed.
7877 (grub_normal_do_completion): Use FOR_COMMANDS.
7878 * normal/handler.c: Removed.
7879 * normal/main.c (read_config_file): Remove parser changing.
7880 (grub_normal_execute): Don't call read_handler_list.
7881 (grub_normal_read_line_real): Statically allocate prompt.
7882 (grub_cmdline_run): Use grub_normal_parse_line.
7883 (GRUB_MOD_FINI): Don't call free_handler_list.
7884 * normal/menu_entry.c (run): Likewise.
7885 * script/function.c (grub_script_function_list): Make global.
7886 (grub_script_function_iterate): Removed.
7887 * script/main.c (grub_normal_parse_line): Make global.
7888 (grub_sh_parser): Removed.
7889 (GRUB_MOD_INIT): Likewise.
7890 (GRUB_MOD_FINI): Likewise.
7891 * tests/lib/functional_test.c (grub_functional_test): Use
7892 FOR_LIST_ELEMENTS.
7893 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
7894 (grub_test_run): Use FOR_LIST_ELEMENTS.
7895 * tests/lib/unit_test.c (main): Likewise.
7896 * util/deviceiter.c (grub_util_iterate_devices): Don't use
7897 grub_list_pop.
7898 * util/grub-fstest.c (grub_term_input_class): Removed.
7899 (grub_term_output_class): Likewise.
7900 * util/grub-probe.c: Likewise.
7901 * util/i386/pc/grub-setup.c: Likewise.
7902 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7903 * util/grub-script-check.c (main): Don't call grub_init_all and
7904 grub_fini_all.
7905 * video/video.c (grub_video_adapter_list): Make global.
7906 (grub_video_register): Removed.
7907 (grub_video_unregister): Likewise.
7908 (grub_video_iterate): Likewise.
7909
6289c3a7
VS
79102010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7911
7912 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
7913 reported by Henrique Ferreiro.
7914
91460247
RM
79152010-06-09 Robert Millan <rmh@gnu.org>
7916
7917 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
7918 ones, when both are available.
7919
0ea7c4f9
GS
79202010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7921
7922 Make --version uniform and avoid hard-coded program name.
7923
7924 * util/grub-mkimage.c (main): Use `program_name' instead of
7925 hard-coded string.
7926 * util/i386/pc/grub-setup.c (main): Likewise.
7927 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
7928 * util/grub-install.in: Save the basename of $0 in $self, and use the
7929 latter in informational messages. Use the same format for --version
7930 as the binary programs.
7931 * util/grub-mkconfig.in: Likewise.
7932 * util/grub-mkrescue.in: Likewise.
7933 * util/grub-reboot.in: Likewise.
7934 * util/grub-set-default.in: Likewise.
7935 * util/i386/efi/grub-install.in: Likewise.
7936 * util/ieee1275/grub-install.in: Likewise.
7937 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7938
e8a6f3b6
GS
79392010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7940
7941 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
7942 embedding area. Use <= instead of == when checking for non-emptiness.
7943
f4d095d7
GS
79442010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7945
7946 * configure.ac: Add `.' to the directories searched for unifont.
7947
50e532ca
CW
79482010-06-08 Colin Watson <cjwatson@ubuntu.com>
7949
7950 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
7951 grub_script.yy.h.
7952
d39f3dec
CW
79532010-06-08 Colin Watson <cjwatson@ubuntu.com>
7954
7955 * docs/grub.texi (History): Expand to cover GRUB 2.
7956 (Serial terminal): Refer to `terminal_input' and `terminal_output'
7957 commands, not `terminal'.
7958 (serial): Likewise.
7959 (terminal_input): New section.
7960 (terminal_output): New section.
7961 (uppermem): New section (stub).
7962 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
7963
6ef0ddb4
CW
79642010-06-08 Colin Watson <cjwatson@ubuntu.com>
7965
7966 * docs/grub.texi (Security): Menu entries are unrestricted by
7967 default, not restricted to superusers as I had previously thought.
7968 Reword to account for this.
7969
e0f4c438
CW
79702010-06-07 Colin Watson <cjwatson@ubuntu.com>
7971
7972 * kern/emu/misc.c (device_mapper_null_log): New function.
7973 (grub_device_mapper_supported): New function.
7974 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
7975 prototype.
7976 * kern/emu/hostdisk.c (find_partition_start): Check whether
7977 device-mapper is supported before trying to use it.
7978 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
7979
da908200
CW
79802010-06-07 Colin Watson <cjwatson@ubuntu.com>
7981
7982 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
7983 (File name syntax): Likewise.
7984 (help): --all is no longer supported in GRUB 2. Be more precise
7985 about pattern matching.
7986
fb55c3ac
CW
79872010-06-07 Colin Watson <cjwatson@ubuntu.com>
7988
7989 * normal/completion.c (grub_normal_do_completion): When completing
7990 arguments to "set" and the current word contains an equals sign,
7991 skip to after the equals sign before starting completion.
7992
258c2573
CW
79932010-06-07 Colin Watson <cjwatson@ubuntu.com>
7994
7995 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
7996
ee75515e
CW
79972010-06-07 Colin Watson <cjwatson@ubuntu.com>
7998
7999 * docs/grub.texi (Network): New section.
8000 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
8001 `(nd)' as in GRUB Legacy.
8002 (pxe_unload): New section.
8003
a6a700aa
CW
80042010-06-07 Colin Watson <cjwatson@ubuntu.com>
8005
8006 * docs/grub.texi (Troubleshooting): `echo' is not usually available
8007 in the rescue shell, so recommend using `set' instead. Thanks,
8008 Jordan Uggla.
8009
4003dd38
CW
80102010-06-07 Colin Watson <cjwatson@ubuntu.com>
8011
8012 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
8013 (password): New section.
8014 (password_pbkdf2): New section.
8015 (search): New section.
8016 (Security): New section.
8017 (Troubleshooting): New section, currently very incomplete.
8018 (Invoking grub-mkpasswd-pbkdf2): New section.
8019 (Internals): New section, currently very incomplete.
8020
e1cbcc40
CW
80212010-06-07 Colin Watson <cjwatson@ubuntu.com>
8022
8023 * util/grub.d/00_header.in: Add some more quoting (of
8024 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
8025 work again.
8026 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
8027
db8fa1ad
CW
80282010-06-07 Colin Watson <cjwatson@ubuntu.com>
8029
8030 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
8031 to `count', fixing variable shadowing that broke the -c option.
8032
80332010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
8034
8035 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
8036 in case they contain spaces.
8037
f28a9212
CW
80382010-06-04 Colin Watson <cjwatson@ubuntu.com>
8039
8040 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
8041 "part_" to partmap module names, in line with grub-install.
8042 Reported by: Jindřich Makovička (Debian bug #584426).
8043
9cdfe32f
CW
80442010-06-04 Colin Watson <cjwatson@ubuntu.com>
8045
8046 * util/grub-mkimage.c: Make target-related error messages slightly
8047 more helpful; -O talks about "format". Explicitly point to the use
8048 of -O if no target is specified.
8049 Reported by: Didier Raboud (Debian bug #584415).
8050
795b593a
CW
80512010-06-03 Colin Watson <cjwatson@ubuntu.com>
8052
8053 * INSTALL: Document several build requirements for optional features
8054 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
8055
9d9b5833
GS
80562010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
8057
8058 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
8059 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
8060 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
8061
0819fec8
CW
80622010-06-02 Colin Watson <cjwatson@ubuntu.com>
8063
8064 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
8065 Thanks to Jordan Uggla for spotting this.
8066
49396b4f
VS
80672010-06-02 Aleš Nesrsta <starous@volny.cz>
8068
8069 Finally make USB usable.
8070
8071 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
8072 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
8073 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
8074 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
8075 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
8076 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
8077 (GRUB_OHCI_FSMPS): Likewise.
8078 (GRUB_OHCI_PERIODIC_START): Likewise.
8079 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
8080 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
8081 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
8082 (GRUB_OHCI_SET_PORT_RESET): Likewise.
8083 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
8084 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
8085 (grub_ohci_transaction): Likewise.
8086 (grub_ohci_transfer): Improve condition detection algorithms.
8087 Handle toggle property. Program the transactions correctly.
8088 Improve error handling. Various important fixups.
8089 (grub_ohci_portstatus): Put register writes in right order.
8090 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
8091 (grub_uhci_transfer): Don't show "failed" message on success.
8092 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
8093 array.
8094 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
8095 determine its size.
8096 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
8097 before initialization is completed. Use IN direction for empty
8098 transfers. Use last_trans and compute toggle.
8099 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
8100 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
8101 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
8102 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
8103 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
8104 (grub_usb_device): Increase toggle to 256.
8105 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
8106 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
8107 GRUB_USBMS_SUBCLASS_SFF8070.
8108 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
8109 (grub_scsi_inquiry): New member page and alloc_length.
8110 (grub_scsi_request_sense): New structure.
8111 (grub_scsi_request_sense_data): Likewise.
8112 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
8113 control.
8114 * disk/scsi.c (grub_scsi_request_sense): New function.
8115 (grub_scsi_test_unit_ready): Likewise.
8116 (grub_scsi_inquiry): Fill new fields.
8117 (grub_scsi_read_capacity): Likewise.
8118 (grub_scsi_read10): Add request sense at the end.
8119 (grub_scsi_read12): Likewise.
8120 (grub_scsi_write10): Likewise.
8121 (grub_scsi_write12): Likewise.
8122 (grub_scsi_open): Add Test Unit Ready.
8123 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
8124 Support additional subclasses. Con't clear halt yet. Activate the
8125 proper config. Calculate LUNs correctly.
8126 (grub_usbms_transfer): Various important fixups.
8127
81282010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
8131 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
8132 (grub_ohci_fini_hw): New function.
8133 (grub_ohci_restore_hw): Likewise.
8134 (GRUB_MOD_INIT(ohci)): Register preboot hook.
8135 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
8136 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
8137
81382010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8139
8140 Dedicated DMA allocations.
8141
8142 * bus/pci.c (grub_memalign_dma32): New function
8143 (grub_dma_free): Likewise.
8144 (grub_dma_get_virt): Likewise.
8145 (grub_dma_get_phys): Likewise.
8146 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
8147 (grub_ohci_pci_iter): Use dma32_alloc.
8148 (grub_ohci_transfer): Likewise.
8149 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8150 (grub_usb_bulk_readwrite): Likewise.
8151 * include/grub/pci.h: Add declarations.
8152
81532010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 CS5536 support.
8156
8157 * bus/cs5536.c: New file.
8158 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
8159 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
8160 (cs5536_mod_SOURCES): New variable.
8161 (cs5536_mod_CFLAGS): Likewise.
8162 (cs5536_mod_LDFLAGS): Likewise.
8163 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
8164 machine/pci.h.
8165 (kernel_img_SOURCES): Add bus/cs5536.c.
8166 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
8167 usb_keyboard.mod.
8168 (usb_mod_SOURCES): New variable.
8169 (usb_mod_CFLAGS): New variable.
8170 (usb_mod_LDFLAGS): New variable.
8171 (usbtest_mod_SOURCES): New variable.
8172 (usbtest_mod_CFLAGS): New variable.
8173 (usbtest_mod_LDFLAGS): New variable.
8174 (ohci_mod_SOURCES): New variable.
8175 (ohci_mod_CFLAGS): New variable.
8176 (ohci_mod_LDFLAGS): New variable.
8177 (usbms_mod_SOURCES): New variable.
8178 (usbms_mod_CFLAGS): New variable.
8179 (usbms_mod_LDFLAGS): New variable.
8180 (usb_keyboard_mod_SOURCES): New variable.
8181 (usb_keyboard_mod_CFLAGS): New variable.
8182 (usb_keyboard_mod_LDFLAGS): New variable.
8183 * include/grub/smbus.h: New file.
8184 * include/grub/cs5536.h: New file.
8185
0b35b2a9
CW
81862010-06-02 Colin Watson <cjwatson@ubuntu.com>
8187
8188 * util/grub.d/00_header.in: Add safety check to make sure that
8189 ${locale_dir} exists before trying to probe it.
8190
ca0afd5b
CW
81912010-06-02 Colin Watson <cjwatson@ubuntu.com>
8192
8193 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
8194 per the GNU Coding Standards; this is now too obscure to be worth
8195 documenting.
8196 (QNX): Likewise.
8197 (chainloader): Remove cross-reference to `SCO UnixWare'.
8198
1c41aa78
CW
81992010-06-02 Colin Watson <cjwatson@ubuntu.com>
8200
8201 * docs/grub.texi (Chain-loading): New section.
8202 (DOS/Windows): New section, borrowed from GRUB Legacy with details
8203 adjusted for GRUB 2.
8204 (SCO UnixWare): Likewise.
8205 (QNX): Likewise.
8206 (chainloader): Add reference to `Block list syntax'.
8207 (drivemap): New section.
8208 (parttool): New section.
8209
bb8ea0f5
CW
82102010-06-02 Colin Watson <cjwatson@ubuntu.com>
8211
8212 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
8213 the grub shell'.
8214 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
8215 (Installing GRUB using grub-install): Remove reference to the grub
8216 shell; mention `grub-mkimage' and `grub-setup' instead.
8217 (Invoking grub-install): Likewise.
8218 (Interface): Add reference to `Menu entry editor'.
8219 (serial): Remove `--device' option.
8220
288dd6ed
CW
82212010-06-02 Colin Watson <cjwatson@ubuntu.com>
8222
8223 * docs/grub.texi (Configuration): New section, documenting
8224 configuration file generation using grub-mkconfig. I've left a slot
8225 for documenting the full shell scripting format but have not yet
8226 started on writing that up.
8227 (Invoking grub-mkconfig): New section.
8228
34c9f0e9
CW
82292010-06-02 Colin Watson <cjwatson@ubuntu.com>
8230
8231 * docs/grub.texi (direntry): Remove grub-terminfo reference.
8232 (GNU GRUB manual): Likewise.
8233 (General commands): Update description of `terminfo' for GRUB 2.
8234
9121567e
CW
82352010-06-02 Colin Watson <cjwatson@ubuntu.com>
8236
8237 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
8238 (GRUB_MOD_INIT): Fix capitalisation.
8239 * docs/grub.texi (Command-line and menu entry commands): Document
8240 gettext and gptsync commands.
8241
ab631611
CW
82422010-06-02 Colin Watson <cjwatson@ubuntu.com>
8243
8244 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
8245 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
8246
bde4a9ac
CW
82472010-06-01 Colin Watson <cjwatson@ubuntu.com>
8248
8249 Add btrfs probing support, currently only in the single-device case.
8250
8251 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
8252 function.
8253 (grub_guess_root_device): Call find_root_device_from_mountinfo
8254 before looking in /dev.
8255
b1d17e10
VS
82562010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
8259 GRUB_DISK_SIZE_UNKNOWN.
8260 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
8261
dfbfe004
JS
82622010-05-31 Jiro SEKIBA <jir@unicus.jp>
8263
8264 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
8265 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
8266 corrupted or not synced properly.
8267
c2ffc8e9
VS
82682010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8269
8270 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
8271 Reported by: Seth Goldberg.
8272
56293166
VS
82732010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
8276 addition of dest.
8277 Reported by: Seth Goldberg.
8278
7620e7de
VS
82792010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
8282 Reported by: Seth Goldberg.
8283
c837af3f
VS
82842010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
8287 64-bit address as signed on MIPS.
8288
c7c75cf4
CW
82892010-05-28 Colin Watson <cjwatson@ubuntu.com>
8290
8291 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
8292 to the empty string.
8293
fa4b8490
BC
82942010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
8295
8296 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
8297
8298 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
8299 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
8300 * kern/misc.c (__enable_execute_stack): Disable on
8301 GRUB_MACHINE_EMU.
8302
a33075b9
CW
83032010-05-28 Colin Watson <cjwatson@ubuntu.com>
8304
8305 Make grub-probe work with symbolic links under /dev/mapper as well
8306 as with real block devices. The Linux world seems to be (at best)
8307 in transition here, and GRUB shouldn't get caught in the middle.
8308
8309 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
8310 /dev/mapper.
8311
d8708134
CW
83122010-05-27 Colin Watson <cjwatson@ubuntu.com>
8313
8314 * util/grub-script-check.c (main): Ensure defined behaviour on empty
8315 input files (in which case exit zero).
8316
db2102a0
CW
83172010-05-27 Colin Watson <cjwatson@ubuntu.com>
8318
8319 * kern/emu/misc.c (canonicalize_file_name): realpath can still
8320 return NULL for various reasons even if it has a maximum-length
8321 buffer: for example, there might be a symlink loop, or the path
8322 might exceed PATH_MAX. If this happens, return NULL.
8323
5fdba519
RM
83242010-05-27 Robert Millan <rmh@gnu.org>
8325
8326 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
8327 partmap module to handle cross-partmap setups.
8328 Reported by Orestes Mas. Gràcies!
8329
d1d368e4
CW
83302010-05-27 Colin Watson <cjwatson@ubuntu.com>
8331
8332 * util/grub-mkrescue.in: Initialise override_dir rather than
8333 assuming that it's unset or empty in the environment.
8334
95ac3c73
GS
83352010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
8336
8337 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
8338 variable index into p_index to suppress a warning with -Wshadow.
8339
7d8c0213
BC
83402010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
8341
8342 * INSTALL: Added flex >= 2.5.35 requirement.
8343
db4d5813
VS
83442010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
8347
f24f4300
VS
83482010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 cmostest support.
8351
8352 * commands/i386/cmostest.c: New file.
8353 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
8354 (cmostest_mod_SOURCES): New variable.
8355 (cmostest_mod_CFLAGS): Likewise.
8356 (cmostest_mod_LDFLAGS): Likewise.
8357 * conf/i386-pc.rmk: Likewise.
8358 * docs/grub.texi (Vendor power-on keys): New section.
8359 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
8360 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
8361 and GRUB_BUTTON_CMOS_ADDRESS.
8362 * util/grub.d/00_header.in: Handle powering-on by separate button.
8363
ad603f61
VS
83642010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8365
8366 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
8367 Removed drawing_scrollbar argument. All users updated
8368 Fixes #29792.
8369 Reported by Jo Shields
8370
3ecb080a
VS
83712010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
8374 buffer since gfxterm handles double repaint.
8375
5f2316c1
VS
83762010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
8379 * term/gfxterm.c (real_scroll): Likewise.
8380
9a25f885
VS
83812010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
8384 before calling BIOS.
8385
39fbb79a
VS
83862010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * include/grub/i18n.h: Always enable grub_gettext.
8389
228cfa97
VS
83902010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8391
8392 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
8393 partition naming style.
8394
21717c8f
CW
83952010-05-21 Colin Watson <cjwatson@ubuntu.com>
8396
8397 * util/grub-mkconfig.in: Fix handling of -o so that it works when
8398 not the first option.
8399
c0f48e65
CW
84002010-05-20 Colin Watson <cjwatson@ubuntu.com>
8401
8402 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
8403
96779aec
CW
84042010-05-20 Colin Watson <cjwatson@ubuntu.com>
8405
8406 * util/misc.c: Move inclusion of <limits.h> to ...
8407 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
8408
fa9d256e
GS
84092010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
8410
8411 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
8412 Fix merge error in NetBSD code.
8413 (find_partition_start) [__NetBSD__]: Likewise.
8414
123b7a85
BC
84152010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
8416
8417 Fix grub-mkrescue usage unit testing.
8418
8419 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
8420
74276c0d
CF
84212010-05-18 Christian Franke <franke@computer.org>
8422
8423 * util/grub.d/10_windows.in: Use path names instead of
8424 drive letters to prevent warning from Cygwin 1.7.
8425 Add drivemap command to menuentry if needed.
8426
c4f7b523
ST
84272010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
8428
8429 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
8430 gnumach and gnumach.gz.
8431
95b97950
VS
84322010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8433
8434 * include/grub/i18n.h (gettext): Inline instead of using #define.
8435 (grub_gettext): Likewise.
8436 (_): Likewise.
8437
01b8d2d7
VS
84382010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
8441 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
8442 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
8443 (main): Add a slash after pkglibdirroot.
8444
654e1d1e
VS
84452010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * util/grub-install.in: Add missing "in" keyword.
8448
26966aeb
VS
84492010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
8452 Reported by: Seth Goldberg.
8453
75006747
VS
84542010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
8457
74cbf5bd
CW
84582010-05-18 Colin Watson <cjwatson@ubuntu.com>
8459
8460 * configure.ac: Check for Linux device-mapper support.
8461
8462 * util/hostdisk.c (device_is_mapped): New function.
8463 (find_partition_start): New function, partly broken out from
8464 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
8465 device-mapper support added.
8466 (linux_find_partition): Use find_partition_start.
8467 (convert_system_partition_to_system_disk): Add `st' argument.
8468 Support Linux /dev/mapper/* devices if device-mapper support is
8469 available; only DM-RAID devices are understood at present.
8470 (find_system_device): Add `st' argument. Pass it to
8471 convert_system_partition_to_system_disk.
8472 (grub_util_biosdisk_get_grub_dev): Pass stat result to
8473 find_system_device and convert_system_partition_to_system_disk. Use
8474 find_partition_start.
8475
8476 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
8477 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
8478 * util/deviceiter.c [__linux__]: Define MINOR.
8479 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
8480 * util/mkdevicemap.c (grub_putchar): New function.
8481 (grub_getkey): New function.
8482 (grub_refresh): New function.
8483 (main): Set debug=all if -v -v is used.
8484
355b51e9
CW
84852010-05-18 Colin Watson <cjwatson@ubuntu.com>
8486
8487 Fix build with non-GNU libcs.
8488
8489 * util/misc.c (canonicalize_file_name): Move to ...
8490 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
8491 grub_make_system_path_relative_to_its_root.
8492
7fb5c25f
CW
84932010-05-18 Colin Watson <cjwatson@ubuntu.com>
8494
8495 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
8496 we handle finding grub-mkimage. Default to finding grub-mkimage in
8497 ${bindir} with program_transform_name applied, and provide a
8498 --grub-mkimage option to override this.
8499
1d3293d6
VS
85002010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 Remove grub-mkisofs.
8503
8504 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
8505 (grub_mkisofs_SOURCES): Removed.
8506 (grub_mkisofs_CFLAGS): Removed.
8507 * util/mkisofs/defaults.h: Removed.
8508 * util/mkisofs/eltorito.c: Likewise.
8509 * util/mkisofs/exclude.h: Likewise.
8510 * util/mkisofs/hash.c: Likewise.
8511 * util/mkisofs/include/: Likewise.
8512 * util/mkisofs/include/fctldefs.h: Likewise.
8513 * util/mkisofs/include/mconfig.h: Likewise.
8514 * util/mkisofs/include/prototyp.h: Likewise.
8515 * util/mkisofs/include/statdefs.h: Likewise.
8516 * util/mkisofs/iso9660.h: Likewise.
8517 * util/mkisofs/joliet.c: Likewise.
8518 * util/mkisofs/match.c: Likewise.
8519 * util/mkisofs/match.h: Likewise.
8520 * util/mkisofs/mkisofs.c: Likewise.
8521 * util/mkisofs/mkisofs.h: Likewise.
8522 * util/mkisofs/msdos_partition.h: Likewise.
8523 * util/mkisofs/multi.c: Likewise.
8524 * util/mkisofs/name.c: Likewise.
8525 * util/mkisofs/rock.c: Likewise.
8526 * util/mkisofs/tree.c: Likewise.
8527 * util/mkisofs/write.c: Likewise.
8528
5dde9afe
VS
85292010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 Unify grub-mkimage accross platforms.
8532
8533 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
8534 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
8535 (grub_mkelfimage_SOURCES): Removed.
8536 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
8537 (util/grub-mkimage.c_DEPENDENCIES): .. this.
8538 (bin_UTILITIES): Add grub-mkimage.
8539 (grub_mkimage_SOURCES): New variable.
8540 (kernel_img_HEADERS): Remove machine/kernel.h.
8541 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
8542 (pkglib_PROGRAMS): Add kernel.img.
8543 (kernel_img_HEADERS): Add machine/kernel.h.
8544 (kernel_img_FORMAT): Removed.
8545 (bin_UTILITIES): Remove grub-mkimage.
8546 (grub_mkimage_SOURCES): Removed.
8547 (grub_mkimage_CFLAGS): Likewise.
8548 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8549 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
8550 (pkglib_PROGRAMS): Add kernel.img.
8551 (bin_UTILITIES): Remove grub-mkimage.
8552 (grub_mkimage_SOURCES): Removed.
8553 (grub_mkimage_CFLAGS): Likewise.
8554 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8555 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
8556 (pkglib_PROGRAMS): Add kernel.img.
8557 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
8558 (pkglib_PROGRAMS): Add kernel.img.
8559 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
8560 (grub_mkimage_SOURCES): Removed.
8561 (grub_mkimage_CFLAGS): Likewise.
8562 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8563 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
8564 (pkglib_PROGRAMS): Add kernel.img.
8565 (bin_UTILITIES): Remove grub-mkimage.
8566 (grub_mkimage_SOURCES): Removed.
8567 (grub_mkimage_CFLAGS): Likewise.
8568 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8569 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
8570 (grub_mkimage_SOURCES): Removed.
8571 (grub_mkimage_CFLAGS): Likewise.
8572 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8573 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
8574 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
8575 (grub_pe32_optional_header): ... this.
8576 (grub_pe64_optional_header): ... and this. All users updated.
8577 (GRUB_PE32_PE32_MAGIC): Split into ..
8578 (GRUB_PE32_PE32_MAGIC): .. this.
8579 (GRUB_PE32_PE64_MAGIC): .. and this.
8580 (GRUB_PE32_SIGNATURE_SIZE): New definition.
8581 * include/grub/elf.h (PT_GNU_STACK): New definition.
8582 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
8583 * include/grub/i386/efi/kernel.h: Likewise.
8584 * include/grub/i386/kernel.h: Likewise.
8585 * include/grub/i386/pc/kernel.h: Likewise.
8586 * include/grub/i386/qemu/boot.h: Likewise.
8587 * include/grub/mips/kernel.h: Likewise.
8588 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8589 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8590 * include/grub/powerpc/kernel.h: Likewise.
8591 * include/grub/sparc64/ieee1275/boot.h: Likewise.
8592 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8593 * include/grub/sparc64/kernel.h: Likewise.
8594 * include/grub/x86_64/efi/kernel.h: Likewise.
8595 * include/grub/x86_64/kernel.h: Likewise.
8596 * include/grub/offsets.h: New file.
8597 * include/grub/kernel.h (grub_module_info): Split into ...
8598 (grub_module_info32): ... this.
8599 (grub_module_info64): ... and this.
8600 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
8601 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
8602 (grub_boot_blocklist): Moved from here ...
8603 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
8604 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
8605 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
8606 * include/grub/types.h (grub_target_to_host16): Removed.
8607 (grub_target_to_host32): Likewise.
8608 (grub_target_to_host64): Likewise.
8609 (grub_host_to_target16): Likewise.
8610 (grub_host_to_target32): Likewise.
8611 (grub_host_to_target64): Likewise.
8612 (grub_host_to_target_addr): Likewise.
8613
8614 Support grub-mkrescue for efi, coreboot and qemu.
8615
8616 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
8617 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
8618 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
8619 * util/grub-mkrawimage.c: Moved from here ...
8620 * util/grub-mkimage.c: ... here. All users updated.
8621 (ALIGN_ADDR): Use image_target.
8622 (TARGET_NO_FIELD): New const.
8623 (image_target_desc): New type.
8624 (image_targets): New array.
8625 (grub_target_to_host64): Use image_target.
8626 (grub_target_to_host32): Likewise.
8627 (grub_target_to_host16): Likewise.
8628 (grub_host_to_target64): Likewise.
8629 (grub_host_to_target32): Likewise.
8630 (grub_host_to_target16): Likewise.
8631 (grub_host_to_target_addr): Likewise.
8632 (generate_image): Handle multiimage.
8633 (main): Require -O parameter. All users updated.
8634 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
8635 util/efi/grub-mkimage.c
8636 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
8637 New option --rom-directory.
8638 Use xorriso.
8639 * util/i386/efi/grub-mkimage.c: Removed.
8640 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
8641 (grub_target_to_host32): Likewise.
8642 (grub_target_to_host64): Likewise.
8643 (grub_host_to_target16): Likewise.
8644 (grub_host_to_target32): Likewise.
8645 (grub_host_to_target64): Likewise.
8646 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
8647 (grub_target_to_host32): Likewise.
8648 (grub_target_to_host64): Likewise.
8649 (grub_host_to_target16): Likewise.
8650 (grub_host_to_target32): Likewise.
8651 (grub_host_to_target64): Likewise.
8652
f4fc97d0
BC
86532010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
8654
8655 Source tree is reorganized for emu build.
8656
8657 * include/grub/util/console.h: Move from here...
8658 * include/grub/emu/console.h: ...to here.
8659 * include/grub/util/getroot.h: Move from here...
8660 * include/grub/emu/getroot.h: ...to here.
8661 * include/grub/util/hostdisk.h: Move from here...
8662 * include/grub/emu/hostdisk.h: ...to here.
8663 * util/console.c: Move from here...
8664 * kern/emu/console.c: ...to here.
8665 * util/getroot.c: Move from here...
8666 * kern/emu/getroot.c: ...to here.
8667 * util/grub-emu.c: Move from here...
8668 * kern/emu/main.c: ...to here.
8669 * util/hostdisk.c: Move from here...
8670 * kern/emu/hostdisk.c: ...to here.
8671 * util/hostfs.c: Move from here...
8672 * kern/emu/hostfs.c: ...to here.
8673 * util/mm.c: Move from here...
8674 * kern/emu/mm.c: ...to here.
8675 * util/pci.c: Move from here...
8676 * bus/emu/pci.c: ...to here.
8677 * util/sdl.c: Move from here...
8678 * video/emu/sdl.c: ...to here.
8679 * util/time.c: Move from here...
8680 * kern/emu/time.c: ...to here.
8681 * util/usb.c: Move from here...
8682 * bus/usb/emu/usb.c: ...to here.
8683
8684 * include/grub/emu/misc.h: New header for grub-emu functions.
8685 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
8686
8687 * conf/any-emu.rmk: Rule updates for above renames.
8688 * conf/common.rmk: Likewise.
8689 * conf/i386-pc.rmk: Likewise.
8690 * conf/i386-qemu.rmk: Likewise.
8691 * conf/mips.rmk: Likewise.
8692 * conf/sparc64-ieee1275.rmk: Likewise.
8693 * conf/x86-efi.rmk: Likewise.
8694
8695 * disk/lvm.h: #include updates for above renames.
8696 * util/grub-mkrelpath.c: Likewise.
8697 * util/grub-probe.c: Likewise.
8698 * util/i386/pc/grub-setup.c: Likewise.
8699 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8700 * kern/emu/console.c: Likewise.
8701 * kern/emu/getroot.c: Likewise.
8702 * kern/emu/hostdisk.c: Likewise.
8703 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
8704
8705 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
8706 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
8707 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
8708 * util/misc.c: Remove grub-emu functions.
8709
cced9145
VS
87102010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 Fix gfxmenu crash.
8713 Reported by: Thorsten Grützmacher.
8714
8715 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
8716 timeout hook.
8717 (circprog_set_property): Register and unregister timeout hook.
8718 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
8719 (label_destroy): Free template. and unregister hook.
8720 (label_set_state): New function.
8721 (label_set_property): Handle templates and hooks.
8722 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
8723 timeout hook.
8724 (progress_bar_set_property): Register and unregister timeout hook.
8725 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
8726 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
8727 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
8728 (update_timeout_visit): Removed.
8729 (update_timeouts): New function.
8730 (redraw_timeouts): Likewise.
8731 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
8732 (grub_gfxmenu_clear_timeout): Likewise.
8733 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
8734 (grub_gfxmenu_timeout_notify): Likewise.
8735 (grub_gfxmenu_timeout_notifications): New external variable.
8736 (grub_gfxmenu_timeout_register): New function.
8737 (grub_gfxmenu_timeout_unregister): Likewise.
8738
c6e5caab
VS
87392010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 Transform (broken) vga terminal into (working) vga video driver.
8742
8743 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
8744 video/i386/pc/vga.c.
8745 * include/grub/video.h (grub_video_driver_id):
8746 Add GRUB_VIDEO_DRIVER_VGA.
8747 * term/i386/pc/vga.c: Renamed to ...
8748 * video/i386/pc/vga.c: ...this
8749 (DEBUG_VGA): Removed.
8750 (CHAR_WIDTH): Likewise.
8751 (CHAR_HEIGHT): Likewise.
8752 (TEXT_WIDTH): Likewise.
8753 (TEXT_HEIGHT): Likewise.
8754 (DEFAULT_FG_COLOR): Likewise.
8755 (DEFAULT_BG_COLOR): Likewise.
8756 (colored_char): Likewise.
8757 (xpos): Likewise.
8758 (ypos): Likewise.
8759 (cursor_state): Likewise.
8760 (fg_color): Likewise.
8761 (bg_color): Likewise.
8762 (text_buf): Likewise.
8763 (page): Likewise.
8764 (font): Likewise.
8765 (framebuffer): New variable.
8766 (set_read_map): Disabled.
8767 (setup): New variable.
8768 (is_target): Likewise.
8769 (grub_vga_mod_init): Likewise.
8770 (grub_vga_mod_fini): Likewise.
8771 (check_vga_mem): Likewise.
8772 (write_char): Likewise.
8773 (write_cursor): Likewise.
8774 (scroll_up): Likewise.
8775 (grub_vga_putchar): Likewise.
8776 (grub_vga_getcharwidth): Likewise.
8777 (grub_vga_getwh): Likewise.
8778 (grub_vga_getxy): Likewise.
8779 (grub_vga_gotoxy): Likewise.
8780 (grub_vga_cls): Likewise.
8781 (grub_vga_setcolorstate): Likewise.
8782 (grub_vga_setcursor): Likewise.
8783 (grub_video_vga_init): New function.
8784 (grub_video_vga_setup): Likewise.
8785 (grub_video_vga_fini): Likewise.
8786 (update_target): Likewise.
8787 (grub_video_vga_blit_bitmap): Likewise.
8788 (grub_video_vga_blit_render_target): Likewise.
8789 (grub_video_vga_set_active_render_target): Likewise.
8790 (grub_video_vga_get_active_render_target): Likewise.
8791 (grub_video_vga_swap_buffers): Likewise.
8792 (grub_video_vga_set_palette): Likewise.
8793 (grub_video_vga_get_info_and_fini): Likewise.
8794 (grub_vga_term): Removed.
8795 (grub_video_vga_adapter): New variable.
8796 (GRUB_MOD_INIT): Register a video driver instead of terminal.
8797 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
8798
2bf61a98
VS
87992010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * video/readers/jpeg.c: Indented.
8802
09ddcd11
VS
88032010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 Various jpeg cleanups.
8806
8807 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
8808 (grub_jpeg_decode_quan_table): Use sizeof.
8809 (grub_jpeg_decode_du): Use ARRAY_SIZE.
8810
e5507505
PH
88112010-05-05 Peter Hurley <No e-mail available> (tiny change)
8812
8813 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
8814 tables. Ignore non-last ac bit.
8815 (grub_jpeg_decode_quan_table): Likewise.
8816
7e720a9b
VS
88172010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8820 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
8821 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8822 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
8823 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
8824 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
8825
a7fc080b
VS
88262010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
8829 error.
8830
2bf6012d
VS
88312010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8832
8833 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
8834
265d68cd
VS
88352010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
8838 condition.
8839
88402010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
8841
8842 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
8843 part.
8844
265d68cd 88452010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
8846
8847 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
8848 pointers.
8849
265d68cd 88502010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
8851
8852 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
8853
d1b61374
CF
88542010-05-01 Christian Franke <franke@computer.org>
8855
8856 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
8857 Remove broken Cygwin path conversion.
8858 * util/misc.c: [__CYGWIN__] Add include and define.
8859 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
8860 for Cygwin 1.7.
8861 (make_system_path_relative_to_its_root): Simplify loop, replace early
8862 return by break.
8863 [__CYGWIN__] Add conversion to win32 path.
8864 Include "/" case in trailing slash removal.
8865
3558c6e9
VS
88662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 * kern/main.c (grub_load_config): Fix copy-pasted comment.
8869 Reported by: Seth Goldberg
8870
f5f3ff93
VS
88712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8872
8873 * commands/help.c (grub_cmd_help): Fix a typo.
8874 Reported by: Seth Goldberg
8875
d8b5cd40
VS
88762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
8879 name and add N_.
8880 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
8881 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
8882 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
8883 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
8884 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
8885 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
8886 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8887 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8888 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8889 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8890 * normal/context.c (GRUB_MOD_INIT): Likewise.
8891 * normal/main.c (GRUB_MOD_INIT): Likewise.
8892 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8893 * term/serial.c (GRUB_MOD_INIT): Likewise.
8894 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8895
88c14915
VS
88962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
8899 extra == 0.
8900
165134bc
VS
89012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8902
8903 * commands/iorw.c: New file.
8904 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
8905 (iorw_mod_SOURCES): New variable.
8906 (iorw_mod_CFLAGS): Likewise.
8907 (iorw_mod_LDFLAGS): Likewise.
8908
c5ac9b32
VS
89092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 Hotkey support
8912
8913 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
8914 * normal/main.c (hotkey_aliases): New variable.
8915 (grub_normal_add_menu_entry): Parse "--hotkey".
8916 * normal/menu_text.c (run_menu): Handle hotkeys.
8917
ce60689c
VS
89182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 * kern/i386/coreboot/init.c (grub_machine_init): Call
8921 grub_machine_mmap_init on qemu.
8922
0359d006
VS
89232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * boot/i386/qemu/boot.S: Add a missing .code16.
8926
7819a456
VS
89272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 Use LBIO on coreboot.
8930
8931 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
8932 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
8933 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
8934 New declaration.
8935 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
8936 grub_machine_mmap_init on coreboot.
8937 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
8938 GRUB_LINUXBIOS_MEMBER_LINK.
8939 (grub_machine_mmap_iterate): Fix declaration.
8940 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
8941
7210dca9
VS
89422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 Split coreboot and multiboot ports.
8945
8946 * conf/i386-multiboot.rmk: New file.
8947 * configure.ac: Add multiboot port.
8948 * include/grub/i386/multiboot/boot.h: New file.
8949 * include/grub/i386/multiboot/console.h: Likewise.
8950 * include/grub/i386/multiboot/init.h: Likewise.
8951 * include/grub/i386/multiboot/kernel.h: Likewise.
8952 * include/grub/i386/multiboot/loader.h: Likewise.
8953 * include/grub/i386/multiboot/memory.h: Likewise.
8954 * include/grub/i386/multiboot/serial.h: Likewise.
8955 * include/grub/i386/multiboot/time.h: Likewise.
8956 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
8957 * loader/multiboot.c: Likewise.
8958 * loader/multiboot_mbi2.c: Likewise.
8959 * util/grub-mkrescue.in: Generate multiboot rescue.
8960
6f8aaf68
VS
89612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8962
3080f7a7
VS
8963 * kern/parser.c (grub_parser_execute): Cope with read-only config.
8964
89652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
8968
8969 * commands/terminal.c (abstract_terminal): New struct.
8970 (handle_command): New function. Based on grub_cmd_terminal_input.
8971 (grub_cmd_terminal_input): Use handle_command.
8972 (grub_cmd_terminal_output): Use handle_command.
8973
a8ebb841
BC
89742010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
8975
8976 Fix comment handling.
8977
8978 * tests/grub_script_comments.in: New testcase.
8979 * conf/tests.rmk: Rules for new testcase.
8980 * script/yylex.l: Updated flex rules.
8981
bb06ba08
ST
89822010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
8983
8984 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
8985 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
8986 if argc is 1.
bb06ba08 8987
cc9d2425
VS
89882010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
8991 autogen issues.
8992
460d8402
CF
89932010-04-26 Christian Franke <franke@computer.org>
8994
8995 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
8996 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
8997 (grub_get_prefix): Remove function.
8998 * util/grub-emu.c (main): Replace grub_get_prefix () call by
8999 make_system_path_relative_to_its_root ().
9000 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9001
553c01f9
CF
90022010-04-24 Christian Franke <franke@computer.org>
9003
9004 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
9005 (kernel_img_LDFLAGS): Remove -static-libgcc.
9006
2aec1692
CF
90072010-04-24 Christian Franke <franke@computer.org>
9008
9009 * configure.ac: Do not CHECK_BSS_START_SYMBOL
9010 and CHECK_END_SYMBOL if grub-emu is built.
9011 Unset TARGET_OBJ2ELF if grub-emu is built
9012 without module support.
9013
f67dc308
JS
90142010-04-24 Jiro SEKIBA <jir@unicus.jp>
9015
9016 Nilfs2 support.
9017
9018 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
9019 (grub_fstest_SOURCES): Likewise.
9020 (pkglib_MODULES): Add nilfs2.mod.
9021 (nilfs2_mod_SOURCES): New variable.
9022 (nilfs2_mod_CFLAGS): Likewise.
9023 (nilfs2_mod_LDFLAGS): Likewise.
9024 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
9025 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
9026 * fs/nilfs2.c: New file.
9027
4ba8d354
VS
90282010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
9031 is not supported.
9032
0d2c20c6
GS
90332010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
9034
9035 Add grub-mkconfig support for NetBSD.
9036
9037 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
9038 * util/grub-mkconfig.in: export new NetBSD specific variables.
9039 * po/POTFILES-shell: added 10_netbsd.in.
9040 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
9041
bc4a2d83
BC
90422010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
9043
9044 Fix emu build with grub-emu-pci and grub-emu-modules.
9045
9046 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
9047 functions.
9048 * include/grub/libpciaccess.h: New file.
9049 * conf/any-emu.rmk: Update kernel headers for emu build.
9050
f48c87aa
VS
90512010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
9054
18959385
VS
90552010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9056
9057 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
9058
0037de3f
VS
90592010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
9062 Retrieve chosen/bootpath if bootpath isn't hardcoded.
9063 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
9064 util/ieee1275/ofpath.c.
9065 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
9066 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
9067 * include/grub/sparc64/ieee1275/boot.h
9068 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
9069 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
9070 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
9071 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
9072 const char *.
9073 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
9074 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
9075 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
9076 install.
9077
38e55e90
GS
90782010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
9079
9080 * util/grub-mkconfig.in: Corrected two == equality tests.
9081 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
9082 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
9083 expect a number appended to it.
9084 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
9085 expects a number appended to it.
9086
a9e6ff28
VS
90872010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
9090
0b830b8f
VS
90912010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 * util/hostdisk.c (make_device_name): Change to new partition naming.
9094
0973daeb
VS
90952010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
9098
460d8402 90992010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
9100
9101 * Makefile.in: Add missing localedir setting.
9102
0b456309
CW
91032010-04-14 Colin Watson <cjwatson@ubuntu.com>
9104
9105 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
9106 mistake in r2156. Noticed by Anthony Fok.
9107
9108 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
9109 @localedir@.
9110 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
9111
08f46d62
BC
91122010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
9113
9114 Fix a spurious, uninitialized variable warning.
9115
9116 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
9117 Initialize variable, shdr.
9118 (grub_freebsd_load_elfmodule): Likewise.
9119 (grub_freebsd_load_elf_meta): Likewise.
9120
8c4a72d4
BC
91212010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
9122
9123 Fix for escaped dollar in double quoted strings.
9124
9125 * script/yylex.l: Updated flex rules.
9126 * conf/tests.rmk: Rule for new testcase.
9127 * tests/grub_script_dollar.in: New testcase.
9128
ce44826e
CPE
91292010-04-13 Carles Pina i Estany <carles@pina.cat>
91302010-04-13 Colin Watson <cjwatson@ubuntu.com>
9131
9132 Enclose all translated strings in grub.cfg in single quotes, and
9133 escape them appropriately (Ubuntu bug #552921).
9134
9135 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
9136 * util/grub.d/10_hurd.in: Use it.
9137 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
9138 * util/grub.d/10_linux.in (linux_entry): Likewise.
9139
4b0cd8f8
VS
91402010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9141
9142 Fix cygwin compilation.
9143
9144 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
9145 * include/grub/misc.h (__register_frame_info)
9146 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
9147 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
9148 * kern/misc.c (__register_frame_info)
9149 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
9150 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
9151
01fcf061
VS
91522010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
9155
5d04b11e
VS
91562010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 Unify libgcc processing.
9159
9160 * Makefile.in (kernel_img_LDFLAGS): New variable.
9161 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
9162 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
9163 overwriting.
9164 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
9165 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
9166 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
9167 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
9168 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
9169 overwriting. Remove -lgcc and -static-libgcc
9170 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
9171 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9172 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9173 (kernel_img_LDFLAGS): Append instead of overwriting.
9174 Remove -lgcc and -static-libgcc
9175 * conf/sparc64-ieee1275.rmk: Likewise.
9176 * include/grub/powerpc/libgcc.h: Move to ...
9177 * include/grub/libgcc.h: .. this.
9178 * include/grub/libgcc.h: Don't export most of the function on x86.
9179 (__bswapsi2): New export.
9180 (__bswapdi2): Likewise.
9181 * include/grub/mips/libgcc.h: Removed.
9182 * include/grub/sparc64/libgcc.h: Likewise.
9183
b7f3ac29
VS
91842010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
9187 disk_info_msg (conflicts with gettexting into languages with cases).
9188
2c7031b1
GS
91892010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9190
9191 Add grub-probe support for NetBSD.
9192
9193 * util/getroot.c (find_root_device): Convert block device to
9194 character device on NetBSD.
9195 * util/probe.c (probe): Require character device on NetBSD.
9196 * util/hostdisk.c: NetBSD specific headers.
9197 (configure_device_driver): new function to tune device driver
9198 parameters (currently only for NetBSD floppy driver).
9199 (grub_util_biosdisk_open): NetBSD specific code (get disk size
9200 via disklabel ioctl).
9201 (open_device): call configure_device_driver on NetBSD.
9202 (convert_system_partition_to_system_disk): NetBSD specific code.
9203 (device_is_wholedisk): Likewise.
9204 (grub_util_biosdisk_get_grub_dev): Likewise.
9205 (make_device_name): Fixed a typo in bsd_part_str.
9206 * configure.ac: check for opendisk() and getrawpartition() on
9207 NetBSD and set LIBUTIL.
9208 * Makefile.in: add LIBUTIL to LIBS.
9209
f516290c
BC
92102010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9211
9212 Documentation fix.
9213
9214 * util/grub-script-check.c: Better help message.
9215
d8dcc0df
BC
92162010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9217
9218 Fix FreeBSD build.
9219
9220 * configure.ac: Flex version check.
9221 * conf/common.rmk: Add -Wno-error to sh.mod.
9222 * script/yylex.l: Remove all #pragma.
9223
6734334a
VS
92242010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * include/grub/util/misc.h (canonicalise_file_name): Add missing
9227 prototype.
9228 Reported by: Seth Goldberg.
9229
daea6abd
VS
92302010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
9233 Rename "module" to "module2".
9234 Reported by: Seth Goldberg.
9235
f2fd9d2b
VS
92362010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
9239 EXPORT_FUNC.
9240 Reported by: Seth Goldberg.
9241
be124579
VS
92422010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * lib/posix_wrap/locale.h: Add missing file.
9245 Reported by: Seth Goldberg.
9246
ef5da797
VS
92472010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 grub-emu module load support.
9250
9251 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
9252 NO_DYNAMIC_MODULES switched to this.
9253 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
9254 (CFLAGS): Likewise.
9255 * conf/any-emu.rmk: Generate symlist.
9256 (kernel_img_HEADERS): Add util/datetime.h.
9257 (kernel_img_HEADERS) [sdl]: Add sdl.h.
9258 (kernel_img_HEADERS) [libusb]: Add libusb.h.
9259 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
9260 kern/$(target_cpu)/cache.S.
9261 * configure.ac (grub-emu-modules): New option.
9262 * genmk.rb: Handle multiple source lists.
9263 * include/grub/sdl.h: New file.
9264 * include/grub/libusb.h: Likewise.
9265 * util/grub-emu.c (main): Hanle (host) root.
9266 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
9267 GRUB_ERR_UNKNOWN_DEVICE.
9268 * util/misc.c: Move mm functions to ...
9269 * util/mm.c: ... here. All users updated.
9270
47822096
VS
92712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
9274 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
9275 missing files.
9276 (maintainer-clean): Remove libgcrypt-grub.
9277
5d7e7445
VS
92782010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
9281
25f4e252
EC
92822010-04-09 EFI Coder <eficoder@hotmail.com>
9283
9284 * normal/menu_text.c (print_message): Clean up the message and show
9285 the Fn information when on EFI
9286 * term/efi/console.c (grub_console_checkkey): Add F4 support.
9287
027de555
VS
92882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9289
9290 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
9291 All users updated.
9292 * normal/crypto.c (read_crypto_list): Likewise.
9293 * normal/dyncmd.c (read_command_list): Likewise.
9294 * normal/term.c (read_terminal_list): Likewise.
9295 * normal/main.c (read_lists): Use explicit prefix.
9296 (read_lists_hook): Use read_lists.
9297 (grub_normal_execute): Likewise.
9298
47779711
VS
92992010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
9302 Reported by: Thomas Schmitt.
9303 Add -no-emul-boot to grub-mkisofs parameters.
9304
1118c32e
VS
93052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * font/font.c: Indented.
9308
7d652447
BC
93092010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9310
9311 Elif support to GRUB script (by Deepak Vankadaru).
9312
9313 * tests/grub_script_if.in: New testcase.
9314 * conf/tests.rmk: Rule for new testcase.
9315 * script/parser.y: Grammar rules for elif.
9316
34bb22df
BC
93172010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9318
9319 While and until loops support to GRUB script.
9320
9321 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
9322 (grub_script_create_cmdwhile): New function prototype.
9323 (grub_script_execute_cmdwhile): New function prototype.
9324 * script/execute.c (grub_script_execute_cmdwhile): New function.
9325 * script/parser.y (command): New commands.
9326 (whilecmd): New grammar rule.
9327 (untilcmd): New grammar rule.
9328 * script/script.c (grub_script_create_cmdwhile): New function.
9329 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
9330 function.
9331
9332 * tests/grub_script_while1.in: New testcase.
9333 * conf/tests.rmk: Rule for new testcase.
9334
e215d8e0
VS
93352010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
9338 as *.jpg.
9339
d7c43ba1
MV
93402010-04-09 Mario Vazquez <mariovazq@gmail.com>
9341
9342 GRUB_BACKGROUND support.
9343
9344 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
9345 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
9346
d64795c0
VS
93472010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 9350 Idea by: Mario Vazquez
d64795c0
VS
9351
9352 * util/grub.d/00_header.in: Load pf2 and image modules.
9353
f267f83a
VS
93542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9355
9356 grub-mkconfig multiple terminal support.
9357
9358 * util/grub-mkconfig.in: Handle multiple terminals correctly.
9359 * util/grub.d/00_header.in: Likewise.
9360
b7841ceb
VS
93612010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * Makefile.in: Specify files explicitly instead of using $< and $@ since
9364 we use cd $(srcdir).
9365
df60998c
CW
93662010-04-08 Colin Watson <cjwatson@ubuntu.com>
9367
9368 * util/grub.d/10_linux.in: Only use the first word of
9369 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
9370 spaces in GRUB_DISTRIBUTOR.
9371 * util/grub.d/10_kfreebsd.in: Likewise.
9372 * util/grub.d/10_hurd.in: Likewise.
9373
fa09c82e
BC
93742010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
9375
14e18ae3 9376 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
9377
9378 * tests/util/grub-shell.in: Remove -serial stdio option.
9379
daf892b3
BC
93802010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 POSIX header file wrappers.
9383
9384 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
9385 equivalents.
9386 * lib/posix_wrap/ctype.h: Likewise.
9387 * lib/posix_wrap/errno.h: Likewise.
9388 * lib/posix_wrap/langinfo.h: Likewise.
9389 * lib/posix_wrap/limits.h: Likewise.
9390 * lib/posix_wrap/localcharset.h: Likewise.
9391 * lib/posix_wrap/stdint.h: Likewise.
9392 * lib/posix_wrap/stdio.h: Likewise.
9393 * lib/posix_wrap/stdlib.h: Likewise.
9394 * lib/posix_wrap/string.h: Likewise.
9395 * lib/posix_wrap/sys/types.h: Likewise.
9396 * lib/posix_wrap/unistd.h: Likewise.
9397 * lib/posix_wrap/wchar.h: Likewise.
9398 * lib/posix_wrap/wctype.h: Likewise.
9399 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
9400 (grub_script.yy.h): Likewise.
9401 * script/yylex.l: Remove POSIX emulation #defines.
9402 * Makefile.in (POSIX_CFLAGS): New variable.
9403 (GNULIB_UTIL_CFLAGS): Likewise.
9404
9405 Regexp support.
9406
9407 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
9408 (regexp_mod_SOURCES): New variable.
9409 (regexp_mod_CFLAGS): Likewise.
9410 (regexp_mod_LDFLAGS): Likewise.
9411 * commands/regexp.c: New file.
9412 * gnulib/regcomp.c: New file. Imported from gnulib.
9413 * gnulib/regex.c: Likewise.
9414 * gnulib/regex_internal.c: Likewise.
9415 * gnulib/regex_internal.h: Likewise.
9416 * gnulib/regexec.c: Likewise.
9417 * gnulib/regex.h: Likewise.
9418
974ac4f7
VS
94192010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
9422 unsupported video mode types.
9423
2622c3ff
VS
94242010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9425
9426 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
9427
064cb524
VS
94282010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9429
9430 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
9431 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
9432
a8c3b552
VS
94332010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 Remove unused grub_vga_get_font.
9436
9437 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
9438 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
9439
187bbe3d
GS
94402010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9441
9442 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
9443 * include/grub/misc.h: Likewise.
9444
b9396631
GS
94452010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9446
9447 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
9448 for which failure is fatal.
9449
50479feb
GS
94502010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9451
9452 * util/grub-install.in: Use mkdir -p to create grub directory.
9453 * util/i386/efi/grub-install.in: Likewise.
9454 * util/ieee1275/grub-install.in: Likewise.
9455
b1654fdf
GS
94562010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9457
9458 * Makefile.in (LEX): new variable.
9459
bd5a6415
GS
94602010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9461
9462 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
9463 `=' and added double quotes on operands of this equality test.
9464
3db3a82b
VS
94652010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * Makefile.in (uninstall): Remove a leftover debug echo.
9468 Reported by: Grégoire Sutre
9469
38023412
VS
94702010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 MIPS multiboot2 support.
9473
9474 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
9475 (multiboot2_mod_SOURCES): New variable.
9476 (multiboot2_mod_CFLAGS): Likewise.
9477 (multiboot2_mod_LDFLAGS): Likewise.
9478 (multiboot2_mod_ASFLAGS): Likewise.
9479 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
9480 definition.
9481 (MULTIBOOT_ENTRY_REGISTER): Likewise.
9482 (MULTIBOOT_MBI_REGISTER): Likewise.
9483 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
9484 (MULTIBOOT_ELF32_MACHINE): Likewise.
9485 (MULTIBOOT_ELF64_MACHINE): Likewise.
9486 * include/grub/mips/multiboot.h: New file.
9487 * include/grub/video.h (grub_video_driver_id): New type
9488 GRUB_VIDEO_DRIVER_SM712.
9489 (grub_video_get_info_and_fini): Export.
9490 (grub_video_get_palette): Likewise.
9491 (grub_video_get_driver_id): Likewise.
9492 * include/multiboot2.h: Resynced with spec.
9493 * loader/i386/multiboot.c: Moved from here ...
9494 * loader/multiboot.c: ... here. All users updated.
9495 (grub_multiboot_boot): Use platform-specific macros.
9496 * loader/i386/multiboot_elfxx.c: Moved from here ...
9497 * loader/multiboot_elfxx.c: ... here. All users updated.
9498 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
9499 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
9500 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
9501
47674667
VS
95022010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 Import gnulib argp module.
9505
9506 * gnulib/argp-ba.c: New file.
9507 * gnulib/argp-eexst.c: Likewise.
9508 * gnulib/argp-fmtstream.c: Likewise.
9509 * gnulib/argp-fmtstream.h: Likewise.
9510 * gnulib/argp-fs-xinl.c: Likewise.
9511 * gnulib/argp-help.c: Likewise.
9512 * gnulib/argp-namefrob.h: Likewise.
9513 * gnulib/argp-parse.c: Likewise.
9514 * gnulib/argp-pin.c: Likewise.
9515 * gnulib/argp-pv.c: Likewise.
9516 * gnulib/argp-pvh.c: Likewise.
9517 * gnulib/argp-version-etc.c: Likewise.
9518 * gnulib/argp-version-etc.h: Likewise.
9519 * gnulib/argp-xinl.c: Likewise.
9520 * gnulib/argp.h: Likewise.
9521
495442ed
VS
95222010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 * kern/device.c (grub_device_iterate): Clear errors after failed
9525 opening device.
9526
f9fd65df
VS
95272010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
9530 returned by firmware.
9531
af09641e
VS
95322010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
9535 compilation on coreboot and qemu
9536
016883a5
VS
95372010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 * include/multiboot2.h: Resync with spec.
9540
f97e1f7d
VS
95412010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 Multiboot2 tag support
9544
9545 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
9546 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
9547 Remove loader/multiboot_loader.c.
9548 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
9549 (grub_multiboot2_real_boot): Likewise.
9550 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
9551 (grub_get_multiboot_mmap_count): New proto.
9552 (grub_fill_multiboot_mmap): Likewise.
9553 (grub_multiboot_set_video_mode): Likewise.
9554 (grub_multiboot_set_console): Likewise.
9555 (grub_multiboot_load): Likewise.
9556 (grub_multiboot_load_elf): Likewise.
9557 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
9558 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
9559 * include/multiboot.h: Resynced with specification.
9560 * include/multiboot2.h: Resynced with specification.
9561 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
9562 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
9563 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
9564 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
9565 users updated.
9566 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
9567 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
9568 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
9569 Removed.
9570 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
9571 Moved from here...
9572 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
9573 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9574 Moved from here...
9575 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
9576 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
9577 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
9578 All users updated.
9579 * loader/i386/multiboot_mbi2.c: New file.
9580
3506b90b
VS
95812010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 Resync with gnulib.
9584
9585 * Makefile.in (GNULIB_CFLAGS): New variable.
9586 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
9587 (grub_script_check_CFLAGS): New variable.
9588 * gnulib/alloca.h: Resync with gnulib.
9589 * gnulib/error.c: Likewise.
9590 * gnulib/error.h: Likewise.
9591 * gnulib/fnmatch.c: Likewise.
9592 * gnulib/fnmatch_loop.c: Likewise.
9593 * gnulib/getdelim.c: Likewise.
9594 * gnulib/getline.c: Likewise.
9595 * gnulib/getopt.c: Likewise.
9596 * gnulib/getopt1.c: Likewise.
9597 * gnulib/getopt_int.h: Likewise.
9598 * gnulib/gettext.h: Likewise.
9599 * gnulib/progname.c: Likewise.
9600 * gnulib/progname.h: Likewise.
9601
394a3120
GS
96022010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
9603
9604 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
9605 which is the case with --disabled-nls.
9606
9607 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
9608 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
9609 * util/misc.c: Likewise.
9610 * util/mkisofs/mkisofs.c: Likewise.
9611 * util/mkisofs/mkisofs.h: Likewise.
9612
969d1c78
VS
96132010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 Simplify Apple CC support.
9616
9617 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
9618 Add 0 byte at the end not to have a symbol with empty target.
9619 * mmap/i386/pc/mmap_helper.S: Likewise.
9620 * genmk.rb: Ignore errors 2030 and 2050.
9621 * kern/i386/pc/startup.S: Use LOCAL when possible.
9622
8d2977bb
BC
96232010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
9624
9625 Testcase and the fix for final semicolon on cmdline.
9626
9627 * tests/grub_script_final_semicolon.in: New testcase.
9628 * conf/tests.rmk: Rules for the new testcase.
9629 * script/parser.y: Grammar fix.
9630
a7bd6915
BC
96312010-03-26 BVK Chaitanya <bvk@localhost>
9632
9633 Blank lines testcase for GRUB script.
9634
9635 * tests/grub_script_blanklines.in: New testcase.
9636 * conf/tests.rmk: Rules for the new testcase.
9637
e4ff6628
VS
96382010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 Don't use __FILE__.
9641
9642 * genmk.rb: Add -DGRUB_FILE to all C targets.
9643 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
9644 * include/grub/list.h: Likewise.
9645 * include/grub/misc.h: Likewise.
9646 * include/grub/mm.h: Likewise.
9647 * include/grub/test.h: Likewise.
9648 * kern/mm.c: Likewise.
9649 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9650
6a5cf6b6
VS
96512010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 Sunpc partitions support.
9654
9655 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
9656 (grub_fstest_SOURCES): Likewise.
9657 (pkglib_MODULES): Add part_sunpc.mod.
9658 (part_sunpc_mod_SOURCES): New variable.
9659 (part_sunpc_mod_CFLAGS): Likewise.
9660 (part_sunpc_mod_LDFLAGS): Likewise.
9661 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
9662 * partmap/sunpc.c: New file.
9663
746d9045
BC
96642010-03-26 BVK Chaitanya <bvk@localhost>
9665
9666 For loop support to GRUB script.
9667
9668 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
9669 (grub_script_create_cmdfor): New function prototype.
9670 (grub_script_execute_cmdfor): New function prototype.
9671 * script/execute.c (grub_script_execute_cmdfor): New function.
9672 * script/parser.y (command): New for command.
9673 (forcmd): New grammar rule.
9674 * script/script.c (grub_script_create_cmdfor): New function.
9675 * util/grub-script-check.c (grub_script_execute_cmdfor): New
9676 function.
9677 * tests/grub_script_for1.in: New testcase.
9678 * conf/tests.rmk: Rules for new testcase.
9679
18486b18
VS
96802010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 Nested partitions
9683
9684 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
9685 'partition' is NULL, grub_partition_get_start already does that.
9686 * commands/loadenv.c (check_blocklists): Likewise.
9687 (write_blocklists): Likewise.
9688 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
9689 (grub_fstest_SOURCES): Likewise.
9690 (pkglib_MODULES): Add part_bsd.mod.
9691 (part_bsd_mod_SOURCES): New variable.
9692 (part_bsd_mod_CFLAGS): Likewise.
9693 (part_bsd_mod_LDFLAGS): Likewise.
9694 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
9695 (grub_emu_SOURCES): Likewise.
9696 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9697 * include/grub/bsdlabel.h: New file.
9698 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
9699 'get_name'.
9700 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
9701 (grub_partition_map_list): New variable.
9702 (grub_partition_map_register): Inline.
9703 (grub_partition_map_unregister): Likewise.
9704 (FOR_PARTITION_MAPS): New macro.
9705 (grub_partition_map_iterate): Removed.
9706 (grub_partition_get_start): Handle nested partitions.
9707 * include/grub/msdos_partition.h: Remove bsd-related entries.
9708 (grub_pc_partition): Remove.
9709 * kern/disk.c (grub_disk_close): Free partition data.
9710 (grub_disk_adjust_range): Handle nested partitions.
9711 * kern/partition.c (grub_partition_map_probe): New function.
9712 (grub_partition_probe): Parse name to number, handle subpartitions.
9713 (get_partmap): New function.
9714 (grub_partition_iterate): Handle subpartitions.
9715 (grub_partition_get_name): Likewise.
9716 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
9717 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
9718 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
9719 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
9720 Set 'number'.
9721 (acorn_partition_map_probe): Remove.
9722 (acorn_partition_map_get_name): Likewise.
9723 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
9724 Set 'number'.
9725 Set 'index' to 0 since there can be only one partition entry per sector.
9726 (amiga_partition_map_probe): Remove.
9727 (amiga_partition_map_get_name): Likewise.
9728 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
9729 Set 'number'.
9730 Set 'offset' and 'index' to real positions of partitions.
9731 (apple_partition_map_probe): Remove.
9732 (apple_partition_map_get_name): Likewise.
9733 * partmap/bsdlabel.c: New file.
9734 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
9735 Set 'number'.
9736 Allocate 'data' so it can be correctly freed.
9737 Set 'index' to offset inside sector.
9738 (gpt_partition_map_probe): Remove.
9739 (gpt_partition_map_get_name): Likewise.
9740 * partmap/msdos.c (grub_partition_parse): Remove.
9741 (pc_partition_map_iterate): Don't force raw access.
9742 Set 'number'.
9743 Make 'ext_offset' a local variable.
9744 (pc_partition_map_probe): Remove.
9745 (pc_partition_map_get_name): Remove.
9746 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
9747 Set 'number'.
9748 (sun_partition_map_probe): Remove.
9749 (sun_partition_map_get_name): Likewise.
9750 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
9751 (grub_pcpart_type): Likewise.
9752 * util/hostdisk.c (open_device): Handle new numbering scheme.
9753 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
9754 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
9755 * util/grub-probe.c (probe_partmap): Handle nested paritions.
9756 * util/grub-install.in: Insert all subpartition modules.
9757 * util/ieee1275/grub-install.in: Likewise.
9758
a3940f88
AG
97592010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
9760
9761 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
9762 grammar.
9763
21b99926 97642010-03-24 Colin Watson <cjwatson@ubuntu.com>
9765
9766 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
9767
bed1d352
CW
97682010-03-21 Colin Watson <cjwatson@ubuntu.com>
9769
9770 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
9771 match where 'make install' puts them.
9772 * util/i386/efi/grub-install.in: Likewise.
9773
c9f58427
CW
97742010-03-19 Colin Watson <cjwatson@ubuntu.com>
9775
9776 * .bzrignore: Add gentrigtables, grub-script-check,
9777 grub_script_check_init.c, grub_script_check_init.h, and
9778 trigtables.c.
9779
f84afb27
VS
97802010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 * kern/parser.c: Indented.
9783
ed0e3d30
VS
97842010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
9787
0ea81d98
VS
97882010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
9791 alpha_mask_size == 0 case.
9792
0cdc2a09
BC
97932010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
9794
9795 GRUB shell lexer and parser improvements.
9796
9797 * conf/any-emu.rmk: Build rule updates.
9798 * conf/common.rmk: Likewise.
9799 * conf/i386-coreboot.rmk: Likewise.
9800 * conf/i386-efi.rmk: Likewise.
9801 * conf/i386-ieee1275.rmk: Likewise.
9802 * conf/i386-pc.rmk: Likewise.
9803 * conf/powerpc-ieee1275.rmk: Likewise.
9804 * conf/x86_64-efi.rmk: Likewise.
9805
9806 * configure.ac: Configure check for flex.
9807
9808 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
9809 types.
9810 (grub_lexer_param): Struct member updates.
9811 (grub_parser_param): Likewise.
9812 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
9813 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
9814 (grub_script_lexer_init): Prototype update.
9815 (grub_script_lexer_record_start): Likewise.
9816 (grub_script_lexer_record_stop): Likewise.
9817 (grub_script_lexer_yywrap): New function prototype.
9818 (grub_script_lexer_fini): Likewise.
9819 (grub_script_execute_argument_to_string): Removed by...
9820 (grub_script_execute_argument_to_argv): ...better version.
9821
9822 * script/execute.c (ROUND_UPTO): New macro.
9823 (grub_script_execute_cmdline): Out of memory fixes.
9824 (grub_script_execute_menuentry): Likewise.
9825 (grub_script_execute_argument_to_string): Removed. Update all
9826 users by...
9827 (grub_script_execute_argument_to_argv): ...better version.
9828 * script/function.c (grub_script_function_create): Use
9829 grub_script_execute_argument_to_argv instead of
9830 grub_script_execute_argument_to_string.
9831
9832 * script/lexer.c (check_varstate): Removed.
9833 (check_textstate): Removed.
9834 (grub_script_lexer_record_start): Likewise.
9835 (grub_script_lexer_record_stop): Likewise.
9836 (recordchar): Replaced with...
9837 (grub_script_lexer_record): ...new function.
9838 (nextchar): Removed.
9839 (grub_script_lexer_init): Rewritten.
9840 (grub_script_yylex): Rewritten.
9841 (append_newline): New function.
9842 (grub_script_lexer_yywrap): New function.
9843 (grub_script_lexer_fini): New function.
9844 (grub_script_yyerror): Sets error flag.
9845
9846 * script/yylex.l: New file.
9847 (grub_lexer_yyfree): Wrapper for flex yyffre.
9848 (grub_lexer_yyalloc): Likewise.
9849 (grub_lexer_yyrealloc): Likewise.
9850 * script/parser.y: Refactored.
9851
9852 * script/script.c (grub_script_arg_add): Out of memory fixes.
9853 (grub_script_add_arglist): Likewise.
9854 (grub_script_create_cmdline): Likewise.
9855 (grub_script_create_cmdmenu): Likewise.
9856 (grub_script_add_cmd): Likewise.
9857 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
9858 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
9859 unnecessary code.
9860
9861 * tests/grub_script_echo1.in: New testcase.
9862 * tests/grub_script_vars1.in: New testcase.
9863 * tests/grub_script_echo_keywords.in: New testcase.
9864
1d63a066
VS
98652010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 Remove some redundancy in build system.
9868
9869 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
9870 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
9871 (TARGET_LDFLAGS): Add -nostdlib.
9872 (TARGET_IMG_LDFLAGS): Likewise.
9873 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
9874 anything since mmap isn't available.
9875 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
9876 Add util/time.c.
9877 (pkglib_MODULES): Remove reboot.mod.
9878 (reboot_mod_SOURCES): Removed.
9879 (reboot_mod_CFLAGS): Likewise.
9880 (reboot_mod_LDFLAGS): Likewise.
9881 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
9882 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
9883 (DEFSYMFILES): Add kernel_syms.lst.
9884 (kernel_img_HEADERS): Add common headers.
9885 (symlist.c): New target.
9886 (kernel_syms.lst): Likewise.
9887 (pkglib_MODULES): Add memdisk.mod.
9888 (memdisk_mod_SOURCES): New variable.
9889 (memdisk_mod_CFLAGS): Likewise.
9890 (memdisk_mod_LDFLAGS): Likewise.
9891 (pkglib_MODULES): Add reboot.mod.
9892 (reboot_mod_SOURCES): New variable.
9893 (reboot_mod_CFLAGS): Likewise.
9894 (reboot_mod_LDFLAGS): Likewise.
9895 (pkglib_MODULES): Add date.mod.
9896 (date_mod_SOURCES): New variable.
9897 (date_mod_CFLAGS): Likewise.
9898 (date_mod_LDFLAGS): Likewise.
9899 (pkglib_MODULES): Add datehook.mod.
9900 (datehook_mod_SOURCES): New variable.
9901 (datehook_mod_CFLAGS): Likewise.
9902 (datehook_mod_LDFLAGS): Likewise.
9903 (pkglib_MODULES): Add lsmmap.mod.
9904 (lsmmap_mod_SOURCES): New variable.
9905 (lsmmap_mod_CFLAGS): Likewise.
9906 (lsmmap_mod_LDFLAGS): Likewise.
9907 (pkglib_MODULES): Add boot.mod.
9908 (boot_mod_SOURCES): New variable.
9909 (boot_mod_CFLAGS): Likewise.
9910 (boot_mod_LDFLAGS): Likewise.
9911 * conf/i386-coreboot.rmk: Removed redundant parts.
9912 * conf/i386-ieee1275.rmk: Likewise.
9913 * conf/i386-pc.rmk: Likewise.
9914 * conf/mips-yeeloong.rmk: Likewise.
9915 * conf/mips.rmk: Likewise.
9916 * conf/powerpc-ieee1275.rmk: Likewise.
9917 * conf/sparc64-ieee1275.rmk: Likewise.
9918 * conf/x86_64-efi.rmk: Likewise.
9919 * conf/i386-coreboot.rmk: Moved qemu parts ..
9920 * conf/i386-qemu.rmk: ... here
9921 * conf/i386-efi.rmk: Moved common parts to...
9922 * conf/x86-efi.rmk: ... here.
9923 * conf/i386.rmk: Added modules common to all x86 variants.
9924 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
9925 * disk/memdisk.c: Remove grub/machine/kernel.h.
9926 * gensymlist.sh.in: Include symbol.h.
9927 * hook/datehook.c: Correct module name.
9928 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
9929 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
9930 * include/grub/i386/efi/serial.h: New file.
9931 * include/grub/x86_64/efi/serial.h: Likewise.
9932 * util/time.c: Likewise.
9933 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
9934
463ac55f
CK
99352010-03-14 Colin King <colin.king@ubuntu.com>
99362010-03-14 Colin Watson <cjwatson@ubuntu.com>
9937
9938 Shrink the pre-partition-table part of boot.img by eight bytes.
9939
9940 * boot/i386/pc/boot.S (ERR): New macro.
9941 (chs_mode): Use ERR.
9942 (geometry_error): Likewise.
9943 (hd_probe_error): Remove. This is only used once, so we wrwite
9944 it inline instead.
9945 (read_error): Instead of printing read_error_string, just set up
9946 %si and fall through to ...
9947 (error_message): ... this new function, also used by ERR.
9948
08e46ede
CW
99492010-03-14 Colin Watson <cjwatson@ubuntu.com>
9950
9951 Speed up consecutive hostdisk operations on the same device.
9952
9953 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
9954 (grub_util_biosdisk_open): Initialise disk->data.
9955 (struct linux_partition_cache): New structure.
9956 (linux_find_partition): Cache partition start positions; these are
9957 expensive to compute on every read and write.
9958 (open_device): Cache open file descriptor in disk->data, so that we
9959 don't have to reopen it and flush the buffer cache for consecutive
9960 operations on the same device.
9961 (grub_util_biosdisk_close): New function.
9962 (grub_util_biosdisk_dev): Set `close' member.
9963
9964 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
9965 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
9966 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9967 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9968 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
9969
4a6d2d06
VS
99702010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 Compile parts of grub-emu as modules.
9973
9974 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
9975 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
9976 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
9977 (all-local): Add $(GRUB_EMU).
9978 (install-local): Install $(GRUB_EMU).
9979 (uninstall): Uninstall $(GRUB_EMU).
9980 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
9981 * kern/dl.c: Likewise.
9982 * commands/sleep.c: Not include machine/time.h.
9983 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
9984 (COMMON_CFLAGS): Likewise.
9985 (sbin_UTILITIES): Remove grub-emu.
9986 (grub_emu_SOURCES): Removed.
9987 (kernel_img_RELOCATABLE): New variable.
9988 (pkglib_PROGRAMS): Add kernel.img.
9989 (kernel_img_SOURCES): New variable
9990 (kernel_img_CFLAGS): Likewise.
9991 (kernel_img_LDFLAGS): Likewise.
9992 (TARGET_NO_STRIP): Likewise.
9993 (TARGET_NO_DYNAMIC_MODULES): Likewise.
9994 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
9995 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
9996 (grub-emu): New target.
9997 (GRUB_EMU): New variable.
9998 * configure.ac: Whitelist -emu as possible x86_64 architecture.
9999 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
10000 * loader/xnu.c: Likewise.
10001 * include/grub/pci.h: Likewise.
10002 * genemuinit.sh: New file.
10003 * genemuinitheader.sh: Likewise.
10004 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
10005 Support TARGET_NO_DYNAMIC_MODULES.
10006 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
10007 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
10008 * disk/loopback.c: Likewise.
10009 * font/font_cmd.c: Likewise.
10010 * partmap/acorn.c: Likewise.
10011 * partmap/amiga.c: Likewise.
10012 * partmap/apple.c: Likewise.
10013 * partmap/gpt.c: Likewise.
10014 * partmap/msdos.c: Likewise.
10015 * partmap/sun.c: Likewise.
10016 * parttool/msdospart.c: Likewise.
10017 * term/gfxterm.c: Likewise.
10018 * video/bitmap.c: Likewise.
10019 * video/readers/jpeg.c: Likewise.
10020 * video/readers/png.c: Likewise.
10021 * video/readers/tga.c: Likewise.
10022 * video/video.c: Likewise.
10023 * util/grub-emu.c (read_command_list): Removed.
10024 (main): Don't call util_init_nls.
10025 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
10026 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
10027
91fdd2ed
VS
100282010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
10031 date.mod, datehook.mod.
10032 (datetime_mod_SOURCES): New variable.
10033 (datetime_mod_CFLAGS): Likewise.
10034 (datetime_mod_LDFLAGS): Likewise.
10035 (date_mod_SOURCES): Likewise.
10036 (date_mod_CFLAGS): Likewise.
10037 (date_mod_LDFLAGS): Likewise.
10038 (datehook_mod_SOURCES): Likewise.
10039 (datehook_mod_CFLAGS): Likewise.
10040 (datehook_mod_LDFLAGS): Likewise.
10041 * conf/sparc64-ieee1275.rmk: Likewise.
10042 * lib/ieee1275/datetime.c: New file.
10043
873ccae6
VS
100442010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
10047 (ieee1275_fb_mod_SOURCES): New variable.
10048 (ieee1275_fb_mod_CFLAGS): Likewise.
10049 (ieee1275_fb_mod_LDFLAGS): Likewise.
10050 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
10051 New proto.
10052 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
10053 (HEAP_MAX_ADDR): Likewise.
10054 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
10055 type.
10056 Correct stop condition.
10057 (grub_ieee1275_devices_iterate): New function.
10058 * video/ieee1275.c: New file.
10059
601c97c0
VS
100602010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
10063
10064 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
10065 as scratch.
10066 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
10067 SCRATCH_PAD_DISKBOOT as scratch.
10068 (bootit): Pass Openfirmware pointer in %o4.
10069 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
10070 of 0x200000.
10071 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
10072 with util/grub-mkrawimage.c.
10073 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
10074 * include/grub/aout.h (AOUT_MID_SUN): New definition.
10075 (grub_aout_get_type) [GRUB_UTIL]: Removed.
10076 (grub_aout_load) [GRUB_UTIL]: Likewise.
10077 * include/grub/kernel.h (grub_modules_get_end): New proto.
10078 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
10079 (SCRATCH_PAD_BOOT): New definition.
10080 (SCRATCH_PAD_DISKBOOT): Likewise.
10081 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
10082 * include/grub/sparc64/ieee1275/ieee1275.h
10083 (grub_ieee1275_original_stack): New variable
10084 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
10085 New definition
10086 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
10087 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
10088 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
10089 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
10090 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
10091 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
10092 (grub_platform_image_format_t): New type.
10093 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
10094 * kern/main.c (grub_modules_get_end)
10095 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
10096 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
10097 (codestart): Switch stacks.
10098 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
10099 variable.
10100 (grub_heap_init): Use grub_modules_get_end.
10101 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
10102 stack.
10103 * util/grub-mkrawimage.c (generate_image): Support sparc64.
10104 (main): Likewise.
10105 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
10106
d68b491e
TG
101072010-03-14 Thorsten Glaser <tg@mirbsd.org>
10108
10109 * util/grub-mkrescue.in: Base ISO UUID on UTC.
10110
4e02ed50
MK
101112010-03-08 Matt Kraai <kraai@ftbfs.org>
10112
10113 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
10114 bug #559005).
10115
1f15fc1e
VS
101162010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 * genmoddep.awk: Output all missing symbols and not only first.
10119
fce5d8ff
VS
101202010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10121
10122 * NEWS: Put the date of 1.98 release.
10123
d1e8a02f
VS
101242010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
10127 ft2build.h.
10128
696fd607
VS
101292010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10130
10131 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
10132 completition in the middle of string.
10133
33e2e6f3
VS
101342010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 * util/grub-mkrescue.in: Use mktemp with explicit template.
10137
b1f6d291
VS
101382010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
10141
2ac227c7
VS
101422010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10143
10144 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
10145 right pointer.
10146
8f9a632b
VS
101472010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 Fix FreeBSD compilation.
10150
10151 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
10152 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
10153
60b03859
VS
101542010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
10157
48a5a769
VS
101582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
10161
3ab4bd77
VS
101622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
10165
d116e0d8
RM
101662010-03-04 Robert Millan <rmh.grub@aybabtu.com>
10167
10168 Support relative image path in theme file.
10169
10170 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
10171 (image_set_property): Handle theme_dir and relative path.
10172
c7ef54aa
VS
101732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 * configure.ac: Alias amd64 to x86_64.
10176
fcee14ed
VS
101772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10178
10179 * NEWS: mention multiboot on EFI.
10180
d0780363
VS
101812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 * kern/main.c (grub_load_modules): Handle errors from init functions of
10184 embeded modules.
10185
41168ea4
VS
101862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 * normal/autofs.c (autoload_fs_module): Handle errors.
10189
b54d93ac
VS
101902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 Disable linux.mod on qemu-mips since it's not functional and leads
10193 to compilation failure.
10194
10195 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
10196 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
10197 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
10198 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
10199 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
10200 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
10201 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
10202 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
10203 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
10204 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
10205 Reported by: BVK Chaitanya
10206
fc8345da
JU
102072010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
10208
10209 * INSTALL: Add gettext as a dependency and add qemu to a new section
10210 "Prerequisites for make-check".
10211
4760f979
CF
102122010-03-04 Christian Franke <franke@computer.org>
10213
10214 * util/grub-pe2elf.c: Add missing include "progname.h".
10215
f209b5b2
VS
102162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10217
10218 * normal/crypto.c (read_crypto_list): Fix a typo.
10219 Reported by: Seth Goldberg.
10220
b4b7be98
VS
102212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 10224 Reported by: Seth Goldberg.
b4b7be98 10225
c0ee0385
VS
102262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10227
10228 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
10229 ascii.bitmaps.
10230
a8efbf64
VS
102312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 10234 Reported by: Seth Goldberg.
a8efbf64 10235
08dcd913
VS
102362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 * util/i386/efi/grub-install.in: Copy gettext files.
10239
c4d0b332
VS
102402010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
10243
c6f2fe52
VS
102442010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 Wait for user entry basing on presence of output rather than on errors.
10247
10248 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
10249 (grub_install_newline_hook): Likewise.
10250 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
10251 * normal/menu.c (show_menu): Check line_counter to determine presence
10252 of output.
10253 * normal/term.c (grub_normal_line_counter): New variable.
10254 (grub_normal_get_line_counter): New function.
10255 (grub_install_newline_hook): Likewise.
10256
5382b1e4
VS
102572010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10258
10259 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
10260
5519963b
VS
102612010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 * configure.ac: Update version to 1.98.
10264
72b28631
VS
102652010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * util/grub.d/10_linux.in (linux_entry): Don't default to
10268 gfxpayload=keep if Linux doesn't support video handover.
10269
c140a180
VS
102702010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 Don't compile video modules on yeeloong since video subsystem is part
10273 of kernel.
10274
10275 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
10276 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
10277 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
10278 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
10279 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
10280 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
10281 * include/grub/bitmap_scale.h: Likewise.
10282 * include/grub/bufio.h: Likewise.
10283 * include/grub/font.h: Likewise.
10284 * include/grub/gfxterm.h: Likewise.
10285 * include/grub/video.h: Likewise.
10286 * include/grub/vbe.h: Don't include video_fb.h.
10287 * video/i386/pc/vbe.c: Include video_fb.h.
10288 * commands/i386/pc/vbetest.c: Include video.h.
10289
a0ca21c2
CW
102902010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
10291
10292 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
10293 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
10294 default entry if GRUB_SAVEDEFAULT=true. This allows using
10295 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
10296 saving a new default on every boot.
10297
4a8a763c
VS
102982010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10299
10300 * normal/crypto.c (read_crypto_list): Fix a memory leak.
10301 * normal/term.c (read_terminal_list): Likewise.
10302 * normal/main.c (grub_normal_init_page): Likewise.
10303 (grub_normal_read_line_real): Likewise.
10304
607ffde2
VS
103052010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
10308 memory leak.
10309 Reported by: Seth Goldberg.
10310
2b8fa975
CW
103112010-02-24 Joey Korkames <joey+lists@kidfixit.com>
10312
10313 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
10314 duplicate declaration of `start'.
10315
618307dd
VS
103162010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10317
10318 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
10319 filename.
10320 Reported by: Georgy Buranov
10321
7dd05b96 103222010-02-20 Carles Pina i Estany <carles@pina.cat>
10323
10324 * util/grub-mkrawimage.c (usage): Change string formatting to
10325 improve gettext.
10326
d1484a42
MRA
103272010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10328
10329 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
10330 backspace keys.
10331
42b1d186
VS
103322010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10333
10334 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
10335 Reported by: Michael Suchanek.
10336
103372010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
10338
10339 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
10340 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
10341
d9f31a41
VS
103422010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 Remove any reference to non-free fonts.
10345
10346 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
10347 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
10348 uses non-free components.
10349 * font/font.c (grub_font_get_name): Remove example name.
10350 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
10351 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10352 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
10353 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
10354
2793c71e
GB
103552010-02-16 Georgy Buranov <gburanov@gmail.com>
10356
10357 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
10358
402e3779
VS
103592010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10360
10361 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
10362 Double divisor.
10363 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
10364 features.
10365 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
10366
0dd1e0dd
VS
103672010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10368
10369 * gensymlist.sh.in: Use TARGET_CC instead of CC.
10370
6fa7cfce
ST
103712010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10372
10373 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
10374 * docs/grub.texi (Command-line and menu entry commands): Document play
10375 command.
10376
37c8483b
ST
103772010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10378
10379 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
10380 parse arguments as inline tempo and notes. Move code for playing notes
10381 to...
10382 (play): ... new function.
10383
14da0fb7
ST
103842010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10385
10386 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
10387 grub_uint16_t instead of short.
10388 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
10389 disk from little endian to cpu endianness.
10390
04459e70
ST
103912010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
10392
10393 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
10394 GRUB_TICKS_PER_SECOND instead of 120.
10395
a0876943
VS
103962010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10397
10398 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
10399 escape sequence after \e.
10400
e29f95dc
VS
104012010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10402
10403 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
10404 non-ASCII characters.
10405
d27859b2
VS
104062010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
10409 set root in single quotes to prevent \, from being unescaped.
10410
bc028f2f
VS
104112010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10412
10413 Prevent unknown commands from stopping menuentry execution.
10414
10415 * script/execute.c (grub_script_execute_cmdline): Print error after
10416 unknown command.
10417
095f5f82
VS
104182010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
10421 Reported by: Pavel Pisa.
10422
8c717950
VS
104232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
10426
904935c3
VS
104272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10428
10429 Merge grub_ieee1275_map_physical into grub_map and rename to
10430 grub_ieee1275_map
10431
10432 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
10433 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
10434 Remove.
10435 * kern/ieee1275/openfw.c (grub_map): Rename to ...
10436 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
10437 necessary.
10438 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
10439
5b59a4e3
VS
104402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
10443 opening and not after.
10444
69e137e8
VS
104452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
10448 constants.
10449
2c0fcc36
VS
104502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
10453 (alloc_phys): Use ALIGN_UP instead of align_addr.
10454
8c6052ce
VS
104552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
10458
17cec782
VS
104592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
10462
e0128bbd
VS
104632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
10466 verbose dprintf.
10467
ca62070b
VS
104682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 Fix over-4GiB seek on sparc64.
10471
10472 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
10473 Replace pos_i and pos_lo with pos. All users updated.
10474 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10475 New constant.
10476 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10477 Likewise.
10478 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
10479 and pos_lo.
10480
bdca2607
VS
104812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10482
10483 * util/grub-mkrawimage.c (main): Call set_program_name.
10484
da278c4d
VS
104852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 Properly align 64-bit targets.
10488
10489 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
10490 (generate_image): Use ALIGN_ADDR.
10491
b274d734
VS
104922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 Properly create cross-endian images.
10495
10496 * include/grub/types.h (grub_host_to_target_addr): New macro
10497 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
10498
82da2062
VS
104992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
10502
7cae4377
VS
105032010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10504
10505 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
10506
10507 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
10508 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
10509 (grub_linux_boot): Divide by 64K when on VESA.
10510
65a533e7
VS
105112010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 Support GRUB_GFXPAYLOAD_LINUX.
10514
10515 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
10516 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
10517
dd01d397
VS
105182010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
10521 to show messages instead of discarding them.
10522 Process errors after executing command and not before. Keep old method
10523 too as precaution.
10524
660960d6
VS
105252010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 * configure.ac: Check for ft2build.h.
10528
62509f04
VS
105292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
10532
473df63d
VS
105332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10534
10535 * genkernsyms.sh.in: Use TARGET_CC.
10536
c98d2a13
CW
105372010-02-07 Colin Watson <cjwatson@ubuntu.com>
10538
10539 * NEWS: Update.
10540
6e14234c
VS
105412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10542
10543 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
10544 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
10545 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 10546
b255e9cf
YB
105472010-02-07 Yves Blusseau <blusseau@zetam.org>
10548
6e14234c 10549 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 10550
98e6959d
VS
105512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 Fix warnings in grub-emu when compiling with maximum warning options.
10554
10555 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
10556 (grub_arch_modules_addr): Return 0 and not NULL.
10557 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 10558 (xstrdup): Use newstr instead of dup.
f88d801b
VS
10559 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
10560 of disk to dsk to avoid shadowing.
74e4934e
VS
10561 (find_free_slot): Fix prototype.
10562 * util/getroot.c (grub_util_is_dmraid): Make static.
10563 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
10564 Add missing prototype.
10565 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 10566
74e31b5c
VS
105672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 * loader/i386/linux.c (grub_linux_setup_video): Handle error
10570 appropriately.
10571
6b2ad14b
VS
105722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
10575 code out.
10576
8f891adc
VS
105772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10578
10579 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
10580 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
10581 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
10582 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
10583 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
10584 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
10585
74b45184
VS
105862010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 * include/grub/err.h (grub_err_printf): Don't export.
10589
a4bced77
VS
105902010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
10593
007d0695
VS
105942010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 * include/grub/i18n.h (grub_gettext_dummy): Removed.
10597 * kern/misc.c (grub_gettext_dummy): Make static.
10598
b6c0d9c2
VS
105992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
10602 by non-valid ones.
10603 * kern/term.c (grub_putchar): Likewise.
10604
f51a90d0
VS
106052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10606
10607 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
10608 buggy hook call and memory leak.
10609
6846cec5
VS
106102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10611
10612 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
10613
468d69fe
VS
106142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
10617
51906b8c
VS
106182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
10621 modevar.
10622 Return grub_errno on allocation error.
10623
09706ce5
VS
106242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10625
10626 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
10627
911df80c
YB
106282010-02-06 Yves Blusseau <blusseau@zetam.org>
10629
10630 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
10631 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
10632
3746a6bc
VS
106332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10634
10635 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
10636 non-pxe disk.
10637 (grub_pxefs_open): Likewise.
10638
09706ce5
VS
106392010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10640
10641 * util/grub.d/10_hurd.in: Add --class information to menuentries.
10642 * util/grub.d/10_kfreebsd.in: Likewise.
10643 * util/grub.d/10_linux.in: Likewise.
10644
7cc192d9
VS
106452010-02-06 Colin D Bennett <colin@gibibit.com>
10646
10647 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
10648 (gfxmenu_mod_SOURCES): New variable.
10649 (gfxmenu_mod_CFLAGS): Likewise.
10650 (gfxmenu_mod_LDFLAGS): Likewise.
10651 * include/grub/term.h (grub_term_set_current_output): Declare
10652 argument as const.
10653 * docs/gfxmenu-theme-example.txt: New file.
10654 * gfxmenu/gfxmenu.c: Likewise.
10655 * gfxmenu/gui_box.c: Likewise.
10656 * gfxmenu/gui_canvas.c: Likewise.
10657 * gfxmenu/gui_circular_progress.c: Likewise.
10658 * gfxmenu/gui_image.c: Likewise.
10659 * gfxmenu/gui_label.c: Likewise.
10660 * gfxmenu/gui_list.c: Likewise.
10661 * gfxmenu/gui_progress_bar.c: Likewise.
10662 * gfxmenu/gui_string_util.c: Likewise.
10663 * gfxmenu/gui_util.c: Likewise.
10664 * gfxmenu/icon_manager.c: Likewise.
10665 * gfxmenu/model.c: Likewise.
10666 * gfxmenu/named_colors.c: Likewise.
10667 * gfxmenu/theme_loader.c: Likewise.
10668 * gfxmenu/view.c: Likewise.
10669 * gfxmenu/widget-box.c: Likewise.
10670 * include/grub/gfxmenu_model.h: Likewise.
10671 * include/grub/gfxmenu_view.h: Likewise.
10672 * include/grub/gfxwidgets.h: Likewise.
10673 * include/grub/gui.h: Likewise.
10674 * include/grub/gui_string_util.h: Likewise.
10675 * include/grub/icon_manager.h: Likewise.
10676
106772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 Agglomerate scrolling in gfxterm.
10680
10681 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
10682 (grub_virtual_screen_setup): Initialise 'total_screen'.
10683 (write_char): Split to ...
10684 (paint_char): ... this ...
10685 (write_char): ... and this.
10686 (paint_char): Handle delayed scrolling.
10687 (draw_cursor): Likewise.
10688 (scroll_up): Split to ...
10689 (real_scroll): ... this ...
10690 (scroll_up): ... and this.
10691 (real_scroll): Handle multi-line scroll and draw below-the-bottom
10692 characters.
10693 (grub_gfxterm_refresh): Call real_scroll.
10694
106952010-02-06 Colin D Bennett <colin@gibibit.com>
10696
10697 * include/grub/misc.h (grub_iscntrl): New inline function.
10698 (grub_isalnum): Likewise.
10699 (grub_strtol): Likewise.
10700
107012010-02-06 Colin D Bennett <colin@gibibit.com>
10702
10703 * normal/menu_text.c (get_entry_number): Move from here ...
10704 * normal/menu.c (get_entry_number): ... moved here.
10705 * include/grub/menu.h (grub_menu_get_default_entry_index):
10706 New prototype.
10707 * normal/menu.c (grub_menu_get_default_entry_index): New function.
10708 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
10709 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
10710 (grub_menu_viewer_should_return): Likewise.
10711 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
10712 * normal/menu_text.c (run_menu): Enable menu switching.
10713 * normal/menu_viewer.c (should_return): New variable.
10714 (menu_viewer_changed): Likewise.
10715 (grub_menu_viewer_show_menu): Handle menu viewer changes.
10716 (grub_menu_viewer_should_return): New function.
10717 (menuviewer_write_hook): Likewise.
10718 (grub_menu_viewer_init): Likewise.
10719
107202010-02-06 Colin D Bennet <colin@gibibit.com>
107212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10722
10723 Support for gfxterm in a window.
10724
10725 * include/grub/gfxterm.h: New file.
10726 * include/grub/video.h (struct grub_video_rect): New declaration.
10727 (grub_video_rect_t): Likewise.
10728 * term/gfxterm.c (struct grub_gfxterm_window): New type.
10729 (refcount): New variable.
10730 (render_target): Likewise.
10731 (window): Likewise.
10732 (repaint_callback): Likewise.
10733 (grub_virtual_screen_setup): Use 'render_target'.
10734 (init_window): New function.
10735 (grub_gfxterm_init_window): Likewise.
10736 (grub_gfxterm_init): Check reference counter.
10737 Use init_window.
10738 (destroy_window): New function.
10739 (grub_gfxterm_destroy_window): Likewise.
10740 (grub_gfxterm_fini): Check reference counter.
10741 Use destroy_window.
10742 (redraw_screen_rect): Restore viewport.
10743 Use 'render_target' and 'window'.
10744 Call 'repaint_callback'.
10745 (write_char): Use 'render_target'.
10746 (draw_cursor): Likewise.
10747 (scroll_up): Restore viewport.
10748 Use 'render_target' and 'window'.
10749 Call 'repaint_callback'.
10750 (grub_gfxterm_cls): Likewise.
10751 (grub_gfxterm_refresh): Use 'window'.
10752 (grub_gfxterm_set_repaint_callback): New function.
10753 (grub_gfxterm_background_image_cmd): Use 'window'.
10754 (grub_gfxterm_get_term): New function.
10755 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
10756
107572010-02-06 Colin D Bennett <colin@gibibit.com>
10758
10759 Bitmap scaling support.
10760
10761 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
10762 (bitmap_scale_mod_SOURCES): New variable.
10763 (bitmap_scale_mod_CFLAGS): Likewise.
10764 (bitmap_scale_mod_LDFLAGS): Likewise.
10765 * include/grub/bitmap_scale.h: New file.
10766 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
10767 (background_image_cmd_options): New variable.
10768 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
10769 (cmd): Rename and change type to ...
10770 (background_image_cmd_handle): ... this. All users updated.
10771 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
10772 * video/bitmap_scale.c: New file.
10773
107742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 SDL support.
10777
10778 * Makefile.in (LIBSDL): New variable.
10779 (enable_grub_emu_sdl): Likewise.
10780 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
10781 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
10782 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
10783 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
10784 * util/sdl.c: New file.
10785
107862010-02-06 Colin D Bennett <colin@gibibit.com>
107872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10788
10789 Double buffering support.
10790
10791 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
10792 * include/grub/video.h: Update comment.
10793 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
10794 New type.
10795 (grub_video_fb_doublebuf_blit_init): New prototype.
10796 * term/gfxterm.c (scroll_up): Support double buffering.
10797 (grub_gfxterm_refresh): Likewise.
10798 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
10799 (grub_video_fb_doublebuf_blit_init): Likewise.
10800 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
10801 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
10802 'displayed_page', 'render_page' and 'update_screen'.
10803 (grub_video_vbe_fini): Free offscreen buffer.
10804 (doublebuf_pageflipping_commit): New function.
10805 (doublebuf_pageflipping_update_screen): Likewise.
10806 (doublebuf_pageflipping_init): Likewise.
10807 (double_buffering_init): Likewise.
10808 (grub_video_vbe_setup): Enable doublebuffering.
10809 (grub_video_vbe_swap_buffers): Implement.
10810 (grub_video_vbe_set_active_render_target): Handle double buffering.
10811 (grub_video_vbe_get_active_render_target): Likewise.
10812 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
10813 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
10814 (grub_video_vbe_enable_double_buffering): Likewise.
10815 (grub_video_vbe_swap_buffers): Use update_screen.
10816 (grub_video_set_mode): Use double buffering.
10817
108182010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10819
10820 * maintainance/gentrigtables.py: Remove.
10821 * lib/trig.c: Likewise.
10822
10823 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
10824
10825 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
10826 `trigtables.c'.
10827 (trigtables.c): New rule.
10828 (gentrigtables): Likewise.
10829 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
10830
108312010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10832
10833 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
10834 integer constants.
10835
108362010-02-06 Colin D Bennet <colin@gibibit.com>
10837
10838 Trigonometry support.
10839
10840 * include/grub/trig.h: New file.
10841 * lib/trig.c: Likewise.
10842 * maintainance/gentrigtables.py: Likewise.
10843 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
10844 (trig_mod_SOURCES): New variable.
10845 (trig_mod_CFLAGS): Likewise.
10846 (trig_mod_LDFLAGS): Likewise.
10847
5562834e
VS
108482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
10851 disk devices.
10852
4f8528fc
VS
108532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
10856 error.
10857
2b4068e9
VS
108582010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 * util/hostdisk.c (open_device): Don't use partition device when reading
10861 before the partition.
10862 (grub_util_biosdisk_read): Don't read from partition and before the
10863 partition in single operation.
10864 (grub_util_biosdisk_write): Don't write to partition and before the
10865 partition in single operation.
10866
399f6e4d
TL
108672010-02-03 Torsten Landschoff <torsten@debian.org>
10868
10869 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10870 last sectors.
10871
996649b0
VS
108722010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
10875 CDROM reads.
10876 (grub_biosdisk_write): Refuse to write to CDROM.
10877
3b205d4d
VS
108782010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
10881
61e89d9d
VS
108822010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * font/font.c (find_glyph): Check that bmp_idx is available before
10885 using it.
10886 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
10887 with (font == NULL).
10888
bf7fcba2
CS
108892010-01-28 Christian Schmitt <chris@ilovelinux.de>
10890
10891 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
10892
f45d2663
BC
108932010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
10894
10895 * include/grub/script_sh.h (sourcecode): Add const qualifier.
10896 * util/grub-script-check.c (getline): Fix empty lines case.
10897
ec1444e6
RM
108982010-01-28 Robert Millan <rmh.grub@aybabtu.com>
10899
10900 * Makefile.in (check): Exit with fail status when one of the tests
10901 fails.
10902 * tests/example_functional_test.c (example_test): Fix reversed assert.
10903 * tests/example_unit_test.c (example_test): Likewise.
10904
2e1cb9bb
CW
109052010-01-28 Colin Watson <cjwatson@ubuntu.com>
10906
10907 * util/grub.d/10_linux.in: This script does not use any of the
10908 contents of gettext.sh, only the external command `gettext', so stop
10909 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
10910 the same prefix as GRUB.)
10911 * util/grub.d/10_kfreebsd.in: Likewise.
10912
63533ab0
VS
109132010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10914
10915 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
10916 of the line.
10917
989e1f93
VS
109182010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10919
10920 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10921 last sectors.
10922
e709ebe2
VS
109232010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
10926 having a 4KiB and not 32KiB buffer size.
10927
27dea7ed
RM
109282010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10929
10930 * util/hostfs.c: Include `<errno.h>'.
10931 (grub_hostfs_read): Handle errors from fseeko() and fread().
10932
67667b9c
RM
109332010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10934
10935 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
10936 loop when using read hooks on files whose size isn't sector-aligned.
10937
c294d9d8
RM
109382010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10939
10940 Remove unused parameter.
10941
10942 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
10943 (grub_iso9660_open): Remove initialization of `data->length'.
10944
af75a9f1
RM
109452010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10946
10947 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
10948 memleak conditions.
10949
254e2ce5 109502010-01-27 Carles Pina i Estany <carles@pina.cat>
10951
10952 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
10953 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
10954
b510928c 109552010-01-26 Carles Pina i Estany <carles@pina.cat>
10956
10957 * util/bin2h.c (usage): Fix warning (space after backslash).
10958
aa2f9dd2 109592010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 10960
10961 * font/font.c: Include `grub/fontformat.h.
10962 Remove font file format constants.
10963 (grub_font_load): Use the new macros.
10964 * include/grub/fontformat.h: New file.
10965 * util/grub-mkfont.c: Include `grub/fontformat.c'.
10966 (write_font_pf2): Use the new macros.
10967
94e7e712
RM
109682010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10969
10970 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
10971 does.
10972
3973a59a
RM
109732010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10974
10975 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
10976
10977 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
10978 (_start): Macroify `0x7F'.
10979
10980 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
10981 (make_install_device): Use "(pxe)" as fallback prefix when booting
10982 via PXE.
10983
42e0cba3
GS
109842010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * configure.ac: Reset LIBS after check for libgcc symbols.
10987
847effd8
CW
109882010-01-25 Colin Watson <cjwatson@ubuntu.com>
10989
10990 * util/hostdisk.c (open_device): Add trailing newline to debug
10991 message.
10992
ea4a7e35
GS
109932010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
10994
10995 * configure.ac: Check for `limits.h'.
10996 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
10997
67951a53
RM
109982010-01-24 Robert Millan <rmh.grub@aybabtu.com>
10999
11000 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
11001 capitalize error strings.
11002
c273d4ce
ST
110032010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
11004
11005 * util/grub.d/10_hurd.in: Add a recovery mode.
11006
69be5b74
VS
110072010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 * configure.ac: Check for libgcc symbols with -nostdlib.
11010
fc9e5810
BC
110112010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
11012
11013 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
11014
4b358c0a
VS
110152010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
11018 stack since heap may be unavailable at that point.
11019 (grub_ofconsole_gotoxy): Likewise.
11020
454fcd1c
VS
110212010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11022
11023 * configure.ac: Check for _restgpr_14_x.
11024 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
11025 and _savegpr_* prototypes.
11026
566863ca
RM
110272010-01-22 Robert Millan <rmh.grub@aybabtu.com>
11028
11029 Use generic grub_reboot() for i386-efi.
11030
11031 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
11032 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
11033 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
11034
bf86e59a
VS
110352010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
11038 presence of "prefix" variable as it breaks when normal.mod is
11039 embedded.
11040
d645e0f8
VS
110412010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
11044 stack since heap is unavailable at that point.
11045
f9ab2e25
VS
110462010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
11047
11048 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
11049 (grub_freebsd_bootinfo): Rewritten.
11050 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
11051
01fc7054
VS
110522010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
11053
11054 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
11055
caab4fd6
RM
110562010-01-21 Robert Millan <rmh.grub@aybabtu.com>
11057
11058 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
11059 domain now.
11060
67eb1427
FZ
110612010-01-20 Felix Zielcke <fzielcke@z-51.de>
11062
11063 * util/misc.c (make_system_path_relative_to_its_root): Change the work
11064 around for handling "/" to the correct fix. Fix a memory leak. Use
11065 xstrdup instead of strdup.
11066
a9ed4ff3
VS
110672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11068
11069 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
11070
110712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
11072
11073 Optimise glyph lookup by Basic Multilingual Plane lookup array.
11074
11075 * font/font.c (struct grub_font): New member 'bmp_idx'.
11076 (font_init): Initialise 'bmp_idx'.
11077 (load_font_index): Fill 'bmp_idx'.
11078 (find_glyph): Make inline. Use bmp_idx for BMP characters.
11079
48209f4f
VS
110802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
11083 unnecessary calls.
11084
9f0a4bb7
VS
110852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 Move context handling out of the kernel.
11088
11089 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
11090 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
11091 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
11092 * conf/i386-efi.rmk: Likewise.
11093 * conf/i386-ieee1275.rmk: Likewise.
11094 * conf/i386-pc.rmk: Likewise.
11095 * conf/powerpc-ieee1275.rmk: Likewise.
11096 * conf/sparc64-ieee1275.rmk: Likewise.
11097 * conf/x86_64-efi.rmk: Likewise.
11098 * include/grub/env.h: Include grub/menu.h.
11099 (grub_env_var_type): Removed.
11100 (grub_env_var): Replaced field 'type' with 'global'.
11101 (grub_env_find): New prototype.
11102 (grub_env_context_open): Remove EXPORT_FUNC.
11103 (grub_env_context_close): Likewise.
11104 (grub_env_export): Likewise.
11105 (grub_env_set_data_slot): Removed.
11106 (grub_env_get_data_slot): Likewise.
11107 (grub_env_unset_data_slot): Likewise.
11108 (grub_env_unset_menu): New prototype.
11109 (grub_env_set_menu): Likewise.
11110 (grub_env_get_menu): Likewise.
11111 * include/grub/env_private.h: New file.
11112 * include/grub/normal.h (grub_context_init): New prototype.
11113 (grub_context_fini): Likewise.
11114 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
11115 * normal/context.c (grub_cmd_export): ... to here.
11116 * kern/env.c: Include env_private.h.
11117 (HASHSZ): Moved to include/grub/env_private.h.
11118 (grub_env_context): Likewise.
11119 (grub_env_sorted_var): Likewise.
11120 (current_context): Renamed from this ...
11121 (grub_current_context): ...to this. 'static' removed. All users updated.
11122 (grub_env_find): Removed 'static'.
11123 (grub_env_context_open): Moved to normal/context.c.
11124 (grub_env_context_close): Likewise.
11125 (grub_env_export): Likewise.
11126 (mangle_data_slot_name): Removed.
11127 (grub_env_set_data_slot): Likewise.
11128 (grub_env_get_data_slot): Likewise.
11129 (grub_env_unset_data_slot): Likewise.
11130 * kern/main.c (grub_set_root_dev): Don't export root.
11131 It will be done later.
11132 (grub_main): Don't export prefix.
11133 It will be done later.
11134 * normal/context.c: New file.
11135 * normal/main.c (free_menu): Use grub_env_unset_menu.
11136 (grub_normal_add_menu_entry): Use grub_env_get_menu.
11137 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
11138 (GRUB_MOD_INIT(normal)): Call grub_context_init.
11139 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
11140
8dd35b8c
VS
111412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11142
11143 setpci support.
11144
11145 * commands/setpci.c: New file.
11146 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
11147 (setpci_mod_SOURCES): New variable.
11148 (setpci_mod_CFLAGS): Likewise.
11149 (setpci_mod_LDFLAGS): Likewise.
11150
449193d5
VS
111512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11152
11153 Byte-addressable PCI configuration space.
11154
11155 * bus/pci.c (grub_pci_make_address): Use byte address instead of
11156 dword address.
11157 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
11158 GRUB_PCI_REG_CACHELINE.
11159 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
11160 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
11161 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
11162 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
11163 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
11164 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
11165 grub_pci_make_address.
11166 (lock_rom_area): Likewise.
11167 * commands/lspci.c (grub_lspci_iter): Use macroses
11168 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
11169 of grub_pci_make_address.
11170 * disk/ata.c (grub_ata_pciinit): Likewise.
11171 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
11172 (GRUB_PCI_REG_VENDOR): Likewise.
11173 (GRUB_PCI_REG_DEVICE): Likewise.
11174 (GRUB_PCI_REG_COMMAND): Likewise.
11175 (GRUB_PCI_REG_STATUS): Likewise.
11176 (GRUB_PCI_REG_REVISION): Likewise.
11177 (GRUB_PCI_REG_CLASS): Likewise.
11178 (GRUB_PCI_REG_CACHELINE): Likewise.
11179 (GRUB_PCI_REG_LAT_TIMER): Likewise.
11180 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
11181 (GRUB_PCI_REG_BIST): Likewise.
11182 (GRUB_PCI_REG_ADDRESSES): Likewise.
11183 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11184 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11185 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11186 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11187 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11188 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11189 (GRUB_PCI_REG_CIS_POINTER): Likewise.
11190 (GRUB_PCI_REG_SUBVENDOR): Likewise.
11191 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
11192 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
11193 (GRUB_PCI_REG_CAP_POINTER): Likewise.
11194 (GRUB_PCI_REG_IRQ_LINE): Likewise.
11195 (GRUB_PCI_REG_IRQ_PIN): Likewise.
11196 (GRUB_PCI_REG_MIN_GNT): Likewise.
11197 (GRUB_PCI_REG_MAX_LAT): Likewise.
11198 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
11199 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
11200 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 11201 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
11202 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
11203 space.
11204
96d73208
RM
112052010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11206
11207 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
11208 can be reliably determined to be supported.
11209
d4484482
RM
112102010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11211
11212 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
11213 that VESA is supported.
11214 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
11215 supported.
11216
00308ecf
VS
112172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11218
11219 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
11220
f66924a4
RM
112212010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11222
11223 * util/misc.c (make_system_path_relative_to_its_root): Work around
11224 special-casing of "/", as previous incarnation of this routine did.
11225
cbca0ada
VS
112262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 Fix any-emu compilation.
11229
11230 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
11231 * grub_bin2h_SOURCES: New variable.
11232
34a66d99
RM
112332010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11234
11235 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
11236
94fabf58
RM
112372010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11238
11239 * util/grub.d/00_header.in: Fix handling of locale_dir.
11240
02cf98ca
VS
112412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11242
11243 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
11244 as possible unifont location (Gentoo).
11245 Reported by: Alexander Brüning
11246
327dbcd7
VS
112472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11248
11249 Don't try to generate lists for kernel.img.
11250
11251 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
11252 (pkglib_MODULES): Remove kernel.img.
11253 (kernel_img_EXPORTS): Removed.
11254 (kernel_img_RELOCATABLE): New variable.
11255 * conf/x86_64-efi.rmk: Likewise.
11256 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
11257
ca467290
VS
112582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11259
11260 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
11261 grub_xasprintf or grub_snprintf.
11262 (grub_vsprintf): Likewise.
11263 (grub_snprintf): New proto.
11264 (grub_vsnprintf): Likewise.
11265 (grub_xasprintf): Likewise.
11266 (grub_xvasprintf): Likewise.
11267 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
11268 (grub_sprintf): Removed.
11269 (grub_vsnprintf): New function.
11270 (grub_snprintf): Likewise.
11271 (grub_xvasprintf): Likewise.
11272 (grub_xasprintf): Likewise.
11273 (grub_vsprintf): Renamed to ...
11274 (grub_vsnprintf_real): ...this. New argument max_len.
11275
aca655fd
BC
112762010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
11277
11278 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
11279 fix grub-script-check warning.
11280
7ee92c32
VS
112812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11282
11283 * include/grub/font.h (grub_font_load): Fix prototype.
11284
f80927ca
VS
112852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11286
11287 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
11288
119c50ea
VS
112892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 * include/grub/x86_64/at_keyboard.h: New file.
11292
47d5f3c1
VS
112932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 * loader/mips/linux.c: Include missing grub/i18n.h.
11296
55ff5266
RM
112972009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11298
11299 * normal/menu.c (notify_execution_failure): Clarify error message.
11300
c893cc87
RM
113012009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11302
11303 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
11304 return value (and revert all return statements). Update users.
11305
917dd370
CW
113062010-01-20 Dan Merillat <debian@dan.merillat.org>
11307
11308 * kern/device.c (grub_device_iterate): Allocate new part_ent
11309 structure based on sizeof (*p) rather than sizeof (p->next), to
11310 account for structure padding.
11311
11312 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
11313 disk is NULL, which might happen for LVM physical volumes with no
11314 LVM signature.
11315
d4a4ee57
RM
113162009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11317
11318 * loader/mips/linux.c (grub_cmd_initrd)
11319 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
11320
113212009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11322
11323 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
11324 (grub_video_video_init, grub_video_bitmap_init)
11325 (grub_font_manager_init, grub_term_gfxterm_init)
11326 (grub_at_keyboard_init): New extern declarations.
11327 (grub_machine_init): Initialize gfxterm and at_keyboard.
11328
11329 * kern/main.c (grub_main): Revert grub_printf delay kludge.
11330
11331 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
11332 `gfxterm.mod' into core image.
11333
11334 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11335 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11336 (kernel_img_FORMAT): Copy to ...
11337
11338 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11339 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11340 (kernel_img_FORMAT): ... here, and ...
11341
11342 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11343 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11344 (kernel_img_FORMAT): ... here.
11345
11346 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
11347 and input (at_keyboard) terminals in kernel.
11348 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
11349
11350 (pkglib_MODULES): Remove `pci.mod'.
11351 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
11352 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
11353 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11354 (at_keyboard_mod_LDFLAGS): Remove variables.
11355
113562010-01-11 Felix Zielcke <fzielcke@z-51.de>
11357
11358 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
11359
113602009-12-10 Robert Millan <rmh.grub@aybabtu.com>
11361
11362 * include/grub/mips/libgcc.h: Only export symbols for functions
11363 that libgcc provides.
11364
113652009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
11366
11367 MIPS support.
11368
11369 * bus/bonito.c: New file.
11370 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
11371 GRUB_PCI_NUM_DEVICES.
11372 * term/i386/pc/serial.c: Move to ...
11373 * term/serial.c: ... here. All users updated.
11374 * util/i386/pc/grub-mkimage.c: Move to ...
11375 * util/grub-mkrawimage.c: ... here. All users updated.
11376 * term/i386/pc/at_keyboard.c: Move to ...
11377 * term/at_keyboard.c: ... here. All users updated.
11378 * conf/mips-qemu-mips.rmk: New file.
11379 * conf/mips-yeeloong.rmk: Likewise.
11380 * conf/mips.rmk: Likewise.
11381 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
11382 mipsel-qemu-mips.
11383 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
11384 to port addresses.
11385 (grub_ata_pciinit): Support CS5536.
11386 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
11387 * font/font_cmd.c (loadfont_command): Open file before passing it to
11388 grub_font_load.
11389 (pseudo_file_read): New function.
11390 (pseudo_file_close): Likewise.
11391 (pseudo_fs): New structure.
11392 (load_font_module): New function.
11393 (GRUB_MOD_INIT(font_manager)): Load embedded font.
11394 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
11395 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
11396 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
11397 * include/grub/i386/at_keyboard.h: Split into ...
11398 * include/grub/at_keyboard.h: ... this ...
11399 * include/grub/i386/at_keyboard.h: ... and this.
11400 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
11401 New prototype.
11402 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
11403 updated.
11404 (grub_elf64_size): Likewise.
11405 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
11406 filename.
11407 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
11408 * include/grub/i386/coreboot/serial.h: Rewritten.
11409 * include/grub/i386/ieee1275/serial.h: Include
11410 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
11411 * include/grub/i386/pc/serial.h: Moved from here ...
11412 * include/grub/serial.h: ... to here. All users updated.
11413 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
11414 (GRUB_PCI_NUM_BUS): Likewise.
11415 (GRUB_PCI_NUM_DEVICES): Likewise.
11416 (grub_pci_device_map_range): Add missing volatile keyword.
11417 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
11418 * include/grub/mips/at_keyboard.h: New file.
11419 * include/grub/mips/cache.h: Likewise.
11420 * include/grub/mips/io.h: Likewise.
11421 * include/grub/mips/kernel.h: Likewise.
11422 * include/grub/mips/libgcc.h: Likewise.
11423 * include/grub/mips/pci.h: Likewise.
11424 * include/grub/mips/qemu-mips/boot.h: Likewise.
11425 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11426 * include/grub/mips/qemu-mips/loader.h: Likewise.
11427 * include/grub/mips/qemu-mips/memory.h: Likewise.
11428 * include/grub/mips/qemu-mips/serial.h: Likewise.
11429 * include/grub/mips/qemu-mips/time.h: Likewise.
11430 * include/grub/mips/relocator.h: Likewise.
11431 * include/grub/mips/time.h: Likewise.
11432 * include/grub/mips/types.h: Likewise.
11433 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
11434 * include/grub/mips/yeeloong/boot.h: Likewise.
11435 * include/grub/mips/yeeloong/kernel.h: Likewise.
11436 * include/grub/mips/yeeloong/loader.h: Likewise.
11437 * include/grub/mips/yeeloong/memory.h: Likewise.
11438 * include/grub/mips/yeeloong/pci.h: Likewise.
11439 * include/grub/mips/yeeloong/serial.h: Likewise.
11440 * include/grub/mips/yeeloong/time.h: Likewise.
11441 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
11442 * kern/elf.c (grub_elf32_size): New parameter. All users
11443 updated.
11444 (grub_elf64_size): Likewise.
11445 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
11446 Load modules before saying "Welcome to GRUB!".
11447 Call grub_refresh after saying "Welcome to GRUB!".
11448 * kern/mips/cache.S: New file.
11449 * kern/mips/cache_flush.S: Likewise.
11450 * kern/mips/dl.c: Likewise.
11451 * kern/mips/init.c: Likewise.
11452 * kern/mips/qemu-mips/init.c: Likewise.
11453 * kern/mips/startup.S: Likewise.
11454 * kern/mips/yeeloong/init.c: Likewise.
11455 * kern/term.c (grub_putcode): Handle NULL terminal.
11456 (grub_getcharwidth): Likewise.
11457 (grub_getkey): Likewise.
11458 (grub_checkkey): Likewise.
11459 (grub_getkeystatus): Likewise.
11460 (grub_getxy): Likewise.
11461 (grub_getwh): Likewise.
11462 (grub_gotoxy): Likewise.
11463 (grub_cls): Likewise.
11464 (grub_setcolorstate): Likewise.
11465 (grub_setcolor): Likewise.
11466 (grub_getcolor): Likewise.
11467 (grub_refresh): Likewise.
11468 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
11469 (write_jump): Add hatch nop.
11470 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
11471 * lib/mips/setjmp.S: New file.
11472 * loader/mips/linux.c: Likewise.
11473 * term/i386/pc/at_keyboard.c: Move from here ...
11474 * term/at_keyboard.c: ... to here.
11475 * term/i386/pc/serial.c: Moved from here ...
11476 * term/serial.c: ... to here. All users updated.
11477 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
11478 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
11479 (serial_translate_key_sequence): Avoid deadlock.
11480 (grub_serial_getkey): Handle backspace.
11481 (grub_serial_putchar): Fix newline handling.
11482 * util/i386/pc/grub-mkimage.c: Move from here ...
11483 * util/grub-mkrawimage.c: ... to here. All users updated.
11484 (generate_image): New parameters 'font_path' and 'format'.
11485 Support embedding font.
11486 Use grub_host_to_target* instead of grub_cpu_to_le*.
11487 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
11488 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
11489 (options): New option "--font".
11490 (usage): Likewise.
11491 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
11492 (main): Handle "--font".
11493 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
11494 (grub_virtual_screen_setup): Set bg_color_display.
11495 (redraw_screen_rect): Use bg_color_display instead of incorrect
11496 bg_color.
11497 (grub_gfxterm_cls): Likewise.
11498 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
11499 Support embedding config file.
11500 (add_segments): Likewise.
11501 (options): New option "--config".
11502 (main): Handle "--config".
11503 * video/sm712.c: New file.
11504
25c2b5b3
RM
115052010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11506
11507 Fix parallel builds.
11508
11509 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
11510 font.c depend on ascii.h).
11511
115122010-01-12 Carles Pina i Estany <carles@pina.cat>
11513
11514 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
11515
115162010-01-11 Carles Pina i Estany <carles@pina.cat>
11517
11518 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
11519 By default: disabled.
11520 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
11521 parameter.
11522
115232010-01-10 Carles Pina i Estany <carles@pina.cat>
11524
11525 * font/font.c: Update copyright years.
11526 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
11527
115282010-01-10 Carles Pina i Estany <carles@pina.cat>
11529
11530 * font/font.c: Include `ascii.h'.
11531 (ASCII_BITMAP_SIZE): New macro.
11532 (ascii_font_glyph): Define.
11533 (ascii_glyph_lookup): New function.
11534 (grub_font_get_string_width): Change comment. If glyph not found, use
11535 ascii_glyph_lookup.
11536 (grub_font_get_glyph_with_fallback): If glyph not available returns
11537 ascii_glyph_lookup.
11538 * util/grub-mkfont.c (file_formats): New enum.
11539 (options): Add `ascii-bitmaps' new option.
11540 (usage): Add `asii-bitmaps' new option.
11541 (write_font_ascii_bitmap): New function.
11542 (write_font): Rename to ...
11543 (write_font_p2): ... this. Remove print_glyphs call.
11544 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
11545 used. Call print_glyphs.
11546 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
11547
115482010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11549
11550 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
11551 (grub_bin2h_SOURCES): New variable.
11552 * util/bin2h.c: New file.
11553
915fc1b8
VS
115542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11555
11556 * include/multiboot.h: Resynced with spec.
11557 * include/multiboot2.h: Likewise.
11558 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
11559 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
11560
9444b678
RM
115612010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11562
11563 * include/grub/term.h (grub_term_register_input,
11564 grub_term_register_output): Check return of terminal init()
11565 routines, and abort if errors are raised.
11566
11567 * commands/terminal.c: Update copyright year.
11568
cba98e8d
RM
115692010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11570
11571 * commands/terminal.c (grub_cmd_terminal_input)
11572 (grub_cmd_terminal_output): Check return of terminal init()
11573 routines, and abort if errors are raised.
11574
6f7db5d6
VS
115752010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 * include/grub/i386/bsd.h: Fix include pathes.
11578
262bff8d
VS
115792010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11580
11581 Add missing *BSD copyright headers.
11582
11583 * include/grub/aout.h: Add BSD licence.
11584 * include/grub/i386/bsd.h: Parts under different licences moved to ...
11585 * include/grub/i386/freebsd_linker.h: ... here,
11586 * include/grub/i386/freebsd_reboot.h: ... here,
11587 * include/grub/i386/netbsd_bootinfo.h: ... here,
11588 * include/grub/i386/netbsd_reboot.h: ... here,
11589 * include/grub/i386/openbsd_bootarg.h: ... here,
11590 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
11591 licence to each file.
11592
b2cab848
RM
115932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11594
11595 * acinclude.m4: Remove `nop' assembly instruction; it's not
11596 implemented by all architectures.
11597
2cb6be4b
RM
115982010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11599
11600 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
11601 ELILO. This is no longer necessary.
11602
a2eaee15
BC
116032010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
11604
11605 Added new tool, grub-scrit-check to verify grub.cfg syntax.
11606
11607 * util/grub-script-check.c: grub-script-check tool.
11608 * conf/common.rmk: Make rules for grub-script-check.
11609
88d17012
RM
116102010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11611
11612 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
11613 spotting it back in 2008. Shame on me for forgetting he did.
11614
11615 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
11616
8040619d
RM
116172010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11618
11619 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
11620 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
11621 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
11622 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
11623 (GRUB_VIDEO_TYPE_EFI): Rename to ...
11624 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
11625
a0c2a0f6
RM
116262010-01-17 Robert Millan <rmh.grub@aybabtu.com>
11627
11628 * include/grub/test.h: Add license header.
11629 * tests/example_functional_test.c: Likewise.
11630 * tests/example_unit_test.c: Likewise.
11631 * tests/lib/functional_test.c: Likewise.
11632 * tests/lib/test.c: Likewise.
11633 * tests/lib/unit_test.c: Likewise.
11634
b0b13907
VS
116352010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
11636
11637 Use flag-based instead of hook-based video mode selection and "auto"
11638 keyword.
11639
11640 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
11641 (grub_video_set_mode): Changed prototype. All users updated.
11642 (grub_video_check_mode_flag): New inline function.
11643 * video/video.c (parse_modespec): New function.
11644 (grub_video_set_mode): Parse flags and keywords.
11645
ea379330 116462010-01-17 Carles Pina i Estany <carles@pina.cat>
11647
11648 * util/misc.c (grub_util_info): Fix the order of the parameters in a
11649 fprintf call.
11650
e15c215e
FZ
116512010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
11652
11653 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
11654
409ae1c9 116552010-01-16 Carles Pina i Estany <carles@pina.cat>
11656
11657 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
11658 string.
11659 * util/grub-emu.c (usage): Likewise.
11660 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
11661 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11662 * util/i386/pc/grub-mkimage.c (usage): Likewise.
11663 * util/i386/pc/grub-setup.c (usage): Likewise.
11664
70a14d3d 116652010-01-16 Carles Pina i Estany <carles@pina.cat>
11666
11667 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
11668 the message.
11669 (grub_util_info): Likewise.
11670 (grub_util_error): Likewise.
11671 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
11672 and/or new lines in `grub_util_warna', `grub_util_info',
11673 `grub_util_error' calls.
11674 * util/getroot.c: Likewise.
11675 * util/grub-editenv.c: Likewise.
11676 * util/grub-emu.c: Likewise.
11677 * util/grub-fstest.c: Likewise.
11678 * util/grub-mkdevicemap.c: Likewise.
11679 * util/grub-mkfont.c: Likewise.
11680 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11681 * util/grub-mkrelpath.c: Likewise.
11682 * util/grub-pe2elf.c: Likewise.
11683 * util/grub-probe.c: Likewise.
11684 * util/hostdisk.c: Likewise.
11685 * util/i386/efi/grub-mkimage.c: Likewise.
11686 * util/i386/pc/grub-mkimage.c: Likewise.
11687 * util/i386/pc/grub-setup.c: Likewise.
11688 * util/ieee1275/ofpath.c: Likewise.
11689 * util/mkisofs/eltorito.c: Likewise.
11690 * util/mkisofs/rock.c: Likewise.
11691 * util/mkisofs/write.c: Likewise.
11692 * util/raid.c: Likewise.
11693 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11694 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11695
a0b766fc
VS
116962010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11697
11698 Enable multiboot on non-pc.
11699
11700 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
11701 multiboot.mod and multiboot2.mod to ...
11702 * conf/i386.rmk (pkglib_MODULES): ... here.
11703 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
11704 Moved to ...
11705 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
11706 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
11707 Moved to ...
11708 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
11709 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
11710 Moved to ...
11711 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
11712 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
11713 Moved to ...
11714 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
11715 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
11716 relocator.mod.
11717 (ata_mod_SOURCES): Removed.
11718 (ata_mod_CFLAGS): Likewise.
11719 (ata_mod_LDFLAGS): Likewise.
11720 (relocator_mod_SOURCES): Removed.
11721 (relocator_mod_CFLAGS): Likewise.
11722 (relocator_mod_ASFLAGS): Likewise.
11723 (relocator_mod_LDFLAGS): Likewise.
11724 Include i386.mk.
11725 * include/grub/x86_64/multiboot.h: New file.
11726 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
11727 Terminate EFI.
11728
884ade56
VS
117292010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 Video multiboot support.
11732
11733 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
11734 New prototype.
11735 * include/multiboot.h: Resynced with multiboot specification.
11736 * include/multiboot2.h: Likewise.
11737 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
11738 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
11739 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
11740 (HAS_VGA_TEXT): Likewise.
11741 (accepts_video): New variable.
11742 (grub_multiboot_set_accepts_video): New function.
11743 (grub_multiboot_get_mbi_size): Account for video structures.
11744 (set_video_mode): New function.
11745 (retrieve_video_parameters): Likewise.
11746 (grub_multiboot_make_mbi): Fill video fields.
11747
0d90e8a6
VS
117482010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11749
11750 Video driver ids.
11751
11752 * include/grub/video.h (grub_video_driver_id): New type.
11753 (grub_video_adapter): New member 'id'. All users updated.
11754 (grub_video_get_driver_id): New proto.
11755 * video/video.c (grub_video_get_driver_id): New function.
11756
5c71db1b 117572010-01-14 Carles Pina i Estany <carles@pina.cat>
11758
11759 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
11760 `var=val'.
11761
cca15b52 117622010-01-14 Carles Pina i Estany <carles@pina.cat>
11763
11764 * normal/cmdline.c (print_completion): Gettextizze.
11765
c586fbb2 117662001-01-14 Carles Pina i Estany <carles@pina.cat>
11767
11768 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
11769
ba2f6848 117702010-01-14 Carles Pina i Estany <carles@pina.cat>
11771
11772 * gettext/gettext.c (grub_gettext_translate): Push and pop
11773 grub_errno.
11774 (grub_gettext_delete_list): Change comment style.
11775 * kern/err.c (grub_error): Gettextizze.
11776 (grub_fatal): Gettextizze.
11777
0a46429a
RM
117782010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11779
11780 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
11781 (grub_linux16_real_boot): ... this.
11782 * kern/i386/loader.S: Likewise.
11783 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
11784 (grub_linux16_boot): New function. Switches to text mode and calls
11785 grub_linux16_real_boot().
11786
11787 * loader/i386/bsd.c: Include `<grub/video.h>'.
11788 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
11789 text mode before calling grub_unix_real_boot().
11790
11791 * loader/i386/multiboot.c: Include `<grub/video.h>'.
11792 (grub_multiboot_boot): Switch to text mode before calling
11793 grub_relocator32_boot().
11794
11795 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
11796 (grub_chainloader_boot): Switch to text mode before calling
11797 grub_chainloader_real_boot().
11798
d6f93a66
RM
117992010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
118002010-01-05 Colin Watson <cjwatson@ubuntu.com>
11801
11802 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
11803 non-empty value.
11804
118052010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
118062010-01-05 Colin Watson <cjwatson@ubuntu.com>
11807
11808 * util/grub.d/00_header.in: Define a "savedefault" function for use
11809 in menu entries.
11810 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
11811
118122010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
118132010-01-05 Colin Watson <cjwatson@ubuntu.com>
11814
11815 * util/grub-mkconfig_lib.in (save_default_entry): Only set
11816 saved_entry if boot_once is unset.
11817 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
11818 previous saved entry (i.e. grub-reboot).
11819
118202009-12-08 Colin Watson <cjwatson@ubuntu.com>
11821
11822 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
11823
118242009-12-08 Colin Watson <cjwatson@ubuntu.com>
11825
11826 * util/grub.d/00_header.in: Use `set var=val' rather than plain
11827 `var=val'.
11828 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
11829
118302009-12-08 Colin Watson <cjwatson@ubuntu.com>
11831
11832 * util/grub-reboot.in: Fix --version output.
11833 * util/grub-set-default.in: Likewise.
11834
118352009-12-08 Colin Watson <cjwatson@ubuntu.com>
11836
11837 * util/grub.d/00_header.in: Silently ignore zero-sized environment
11838 blocks.
11839
118402009-12-08 Colin Watson <cjwatson@ubuntu.com>
11841
11842 * util/grub.d/00_header.in: Quote the value assigned to `default',
11843 in case it contains spaces.
11844
118452009-12-08 Colin Watson <cjwatson@ubuntu.com>
11846
11847 * util/grub.d/30_os-prober.in: Fix merge error that moved a
11848 `save_default_entry' call from the macosx case to the linux case.
11849
118502009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
118512009-10-25 Colin Watson <cjwatson@ubuntu.com>
11852
11853 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
11854 in `chosen' environment variable.
11855 * normal/menu_text.c (get_entry_number): Check if the variable
11856 matches the title of a menu entry.
11857 (run_menu): Pass menu to get_entry_number.
11858
11859 * util/grub-reboot.in: New file.
11860 * util/grub-set-default.in: New file.
11861 * conf/common.rmk (grub-reboot): New utility.
11862 (grub-set-default): New utility.
11863
11864 * util/grub-mkconfig_lib.in (save_default_entry): New function.
11865 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
11866 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
11867 move it to `saved_entry' for the next boot. Load environment on
11868 initialisation.
11869 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
11870 * util/grub.d/10_hurd.in: Likewise.
11871 * util/grub.d/10_linux.in (linux_entry): Likewise.
11872 * util/grub.d/10_windows.in: Likewise.
11873 * util/grub.d/30_os-prober.in: Likewise.
11874
11875 * util/grub-install.in: Create environment block.
11876 * util/i386/efi/grub-install.in: Likewise.
11877 * util/ieee1275/grub-install.in: Likewise.
11878 * util/sparc64/ieee1275/grub-install.in: Likewise.
11879
0934d184
BC
118802010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
11881
11882 Unit testing framework for GRUB.
11883
11884 * Makefile.in: Test framework build rules for 'make check'.
11885 * conf/tests.rmk: Build rules for individual tests and framework.
11886
11887 * include/grub/test.h: Header file for whitebox tests.
11888 * tests/lib/functional_test.c: Framework support for whitebox
11889 functional tests.
11890 * tests/lib/test.c: Common whitebox testing code for unit and
11891 functional tests.
11892 * tests/lib/unit_test.c: Framework support for whitebox unit
11893 tests.
11894
11895 * tests/util/grub-shell-tester.in: Support utility for grub-script
11896 tests.
11897 * tests/util/grub-shell.in: Utility to execute grub-script
11898 commands in a Qemu instance.
11899
11900 * tests/example_functional_test.c: Example whitebox functional
11901 test.
11902 * tests/example_grub_script_test.in: Example grub-script test.
11903 * tests/example_scripted_test.in: Example scripted test.
11904 * tests/example_unit_test.c: Example whitebox unit test.
11905
9c4ffeeb
VS
119062010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11907
11908 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
11909 Add loader/i386/multiboot_mbi.c.
11910 (multiboot2_mod_SOURCES): Likewise.
11911 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
11912 (multiboot2_mod_SOURCES): Likewise.
11913 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
11914 (grub_multiboot_make_mbi): Likewise.
11915 (grub_multiboot_free_mbi): Likewise.
11916 (grub_multiboot_init_mbi): Likewise.
11917 (grub_multiboot_add_module): Likewise.
11918 (grub_multiboot_set_bootdev): Likewise.
11919 * loader/i386/multiboot.c (mbi): Removed.
11920 (mbi_dest): Likewise.
11921 (alloc_mbi): New variable.
11922 (grub_multiboot_payload_size): Removed. All users updated.
11923 (grub_multiboot_pure_size): New variable.
11924 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
11925 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
11926 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
11927 (grub_fill_multiboot_mmap): Likewise.
11928 (grub_multiboot_get_bootdev): Likewise.
11929 (grub_multiboot): Use multiboot_mbi functions.
11930 * loader/i386/multiboot_mbi.c: New file.
11931
17383dfe
VS
119322010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11933
11934 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
11935 it would result in module crash.
11936
c1f28820
VS
119372010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
11940 (grub_ofconsole_getwh): Split to ...
11941 (grub_ofconsole_getwh): ... this.
11942 (grub_ofconsole_dimensions): ...and this.
11943 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
11944
58655a16
RM
119452010-01-13 Robert Millan <rmh.grub@aybabtu.com>
11946
11947 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
11948
10891398
VS
119492010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11950
11951 * loader/i386/pc/multiboot2.c: Removed stalled file.
11952
0b8a223c
VS
119532010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11954
11955 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
11956 Reported by: Grégoire Sutre
11957
92ab12b0
RM
119582010-01-11 Robert Millan <rmh.grub@aybabtu.com>
11959
11960 * util/misc.c (canonicalize_file_name): New function.
11961 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
11962 instead of realpath().
11963
a788afb6
CW
119642010-01-11 Colin Watson <cjwatson@ubuntu.com>
11965
11966 * util/grub-install.in (usage): Clarify meaning of --root-directory,
11967 and make it clearer that it's optional. Based on confusion
11968 witnessed on IRC.
11969
ffa8e3d2
VS
119702010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
11973 in premature implicit newline.
11974
e9060a9d
VS
119752010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
11978 which resulted in garbled command line at the end of screen.
11979
f0d0c0b7
RM
119802010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11981
11982 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
11983 initialization with similar approach as with other Linux loaders.
11984
0e60bae7
RM
119852010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11986
11987 Fix i386-ieee1275 build.
11988
11989 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
11990 and grub_term_height() for video_{width,height} initialization.
11991
119922010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
11993
11994 Fix grub-emu build.
11995
11996 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
11997
cdb3f378
RM
119982010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
119992010-01-09 Robert Millan <rmh.grub@aybabtu.com>
12000
12001 Support for multiple terminals.
12002
12003 * Makefile.in (pkglib_DATA): terminal.lst.
12004 (terminal.lst): New target.
12005 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
12006 (GRUB_MOD_INIT(handler)): Likewise.
12007 (GRUB_MOD_FINI(handler)): Likewise.
12008 * commands/help.c (grub_cmd_help): Handle multiple terminals.
12009 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
12010 * commands/sleep.c (do_print): Use grub_term_restore_pos.
12011 (grub_cmd_sleep): Use grub_term_save_pos.
12012 * commands/terminal.c: New file.
12013 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
12014 commands/terminal.c and lib/charset.c.
12015 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
12016 (pkglib_MODULES): Add terminal.mod.
12017 (terminal_mod_SOURCES): New variable.
12018 (terminal_mod_CFLAGS): Likewise.
12019 (terminal_mod_LDFLAGS): Likewise.
12020 * genhandlerlist.sh: Don't handle terminals.
12021 * genmk.rb: Generate terminal-*.lst.
12022 * genterminallist.sh: New file.
12023 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
12024 (grub_is_valid_utf8): Likewise.
12025 (grub_utf8_to_ucs4_alloc): Likewise.
12026 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
12027 (grub_menu_register_viewer): Changed argument.
12028 (grub_menu_try_text): New proto.
12029 (grub_gfxmenu_try_hook): New declaration.
12030 * include/grub/normal.h (grub_normal_exit_level): New declaration.
12031 (grub_menu_init_page): Additional argument term.
12032 (grub_normal_init_page): Likewise.
12033 (grub_cmdline_get): Arguments simplified.
12034 (grub_utf8_to_ucs4_alloc): Removed.
12035 (grub_print_ucs4): Additional argument term.
12036 (grub_getstringwidth): Likewise.
12037 (grub_print_message_indented): Likewise.
12038 (grub_menu_text_register_instances): New proto.
12039 (grub_show_menu): Likewise.
12040 (read_terminal_list): Likewise.
12041 (grub_set_more): Likewise.
12042 * include/grub/parser.h: Include handler.h.
12043 * include/grub/reader.h: Rewritten.
12044 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
12045 (GRUB_TERM_WIDTH): Changed to function.
12046 (GRUB_TERM_HEIGHT): Likewise.
12047 (GRUB_TERM_BORDER_WIDTH): Likewise.
12048 (GRUB_TERM_BORDER_HEIGHT): Likewise.
12049 (GRUB_TERM_NUM_ENTRIES): Likewise.
12050 (GRUB_TERM_ENTRY_WIDTH): Likewise.
12051 (GRUB_TERM_CURSOR_X): Likewise.
12052 (grub_term_input_class): Likewise.
12053 (grub_term_output_class): Likewise.
12054 (grub_term_outputs_disabled): New declaration.
12055 (grub_term_inputs_disabled): Likewise.
12056 (grub_term_outputs): Likewise.
12057 (grub_term_inputs): Likewise.
12058 (grub_term_register_input): Rewritten.
12059 (grub_term_register_output): Likewise.
12060 (grub_term_unregister_input): Likewise.
12061 (grub_term_unregister_output): Likewise.
12062 (FOR_ACTIVE_TERM_INPUTS): New macro.
12063 (FOR_DISABLED_TERM_INPUTS): Likewise.
12064 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
12065 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
12066 * include/grub/terminfo.h: Add oterm argument to all protypes.
12067 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
12068 Use grub_rescue_run.
12069 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
12070 All users updated.
12071 * kern/reader.c: Removed. All users updated.
12072 * kern/rescue_reader.c (grub_rescue_init): Removed.
12073 (grub_rescue_reader): Likewise.
12074 (grub_register_rescue_reader): Likewise.
12075 (grub_rescue_run): New function based on kern/reader.c.
12076 * kern/term.c: Adapted for multiterm.
12077 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
12078 (grub_is_valid_utf8): Likewise.
12079 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
12080 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
12081 right terminal.
12082 * loader/i386/linux.c (grub_linux_boot): Likewise.
12083 * normal/auth.c (grub_username_get): New function.
12084 (grub_auth_check_authentication): Use grub_username_get.
12085 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
12086 * normal/color.c: Adapt for multiterm.
12087 * normal/main.c (read_config_file): Don't use grub_reader_loop.
12088 (grub_normal_init_page): Additional argument term.
12089 (read_lists): Call read_terminal_lists.
12090 (grub_enter_normal_mode): Call grub_cmdline_run.
12091 Handle grub_normal_exit_level.
12092 (grub_cmd_normal): Make reentrant.
12093 (grub_cmd_normal_exit): New function.
12094 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
12095 * normal/menu.c: Adapt for multiterm.
12096 * normal/menu_entry.c: Likewise.
12097 * normal/menu_text.c: Likewise.
12098 * normal/menu_viewer.c: Removed. All users updated.
12099 * normal/term.c: New file.
12100 * util/console.c: Change order of includes to workaround a bug in
12101 ncurses headers.
12102 * term/terminfo.c: New argument oterm on all exported functions.
12103 All users updated.
12104 * util/grub-editenv.c (grub_term_input_class): Removed.
12105 (grub_term_output_class): Likewise.
12106
1a064917
RM
121072010-01-09 Robert Millan <rmh.grub@aybabtu.com>
12108
12109 Make loader output a bit more user-friendly.
12110
12111 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
12112 is being loaded. Likewise for the Hurd.
12113
12114 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
12115 that kernel of FreeBSD ${version} is being loaded.
12116
12117 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
12118 grub_dprintf().
12119 (grub_cmd_initrd): Likewise.
12120 * util/grub.d/10_linux.in (linux_entry): Print message indicating
12121 that Linux ${version} is being loaded. Likewise for initrd.
12122
5ce0a83a 121232010-01-09 Carles Pina i Estany <carles@pina.cat>
12124
12125 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
12126
809bbfeb 121272010-01-08 Carles Pina i Estany <carles@pina.cat>
12128
12129 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
12130 (GRUB_MOD_INIT): Gettextizze.
12131 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
12132 (GRUB_MOD_INIT): Gettextizze.
12133 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
12134 (grub_cmd_linux): Capitalise Linux.
12135 (GRUB_MOD_INIT): Gettextizze.
12136 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
12137 (grub_cmd_linux): Capitalise Linux.
12138 (GRUB_MOD_INIT): Gettextizze.
12139 * loader/i386/linux.c: Include `<grub/i18n.h>'.
12140 (grub_cmd_linux): Capitalise Linux.
12141 (GRUB_MOD_INIT): Gettextizze.
12142 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
12143 (GRUB_MOD_INIT): Gettextizze.
12144 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
12145 (grub_cmd_linux): Capitalise Linux.
12146 (GRUB_MOD_INIT): Gettextizze.
12147 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
12148 (grub_cpu_xnu_init): Gettextizze.
12149 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
12150 (GRUB_MOD_INIT): Gettextizze.
12151 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
12152 (GRUB_MOD_INIT): Gettextizze.
12153 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
12154 (grub_linux_load64): Capitalise Linux.
12155 (GRUB_MOD_INIT): Gettextizze.
12156 * loader/xnu.c: Include `<grub/i18n.h>'.
12157 (GRUB_MOD_INIT): Gettextizze.
12158 * po/POTFILES: Add `loader/efi/appleloader.c',
12159 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
12160 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
12161 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
12162 `loader/i386/xnu.c', `loader/multiboot_loader.c',
12163 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
12164 and `loader/xnu.c'.
12165
b394b2ca
RM
121662010-01-08 Robert Millan <rmh.grub@aybabtu.com>
12167
12168 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
12169
121702010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
12171
12172 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
12173 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
12174 * util/mkisofs/mkisofs.c (main): Readjust --version output.
12175
bc8b32b3
RM
121762010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12177
12178 Reset Multiboot 2 support. New loader implements the draft in
12179 /branches/multiboot2 and shares as much code as possible with the
12180 production Multiboot 1 implementation.
12181
12182 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
12183 * loader/multiboot2.c: Likewise.
12184 * loader/i386/multiboot_helper.S: Likewise.
12185 * include/multiboot2.h: Replace with latest version from the draft
12186 in /branches/multiboot2.
12187
12188 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
12189 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
12190 and `loader/multiboot2.c'.
12191 (pkglib_MODULES): Add `multiboot2.mod'.
12192 (multiboot2_mod_SOURCES): New variable.
12193 (multiboot2_mod_LDFLAGS): Likewise.
12194 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
12195
12196 * conf/i386-pc.rmk: Likewise.
12197
12198 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12199 (multiboot_mod_SOURCES): Remove variable.
12200 (multiboot_mod_LDFLAGS): Likewise.
12201 (multiboot_mod_CFLAGS): Likewise.
12202
12203 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
12204 `<multiboot2.h>' instead of `<multiboot.h>'.
12205 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
12206 (MULTIBOOT_HEADER_MAGIC): New macros.
12207
12208 * loader/multiboot_loader.c (module_version_status): Remove variable.
12209 (find_multi_boot2_header): Remove function.
12210 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
12211 logic. Always check for the Multiboot version we're compiling for.
12212 (grub_cmd_module_loader): Likewise.
12213 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
12214 command instead of `multiboot'.
12215
5d2c52b8
RM
122162010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12217
12218 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
12219 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
12220 all users.
12221
53108d92
RM
122222010-01-07 Robert Millan <rmh.grub@aybabtu.com>
122232010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 Fix breakage introduced with previous commit.
12226
12227 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
12228 commands.
12229 * normal/handler.c (read_handler_list): Revert part of previous commit
12230 affecting this file.
12231 * normal/main.c (read_lists): Move read_handler_list() call back to ...
12232 (grub_normal_execute): ... here.
12233
e2e936b2
RM
122342010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12235
12236 Merge prefix-redefinition-fix branch.
12237
12238 * normal/autofs.c (read_fs_list): Make function capable of being
12239 run multiple times, gracefuly replacing the previous data
12240 structures.
12241 * normal/dyncmd.c (read_command_list): Likewise.
12242 * normal/handler.c (read_handler_list): Likewise.
12243 * normal/main.c (read_lists): New function. Calls all the
12244 list reading functions.
12245 (grub_normal_execute): Use read_lists() instead of calling all
12246 list reading functions explicitly. Register read_lists() as a
12247 variable hook attached to ${prefix}.
12248
607a3701
VS
122492010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 Merge crypto branch.
12252
12253 * Makefile.in (pkglib_DATA): Add crypto.lst.
12254 (crypto.lst): New target.
12255 * commands/hashsum.c: New file.
12256 * commands/password.c (check_password): Use grub_crypto_memcmp.
12257 * commands/password_pbkdf2.c: New file.
12258 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
12259 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
12260 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
12261 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
12262 -I$(srcdir)/lib/libgcrypt_wrap.
12263 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
12264 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
12265 password_pbkdf2.mod.
12266 (crypto_mod_SOURCES): New variable.
12267 (crypto_mod_CFLAGS): Likewise.
12268 (crypto_mod_LDFLAGS): Likewise.
12269 (hashsum_mod_SOURCES): New variable.
12270 (hashsum_mod_CFLAGS): Likewise.
12271 (hashsum_mod_LDFLAGS): Likewise.
12272 (pbkdf2_mod_SOURCES): New variable.
12273 (pbkdf2_mod_CFLAGS): Likewise.
12274 (pbkdf2_mod_LDFLAGS): Likewise.
12275 (password_pbkdf2_mod_SOURCES): New variable.
12276 (password_pbkdf2_mod_CFLAGS): Likewise.
12277 (password_pbkdf2_mod_LDFLAGS): Likewise.
12278 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
12279 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
12280 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
12281 Include conf/gcry.rmk.
12282 * include/grub/auth.h: Rewritten.
12283 * include/grub/crypto.h: New file.
12284 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
12285 * include/grub/normal.h (read_crypto_list): New prototype.
12286 * lib/crypto.c: New file.
12287 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12288 * lib/pbkdf2.c: Likewise.
12289 * normal/auth.c (grub_auth_strcmp): Removed.
12290 (grub_iswordseparator): Likewise.
12291 (grub_auth_strword): Likewise.
12292 (is_authenticated): Use grub_strword.
12293 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
12294 and grub_strword. Pass entered password to authentication callback.
12295 * normal/crypto.c: New file.
12296 * normal/main.c: Call read_crypto_list.
12297 * util/grub-mkpasswd-pbkdf2.c: New file.
12298 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
12299
42841caa
VS
123002010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 Fix descent and ascent calculation.
12303
12304 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
12305 (options): New option "asce".
12306 (usage): Likewise.
12307 (add_char): Ignore invalid glyphs for descent calculation.
12308 Calculate ascent from actual content.
12309 (print_glyphs): Use 'asce'.
12310 (write_font): Likewise. Allow ascent override.
12311 (main): Handle "asce" option.
12312
e7730de7 123132010-01-06 Carles Pina i Estany <carles@pina.cat>
12314
12315 * kern/err.c: Include `<grub/i18n.h>'.
12316 (grub_print_error): Add full stop. Gettextizze.
12317 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
12318 (grub_bsd_load_elf): Capitalise ELF.
12319 (grub_cmd_freebsd_loadenv): Add `s' in error string.
12320 (grub_cmd_freebsd_module): Likewise.
12321 (grub_cmd_freebsd_module_elf): Likewise.
12322 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
12323
40e3a41f 123242010-01-06 Carles Pina i Estany <carles@pina.cat>
12325
12326 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
12327 * commands/search_file.c (HELP_MESSAGE): New macro.
12328 * commands/search_label.c (HELP_MESSAGE): Likewise.
12329 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
12330 * po/POTFILES: Add `commands/search_file.c',
12331 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
12332 `commands/search.c'.
12333
83507e68
RM
123342010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12335
12336 * config.rpath: Update from Gnulib.
12337
465c787b
YB
123382010-01-05 Yves Blusseau <blusseau@zetam.org>
12339
12340 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
12341
6581dd3a
YB
123422010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
12343
12344 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
12345
3bff18c5
CW
123462010-01-05 Colin Watson <cjwatson@ubuntu.com>
12347
12348 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
12349 arguments to fread so that we get a return value in bytes, rather
12350 than something that will normally be rounded down to 0.
12351 Adjust error handling to avoid producing garbage when size_t is not
12352 the same size as long long.
12353
a1368118
CW
123542010-01-05 Colin Watson <cjwatson@ubuntu.com>
12355
12356 * util/mkisofs/write.c (padblock_write): Check return value of
12357 fread.
12358
7c302978
RM
123592010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12360
12361 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
12362 floppy images now.
12363
12364 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
12365
e33ace06
RM
123662010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12367
12368 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
12369 instead of manual alignment.
12370 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
12371 verbose). Avoid attempts to read past end of the device
12372 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
12373 but GRUB_DISK_CACHE_SIZE may exceed that).
12374
4b856776
RM
123752010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12376
12377 * commands/crc.c (grub_cmd_crc): Abort on read errors.
12378 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
12379 it to upper layer.
12380
52c2d97f
VS
123812010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12382
12383 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
12384 New constant.
12385 (grub_efi_piwg_device_path): New structure
12386 (grub_efi_piwg_device_path_t): New type.
12387 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
12388 (devpath_1): Transform to a structure. All users updated.
12389 (devpath_2): Likewise.
12390 (devpath_3): Likewise.
12391 (devpath_4): Likewise.
12392 (devpath_5): Likewise.
12393
98ff6a54
VS
123942010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12395
12396 * loader/efi/appleloader.c: Restored. Update all users.
12397
3a73dcb6
RM
123982010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12399
12400 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
12401
12402 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
12403 (struct boot_blocklist): Move from here ...
12404 * include/grub/i386/pc/boot.h [ASM_FILE]
12405 (struct grub_boot_blocklist): ... to here. Update all users.
12406 (setup): Only initialize `start' member of `first_block'
12407 structure. Add assert() calls to verify the other members.
12408
12409 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
12410 (generate_image): Fix broken blocklist length initialization.
12411 Add assert() call to verify blocklist `segment' field.
12412
ab0eeb0c
RM
124132010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12414
12415 * loader/efi/appleloader.c: Remove. Update all users.
12416
58bc8bd5
RM
124172010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12418
12419 * boot/i386/pc/boot.S: Update copyright year.
12420 * boot/i386/pc/cdboot.S: Likewise.
12421 * boot/i386/pc/diskboot.S: Likewise.
12422 * boot/i386/pc/lnxboot.S: Likewise.
12423 * boot/i386/pc/pxeboot.S: Likewise.
12424 * bus/pci.c: Likewise.
12425 * commands/cmp.c: Likewise.
12426 * commands/help.c: Likewise.
12427 * commands/hexdump.c: Likewise.
12428 * commands/i386/pc/halt.c: Likewise.
12429 * commands/i386/pc/play.c: Likewise.
12430 * commands/i386/pc/vbeinfo.c: Likewise.
12431 * commands/ls.c: Likewise.
12432 * commands/test.c: Likewise.
12433 * disk/dmraid_nvidia.c: Likewise.
12434 * disk/i386/pc/biosdisk.c: Likewise.
12435 * disk/ieee1275/nand.c: Likewise.
12436 * disk/ieee1275/ofdisk.c: Likewise.
12437 * disk/lvm.c: Likewise.
12438 * disk/raid.c: Likewise.
12439 * disk/raid6_recover.c: Likewise.
12440 * disk/scsi.c: Likewise.
12441 * fs/affs.c: Likewise.
12442 * fs/cpio.c: Likewise.
12443 * fs/ext2.c: Likewise.
12444 * fs/hfs.c: Likewise.
12445 * fs/iso9660.c: Likewise.
12446 * fs/ntfs.c: Likewise.
12447 * fs/sfs.c: Likewise.
12448 * fs/udf.c: Likewise.
12449 * fs/ufs.c: Likewise.
12450 * fs/xfs.c: Likewise.
12451 * gencmdlist.sh: Likewise.
12452 * genmk.rb: Likewise.
12453 * include/grub/disk.h: Likewise.
12454 * include/grub/efi/api.h: Likewise.
12455 * include/grub/efi/efi.h: Likewise.
12456 * include/grub/efi/pe32.h: Likewise.
12457 * include/grub/elf.h: Likewise.
12458 * include/grub/fs.h: Likewise.
12459 * include/grub/i386/at_keyboard.h: Likewise.
12460 * include/grub/i386/pc/memory.h: Likewise.
12461 * include/grub/i386/pc/vbe.h: Likewise.
12462 * include/grub/i386/pci.h: Likewise.
12463 * include/grub/i386/tsc.h: Likewise.
12464 * include/grub/ieee1275/ieee1275.h: Likewise.
12465 * include/grub/ntfs.h: Likewise.
12466 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
12467 * include/grub/sparc64/libgcc.h: Likewise.
12468 * include/grub/symbol.h: Likewise.
12469 * include/grub/types.h: Likewise.
12470 * include/multiboot2.h: Likewise.
12471 * io/gzio.c: Likewise.
12472 * kern/device.c: Likewise.
12473 * kern/disk.c: Likewise.
12474 * kern/efi/efi.c: Likewise.
12475 * kern/efi/mm.c: Likewise.
12476 * kern/elf.c: Likewise.
12477 * kern/file.c: Likewise.
12478 * kern/i386/dl.c: Likewise.
12479 * kern/i386/pc/init.c: Likewise.
12480 * kern/i386/pc/startup.S: Likewise.
12481 * kern/ieee1275/ieee1275.c: Likewise.
12482 * kern/ieee1275/init.c: Likewise.
12483 * kern/main.c: Likewise.
12484 * kern/mm.c: Likewise.
12485 * kern/powerpc/dl.c: Likewise.
12486 * kern/sparc64/dl.c: Likewise.
12487 * kern/x86_64/dl.c: Likewise.
12488 * lib/hexdump.c: Likewise.
12489 * loader/efi/appleloader.c: Likewise.
12490 * loader/i386/ieee1275/linux.c: Likewise.
12491 * loader/i386/pc/chainloader.c: Likewise.
12492 * loader/i386/pc/linux.c: Likewise.
12493 * loader/i386/pc/multiboot2.c: Likewise.
12494 * loader/ieee1275/multiboot2.c: Likewise.
12495 * loader/multiboot2.c: Likewise.
12496 * loader/multiboot_loader.c: Likewise.
12497 * loader/powerpc/ieee1275/linux.c: Likewise.
12498 * normal/completion.c: Likewise.
12499 * normal/menu_entry.c: Likewise.
12500 * partmap/apple.c: Likewise.
12501 * util/grub.d/10_hurd.in: Likewise.
12502 * util/hostfs.c: Likewise.
12503 * video/readers/png.c: Likewise.
12504
e2d70b5c
CW
125052010-01-03 Colin Watson <cjwatson@ubuntu.com>
12506
12507 * include/grub/misc.h (GNUC_PREREQ): New macro.
12508 (ATTRIBUTE_ERROR): New macro.
12509 * include/grub/list.h (grub_bad_type_cast_real): Use
12510 ATTRIBUTE_ERROR.
12511
a173283f 125122010-01-03 Carles Pina i Estany <carles@pina.cat>
12513
12514 * normal/menu_text.c (print_message): Change messages.
12515
7fa7ff74 125162010-01-03 Carles Pina i Estany <carles@pina.cat>
12517
12518 * normal/menu_entry.c (store_completion): Gettextizze.
12519
136d24f6 125202010-01-03 Carles Pina i Estany <carles@pina.cat>
12521
12522 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
12523
f936862e 125242010-01-03 Carles Pina i Estany <carles@pina.cat>
12525
12526 * po/POTFILES: Sort correctly.
12527
29c44ad1 125282010-01-03 Carles Pina i Estany <carles@pina.cat>
12529
12530 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
12531 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
12532 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
12533 full stop.
12534 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
12535 summary. Gettextizze the strings.
12536 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
12537 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
12538 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
12539 full stop.
12540 (GRUB_MOD_INIT): Remove command name from summary.
12541 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
12542 summary.
12543 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
12544 * term/i386/pc/serial.c (options): Add full stops.
12545 (GRUB_MOD_INIT): Remove command name from the summary.
12546
77a79592 125472010-01-03 Carles Pina i Estany <carles@pina.cat>
12548
12549 * commands/acpi.c: Gettextizze help strings and/or options. Include
12550 `grub/i18n.h' if needed.
12551 * commands/blocklist.c: Likewise.
12552 * commands/boot.c: Likewise.
12553 * commands/cat.c: Likewise.
12554 * commands/cmp.c: Likewise.
12555 * commands/configfile.c: Likewise.
12556 * commands/crc.c: Likewise.
12557 * commands/date.c: Likewise.
12558 * commands/echo.c: Likewise.
12559 * commands/efi/fixvideo.c: Likewise.
12560 * commands/efi/loadbios.c: Likewise.
12561 * commands/gptsync.c: Likewise.
12562 * commands/halt.c: Likewise.
12563 * commands/handler.c: Likewise.
12564 * commands/hdparm.c: Likewise.
12565 * commands/hexdump.c: Likewise.
12566 * commands/i386/cpuid.c: Likewise.
12567 * commands/i386/pc/drivemap.c: Likewise.
12568 * commands/i386/pc/halt.c: Likewise.
12569 * commands/i386/pc/pxecmd.c: Likewise.
12570 * commands/i386/pc/vbeinfo.c: Likewise.
12571 * commands/i386/pc/vbetest.c: Likewise.
12572 * commands/ieee1275/suspend.c: Likewise.
12573 * commands/keystatus.c: Likewise.
12574 * commands/loadenv.c: Likewise.
12575 * commands/ls.c: Likewise.
12576 * commands/lsmmap.c: Likewise.
12577 * commands/lspci.c: Likewise.
12578 * commands/memrw.c: Likewise.
12579 * commands/minicmd.c: Likewise.
12580 * commands/parttool.c: Likewise.
12581 * commands/password.c: Likewise.
12582 * commands/probe.c: Likewise.
12583 * commands/read.c: Likewise.
12584 * commands/reboot.c: Likewise.
12585 * commands/search.c: Likewise.
12586 * commands/sleep.c: Likewise.
12587 * commands/test.c: Likewise.
12588 * commands/true.c: Likewise.
12589 * commands/usbtest.c: Likewise.
12590 * commands/videotest.c: Likewise.
12591 * commands/xnu_uuid.c: Likewise.
12592 * disk/loopback.c: Likewise.
12593 * hello/hello.c: Likewise.
12594 * loader/i386/bsd.c: Likewise.
12595 * term/i386/pc/serial.c: Likewise.
12596 * po/POTFILES: Add new files.
12597
da8d5c53
CW
125982010-01-02 Colin Watson <cjwatson@ubuntu.com>
12599
12600 * term/i386/pc/at_keyboard.c
12601 (keyboard_controller_wait_untill_ready): Rename to ...
12602 (keyboard_controller_wait_until_ready): ... this. Update all users.
12603
33937904 126042010-01-01 Carles Pina i Estany <carles@pina.cat>
12605
12606 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
12607 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
12608 string using string width.
12609 * normal/menu_text.c (grub_print_message_indented): Use
12610 grub_print_spaces and not print_spaces.
12611 (print_timeout): Likewise.
12612 (print_spaces): Move to...
12613 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
12614
3fd3b8d8
RM
126152010-01-01 Robert Millan <rmh.grub@aybabtu.com>
12616
12617 Import from Gnulib.
12618
12619 * gnulib/getdelim.c: New file.
12620 * gnulib/getline.c: Likewise.
12621
33433555
VS
126222009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
12623
12624 * include/grub/list.h (grub_assert_fail): Removed.
12625 (grub_bad_type_cast_real): New function.
12626 (grub_bad_type_cast): New macro.
12627 (GRUB_AS_LIST): Use grub_bad_type_cast.
12628 (GRUB_AS_LIST_P): Likewise.
e44721e8 12629 (GRUB_AS_NAMED_LIST): Likewise.
33433555 12630 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 12631 (GRUB_AS_PRIO_LIST): Likewise.
33433555 12632 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 12633 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 12634
f5a51306
VS
126352009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
12636
12637 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
12638 Fix syntax error.
12639
90d1e879
RM
126402009-12-29 Robert Millan <rmh.grub@aybabtu.com>
12641
12642 * configure.ac: Check for TARGET_CFLAGS initialization before we
12643 initialize it ourselves (sigh).
12644 Move a few modifications to TARGET_CFLAGS to be unconditional
12645 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
12646 eh_frame)
12647
12648 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
12649 * term/i386/pc/at_keyboard.c
12650 (keyboard_controller_wait_untill_ready): Likewise.
12651 (keyboard_controller_led): Rename `led_status' paramter to avoid
12652 name conflict.
12653
465b5a81 126542009-12-28 Carles Pina i Estany <carles@pina.cat>
12655
12656 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
12657 quotes.
12658
c181849b
VS
126592009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
12662
9c8739a4
VS
126632009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 * normal/menu_text.c (grub_print_message_indented): Prevent
12666 past-the-end-of-array dereference.
12667
3e74249c
VS
126682009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
12671 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
12672
64fd18ed 126732009-12-27 Carles Pina i Estany <carles@pina.cat>
12674
12675 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
12676 * normal/main.c (grub_normal_read_line): Remove a space from the
12677 default prompt.
12678
714af9b9 126792009-12-27 Carles Pina i Estany <carles@pina.cat>
12680
12681 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
12682 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12683 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12684 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12685 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12686 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12687 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12688
82f3e412 126892009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 12690
12691 * video/readers/jpeg.c (cmd): Declare.
12692 (grub_cmd_jpegtest): Use `grub_command_t' type.
12693 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12694 Assign to `cmd'.
12695 (GRUB_MOD_FINI): Use `cmd' to unregister.
12696 * video/readers/png.c (cmd): Declare.
12697 (grub_cmd_pngtest): Use `grub_command_t' type.
12698 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12699 Assign to `cmd'.
12700 (GRUB_MOD_FINI): Use `cmd' to unregister.
12701 * video/readers/tga.c (cmd): Declare.
12702 (grub_cmd_tgatest): Use `grub_command_t' type.
12703 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12704 Assign to `cmd'.
12705 (GRUB_MOD_FINI): Use `cmd' to unregister.
12706
82f3e412 127072009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 12708
12709 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
12710 stops.
12711 * kern/corecmd.c (grub_register_core_commands): Likewise.
12712 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
12713 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12714 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
12715 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12716 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12717 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
12718 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12719 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
12720 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12721 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12722 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12723 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12724 * normal/handler.c (insert_handler): Likewise.
12725 * normal/main.c (GRUB_MOD_INIT): Likewise.
12726 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12727
fdcdbb66 127282009-12-26 Carles Pina i Estany <carles@pina.cat>
12729
12730 * commands/help.c (grub_cmd_help): Print the command name before the
12731 summary.
12732 (GRUB_MOD_INIT): Remove command name from the summary.
12733 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 12734 string as summary.
fdcdbb66 12735 * lib/arg.c (find_long): Print the command name before the summary.
12736 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
12737 summary.
12738 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
12739 * commands/cat.c (GRUB_MOD_INIT): Likewise.
12740 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
12741 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
12742 * commands/crc.c (GRUB_MOD_INIT): Likewise.
12743 * commands/date.c (GRUB_MOD_INIT): Likewise.
12744 * commands/echo.c (GRUB_MOD_INIT): Likewise.
12745 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
12746 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12747 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12748 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
12749 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
12750 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
12751 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
12752 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12753 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
12754 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
12755 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
12756 * commands/ls.c (GRUB_MOD_INIT): Likewise.
12757 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12758 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12759 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12760 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
12761 * commands/password.c (GRUB_MOD_INIT): Likewise.
12762 * commands/probe.c (GRUB_MOD_INIT): Likewise.
12763 * commands/read.c (GRUB_MOD_INIT): Likewise.
12764 * commands/search.c (GRUB_MOD_INIT): Likewise.
12765 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
12766 * commands/test.c (GRUB_MOD_INIT): Likewise.
12767 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
12768 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12769 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12770 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
12771 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12772 * lib/arg.c (GRUB_MOD_INIT): Likewise.
12773 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
12774 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12775 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12776 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12777 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12778 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
12779 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
12780 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
12781
9c288be2
VS
127822009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12783
12784 Use search command for preliminar UUID search.
12785
12786 * commands/search.c: Split into ...
12787 * commands/search_wrap.c: ...this
12788 * commands/search.c: ...and this.
12789 * commands/search_file.c: New file.
12790 * commands/search_label.c: New file.
12791 * commands/search_uuid.c: New file.
12792 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
12793 Add commands/search_wrap.c, commands/search_file.c,
12794 commands/search_label.c and commands/search_uuid.c.
12795 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
12796 (search_mod_SOURCES): Set to commands/search_wrap.c.
12797 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
12798 search_label.mod.
12799 (search_fs_file_mod_SOURCES): New variable.
12800 (search_fs_file_mod_CFLAGS): Likewise.
12801 (search_fs_file_mod_LDFLAGS): Likewise.
12802 (search_label_mod_SOURCES): Likewise.
12803 (search_label_mod_CFLAGS): Likewise.
12804 (search_label_mod_LDFLAGS): Likewise.
12805 (search_fs_uuid_mod_SOURCES): New variable.
12806 (search_fs_uuid_mod_CFLAGS): Likewise.
12807 (search_fs_uuid_mod_LDFLAGS): Likewise.
12808 (fs_file_mod_SOURCES): Removed.
12809 (fs_file_mod_CFLAGS): Likewise.
12810 (fs_file_mod_LDFLAGS): Likewise.
12811 (fs_uuid_mod_SOURCES): Removed.
12812 (fs_uuid_mod_CFLAGS): Likewise.
12813 (fs_uuid_mod_LDFLAGS): Likewise.
12814 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
12815 Set to util/grub-install.in.
12816 * disk/fs_file.c: Removed.
12817 * disk/fs_uuid.c: Likewise.
12818 * include/grub/search.h: New file.
12819 * util/grub-install.in: Handle sparc64.
12820 Create and use load.cfg.
12821 * util/sparc64/ieee1275/grub-install.in: Removed.
12822
db943399
VS
128232009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12824
12825 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
12826 Ignore return status if CF is cleared.
12827 (grub_biosdisk_get_diskinfo_standard): Likewise.
12828
3fdae612
RM
128292009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12830
12831 * term/i386/pc/at_keyboard.c
12832 (keyboard_controller_wait_untill_ready): New function.
12833 (grub_keyboard_controller_write, grub_keyboard_controller_read)
12834 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
12835 for keyboard polling, rather than duplicate the same loop. This
12836 saves a few bytes in code size.
12837
7ebaa2b4
VS
128382009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 Support for (pxe[:server[:gateway]]) syntax and
12841 use environment variable for PXE.
12842
12843 * commands/i386/pc/pxecmd.c (options): Removed.
12844 (print_ip): Removed.
12845 (grub_cmd_pxe): Removed
12846 (grub_cmd_pxe_unload): New function.
12847 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
12848 (grub_pxe_your_ip): Made static.
12849 (grub_pxe_default_server_ip): Likewise.
12850 (grub_pxe_default_gateway_ip): Likewise.
12851 (grub_pxe_blksize): Likewise.
12852 (parse_ip): New function.
12853 (grub_pxe_open): Support server and gateway specification.
12854 (grub_pxe_close): Free disk->data.
12855 (grub_pxefs_open): Use disk->data.
12856 (grub_pxefs_read): Likewise.
12857 (grub_env_write_readonly): New function.
12858 (set_mac_env): Likewise.
12859 (set_env_limn_ro): Likewise.
12860 (parse_dhcp_vendor): Likewise.
12861 (grub_pxe_detect): Set the environment variables.
12862 (set_ip_env): New function.
12863 (write_ip_env): Likewise.
12864 (grub_env_write_pxe_default_server): Likewise.
12865 (grub_env_write_pxe_default_gateway): Likewise.
12866 (grub_env_write_pxe_blocksize): Likewise.
12867 (GRUB_MOD_INIT(pxe)): Set environment variables.
12868 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
12869 (grub_pxe_mac_addr_t): ... this. All users updated.
12870 (grub_pxe_your_ip): Removed.
12871 (grub_pxe_server_ip): Likewise.
12872 (grub_pxe_gateway_ip): Likewise.
12873 (grub_pxe_blksize): Likewise.
12874
ec5f98ab 128752009-12-25 Carles Pina i Estany <carles@pina.cat>
12876
12877 * commands/help.c: Include `<grub/i18n.h>'.
12878 (grub_cmd_help): Gettextizze.
12879 (GRUB_MOD_INIT): Likewise.
12880 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
12881 (GRUB_MOD_INIT): Gettextizze.
12882 * commands/search.c: Include `<grub/i18n.h>'.
12883 (options): Gettextizze.
12884 (GRUB_MOD_INIT): Gettextizze.
12885 * lib/arg.c: Include `<grub/i18n.h>'.
12886 (help_options): Gettextizze.
12887 (find_long): Likewise.
12888 (grub_arg_show_help): Likewise.
12889 * normal/dyncmd.c: Include `<grub/i18n.h>'.
12890 (read_command_list): Gettextizze.
12891 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 12892 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 12893
22815526
RM
128942009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12895
12896 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
12897 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
12898 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
12899 (led_status): New variable.
12900 (keyboard_controller_led): New function.
12901 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
12902 update led status for caps lock, num lock and scroll lock.
12903
0ad46fd7
FZ
129042009-12-25 Felix Zielcke <fzielcke@z-51.de>
12905
12906 * util/hostdisk.c (open_device): Fix a comment.
12907
d0e158c2
RM
129082009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12909
12910 * util/grub-install.in (host_os): New variable.
12911 * util/i386/efi/grub-install.in (host_os): Likewise.
12912
401c0ad6
RM
129132009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12914
12915 * util/mkisofs/write.c (padblock_write): Abort when given an
12916 excedingly large embed image, instead of silently truncating it.
12917
d14d3370
RM
129182009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12919
12920 * include/multiboot.h: Indentation fixes.
12921
eeed10b4
RM
129222009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12923
12924 * include/multiboot.h (struct multiboot_aout_symbol_table)
12925 (struct multiboot_elf_section_header_table): New structure
12926 declarations (stolen from GRUB Legacy).
12927 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
12928 table information.
12929
12930 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
12931 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
12932 type aliases.
12933
681c70ab
RM
129342009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12935
12936 * include/multiboot.h: Make comments src2texi-friendly.
12937
e4d47d8d
RM
129382009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12939
12940 For consistency with [multiboot]/docs/boot.S.
12941
12942 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
12943 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
12944 (MULTIBOOT_MAGIC2): Rename from this ...
12945 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
12946
a0b70bda
RM
129472009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12948
12949 * include/multiboot.h: Remove `<grub/types.h>'.
12950 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
12951 types. Update all users.
12952
61ba42be 129532009-12-25 Carles Pina i Estany <carles@pina.cat>
12954
12955 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
12956 `couldn't' and `can not' by `cannot'.
12957 * commands/i386/pc/drivemap.c: Likewise.
12958 * disk/ata.c: Likewise.
12959 * disk/ieee1275/nand.c: Likewise.
12960 * fs/affs.c: Likewise.
12961 * fs/fat.c: Likewise.
12962 * fs/hfs.c: Likewise.
12963 * fs/hfsplus.c: Likewise.
12964 * fs/iso9660.c: Likewise.
12965 * fs/jfs.c: Likewise.
12966 * fs/minix.c: Likewise.
12967 * fs/reiserfs.c: Likewise.
12968 * fs/sfs.c: Likewise.
12969 * fs/udf.c: Likewise.
12970 * fs/ufs.c: Likewise.
12971 * fs/xfs.c: Likewise.
12972 * loader/powerpc/ieee1275/linux.c: Likewise.
12973 * loader/sparc64/ieee1275/linux.c: Likewise.
12974 * util/grub-probe.c: Likewise.
12975 * util/misc.c: Likewise.
12976
7fd0baee 129772009-12-24 Carles Pina i Estany <carles@pina.cat>
12978
12979 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
12980 grub_errno calls.
12981 * commands/acpi.c: Likewise.
12982 * commands/blocklist.c: Likewise.
12983 * commands/efi/loadbios.c: Likewise.
12984 * commands/i386/pc/drivemap.c: Likewise.
12985 * commands/loadenv.c: Likewise.
12986 * commands/memrw.c: Likewise.
12987 * commands/password.c: Likewise.
12988 * commands/videotest.c: Likewise.
12989 * disk/ata.c: Likewise.
12990 * disk/ata_pthru.c: Likewise.
12991 * disk/dmraid_nvidia.c: Likewise.
12992 * disk/ieee1275/nand.c: Likewise.
12993 * disk/ieee1275/ofdisk.c: Likewise.
12994 * disk/loopback.c: Likewise.
12995 * disk/lvm.c: Likewise.
12996 * disk/mdraid_linux.c: Likewise.
12997 * disk/raid.c: Likewise.
12998 * disk/raid6_recover.c: Likewise.
12999 * disk/scsi.c: Likewise.
13000 * efiemu/main.c: Likewise.
13001 * efiemu/mm.c: Likewise.
13002 * efiemu/pnvram.c: Likewise.
13003 * efiemu/symbols.c: Likewise.
13004 * font/font.c: Likewise.
13005 * fs/cpio.c: Likewise.
13006 * fs/hfsplus.c: Likewise.
13007 * fs/iso9660.c: Likewise.
13008 * fs/jfs.c: Likewise.
13009 * fs/minix.c: Likewise.
13010 * fs/ntfs.c: Likewise.
13011 * fs/ntfscomp.c: Likewise.
13012 * fs/reiserfs.c: Likewise.
13013 * fs/ufs.c: Likewise.
13014 * fs/xfs.c: Likewise.
13015 * gettext/gettext.c: Likewise.
13016 * include/grub/auth.h: Likewise.
13017 * kern/elf.c: Likewise.
13018 * kern/file.c: Likewise.
13019 * kern/ieee1275/init.c: Likewise.
13020 * kern/ieee1275/mmap.c: Likewise.
13021 * kern/ieee1275/openfw.c: Likewise.
13022 * kern/powerpc/dl.c: Likewise.
13023 * kern/sparc64/dl.c: Likewise.
13024 * lib/arg.c: Likewise.
13025 * loader/i386/bsd.c: Likewise.
13026 * loader/i386/bsdXX.c: Likewise.
13027 * loader/i386/efi/linux.c: Likewise.
13028 * loader/i386/efi/xnu.c: Likewise.
13029 * loader/i386/ieee1275/linux.c: Likewise.
13030 * loader/i386/linux.c: Likewise.
13031 * loader/i386/multiboot.c: Likewise.
13032 * loader/i386/pc/linux.c: Likewise.
13033 * loader/i386/pc/multiboot2.c: Likewise.
13034 * loader/i386/xnu.c: Likewise.
13035 * loader/ieee1275/multiboot2.c: Likewise.
13036 * loader/macho.c: Likewise.
13037 * loader/machoXX.c: Likewise.
13038 * loader/multiboot2.c: Likewise.
13039 * loader/multiboot_loader.c: Likewise.
13040 * loader/powerpc/ieee1275/linux.c: Likewise.
13041 * loader/sparc64/ieee1275/linux.c: Likewise.
13042 * loader/xnu.c: Likewise.
13043 * loader/xnu_resume.c: Likewise.
13044 * mmap/i386/pc/mmap.c: Likewise.
13045 * normal/menu_viewer.c: Likewise.
13046 * partmap/acorn.c: Likewise.
13047 * partmap/amiga.c: Likewise.
13048 * partmap/apple.c: Likewise.
13049 * script/lexer.c: Likewise.
13050 * term/gfxterm.c: Likewise.
13051 * term/i386/pc/serial.c: Likewise.
13052 * term/i386/pc/vga.c: Likewise.
13053 * term/ieee1275/ofconsole.c: Likewise.
13054 * term/terminfo.c: Likewise.
13055 * video/bitmap.c: Likewise.
13056 * video/efi_gop.c: Likewise.
13057 * video/efi_uga.c: Likewise.
13058 * video/fb/video_fb.c: Likewise.
13059 * video/i386/pc/vbe.c: Likewise.
13060 * video/readers/tga.c: Likewise.
13061 * video/video.c: Likewise.
13062
0ad46fd7 130632009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
13064
13065 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
13066 * commands/lspci.c: Likewise.
13067 * commands/probe.c: Likewise.
13068 * commands/xnu_uuid.c: Likewise.
13069 * conf/i386-coreboot.rmk: Likewise.
13070 * conf/i386-efi.rmk: Likewise.
13071 * conf/i386-ieee1275.rmk: Likewise.
13072 * conf/i386-pc.rmk: Likewise.
13073 * conf/powerpc-ieee1275.rmk: Likewise.
13074 * conf/sparc64-ieee1275.rmk: Likewise.
13075 * conf/x86_64-efi.rmk: Likewise.
13076 * fs/i386/pc/pxe.c: Likewise.
13077 * gettext/gettext.c: Likewise.
13078 * include/grub/efi/graphics_output.h: Likewise.
13079 * include/grub/i386/pc/memory.h: Likewise.
13080 * kern/env.c: Likewise.
13081 * kern/i386/qemu/startup.S: Likewise.
13082 * lib/i386/pc/biosnum.c: Likewise.
13083 * lib/i386/relocator.c: Likewise.
13084 * lib/i386/relocator_asm.S: Likewise.
13085 * lib/relocator.c: Likewise.
13086 * loader/i386/bsd.c: Likewise.
13087 * loader/i386/multiboot.c: Likewise.
13088 * loader/i386/pc/chainloader.c: Likewise.
13089 * loader/i386/xnu.c: Likewise.
13090 * loader/xnu.c: Likewise.
13091 * normal/main.c: Likewise.
13092 * normal/menu_text.c: Likewise.
13093 * util/getroot.c: Likewise.
13094 * util/grub-mkconfig_lib.in: Likewise.
13095 * util/grub.d/00_header.in: Likewise.
13096 * util/i386/pc/grub-mkimage.c: Likewise.
13097 * util/mkisofs/eltorito.c: Likewise.
13098 * util/mkisofs/exclude.h: Likewise.
13099 * util/mkisofs/hash.c: Likewise.
13100 * util/mkisofs/iso9660.h: Likewise.
13101 * util/mkisofs/joliet.c: Likewise.
13102 * util/mkisofs/mkisofs.c: Likewise.
13103 * util/mkisofs/mkisofs.h: Likewise.
13104 * util/mkisofs/multi.c: Likewise.
13105 * util/mkisofs/name.c: Likewise.
13106 * util/mkisofs/rock.c: Likewise.
13107 * util/mkisofs/tree.c: Likewise.
13108 * util/mkisofs/write.c: Likewise.
13109 * video/efi_gop.c: Likewise.
13110
009ec743
VS
131112009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13112
13113 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
13114 size counting.
13115
0ad46fd7 131162009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
13117
13118 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
13119 * genmk.rb (class SCRIPT): Modify the target file instead of source.
13120
d3d30ea0
VS
131212009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13122
13123 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
13124 (GRUB_MOD_INIT(memrw)): Update help line.
13125
a34f5c70
VS
131262009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13127
13128 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
13129 Use grub_extcmd_t. All users updated.
13130 (options): New variable.
13131 (grub_cmd_read): Restructure for readability. Support "-v" option.
13132 (grub_cmd_write): Restructure for readability.
13133
0ad46fd7 131342009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
13135
13136 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
13137
0ad46fd7 131382009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
13139
13140 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
13141 with the actual contents of the correspondending make variable.
13142 * util/grub-mkrescue.in (pkglib_DATA): New variable.
13143 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
13144 specifying `*.lst' and `efiemu??.o'
13145
0ad46fd7 131462009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
13147
13148 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
13149 after function name.
13150 Noticed by Rene Engelhard <rene@debian.org>.
13151
dc77a799
VS
131522009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13153
13154 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
13155 (options): New variable.
13156 (iospace): Likewise.
13157 (grub_lspci_iter): List IO spaces if "-i" was given.
13158 (grub_cmd_lspci): Parse options.
13159 (GRUB_MOD_INIT(lspci)): Use extcmd.
13160 (GRUB_MOD_FINI(lspci)): Likewise.
13161
0ad46fd7 131622009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
13163
13164 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
13165 `function' keyword.
13166 Patch by Tony Mancill <tmancill@debian.org>.
13167
b5d5993b
VS
131682009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13169
13170 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
13171 (grub_uhci_portstatus): Likewise.
13172 (grub_uhci_portstatus): Add necessary delay.
11d18281 13173 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 13174
941903f2 131752009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 13176
941903f2 13177 * commands/acpi.c (options): Fix capitalizations and/or full stops.
13178 (GRUB_MOD_INIT): Likewise.
13179 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 13180 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
13181 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 13182 * commands/efi/loadbios.c (enable_rom_area): Likewise.
13183 (enable_rom_area): Likewise.
13184 (GRUB_MOD_INIT): Likewise.
13185 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
13186 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
13187 * commands/handler.c (GRUB_MOD_INIT): Likewise.
13188 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
13189 * commands/hexdump.c (options): Likewise.
13190 * commands/i386/cpuid.c (options): Likewise.
13191 (GRUB_MOD_INIT): Likewise.
13192 * commands/i386/pc/drivemap.c (options): Likewise.
13193 (GRUB_MOD_INIT): Likewise.
13194 * commands/i386/pc/halt (options): Likewise.
13195 (GRUB_MOD_INIT): Likewise.
13196 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
13197 * commands/i386/pc/pxecmd.c (options): Likewise.
13198 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
13199 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
13200 * commands/keystatus.c (options): Likewise.
13201 (GRUB_MOD_INIT): Likewise.
13202 * commands/loadenv.c (options): Likewise.
13203 * commands/ls.c (options): Likewise.
13204 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
13205 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
13206 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
13207 * commands/parttool.c (helpmsg): Likewise.
13208 * commands/probe.c (options): Likewise.
13209 * commands/read.c (GRUB_MOD_INIT): Likewise.
13210 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
13211 * commands/search.c (options): Likewise.
13212 * commands/sleep.c (options): Likewise.
13213 * commands/test.c (GRUB_MOD_INIT): Likewise.
13214 * commands/true.c (GRUB_MOD_INIT): Likewise.
13215 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
13216 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
13217 * lib/arg.c (help_options): Likewise.
e9bbb4e7 13218 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
13219 `$(XGETTEXT)'.
98a50553 13220 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 13221
0ad46fd7 132222009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 13223
ef3c2c3a 13224 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
13225 instead of specifying them explicit.
13226
7922f68b
RM
132272009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13228
13229 * NEWS: Add grub-probe support for GNU/Hurd.
13230
537ce47f
RM
132312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13232
13233 * NEWS: gettext was added after 1.97.
13234
9b214e3a
RM
132352009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13236
13237 * util/mkisofs/msdos_partition.h: New file (based on
13238 include/grub/msdos_partition.h).
13239 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
13240 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
13241 (ld_options, main): Recognize --protective-msdos-label.
13242 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
13243 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
13244 (padblock_write): If `use_protective_msdos_label' is set, patch a
13245 protective DOS-style label in the output image.
13246
13247 * util/grub-mkrescue.in: Use --protective-msdos-label.
13248
e9309813
RM
132492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13250
13251 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
13252 boot.
13253
0ae56929
RM
132542009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13255
13256 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
13257 variables.
13258 (ld_options, main): Recognize `--embedded-boot'.
13259 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
13260 declarations.
13261 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
13262 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
13263 (padblock_write): Likewise. Rewrite to support embedded boot image.
13264
13265 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
13266 for BIOS-based disk boot instead of only ElTorito.
13267
b15937b1
RM
132682009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13269
13270 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
13271 build (not needed for bootstrap).
13272
52cc3ce0
RM
132732009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13274
13275 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
13276 from i386-pc build (not needed for bootstrap).
13277 Rewrite a pair of strings.
13278
36f5ff04
RM
132792009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13280
13281 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
13282
973c6c85 132832009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
13284
13285 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
13286
05d21547
AB
132872009-12-21 Andreas Born <futur.andy@googlemail.com>
13288
13289 * kern/env.c (grub_env_context_open): Mark exported variable for
13290 reexport.
13291
0175d51f
AB
132922009-12-21 Andreas Born <futur.andy@googlemail.com>
13293
13294 * kern/env.c (grub_env_export): Create nonexistent variables before
13295 exporting.
13296
7f39d92f 132972009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 13298
7f39d92f 13299 * include/grub/auth.h: Include `<grub/i18n.h>'.
13300 (GRUB_GET_PASSWORD): Gettextizze string.
13301 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
13302 menu_text.c.
13303 (grub_utf8_to_ucs4_alloc): Fix indentation.
13304 (grub_print_ucs4): Likewise.
13305 (grub_getstringwidth): Likewise.
13306 (print_message_indented): New declaration.
13307 * normal/auth.c: Include `<grub/i18n.h>'.
13308 (grub_auth_check_authentication): Gettexttize string.
13309 * normal/cmdline.c: Include `<grub/i18n.h>'.
13310 (grub_cmdline_get): Gettextizze.
13311 * normal/color.c: Include `<grub/i18n.h>'.
13312 (grub_parse_color_name_pair): Gettexttize strings.
13313 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
13314 string (use `print_message_indented').
13315 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
13316 `include/grub/normal.h'.
13317 (print_message_indented): Renamed to ...
13318 (grub_print_message_indented): ... this. Remove `static' qualifer (now
13319 used in normal/main.c).
13320 (print_message): Use `grub_print_message_indented' instead of
13321 `print_message_indented'.
13322 (print_timeout): Likewise.
13323 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
13324 (grub_normal_print_device_info): Gettexttize strings.
13325 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
13326
3041d898
VS
133272009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13328
13329 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
13330 of arguments. Return number of tokens and not arguments. All users
13331 updated.
13332
de15bf8e
VS
133332009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13334
13335 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
13336 non-MSDOS paritions.
13337
e0a6ca52
VS
133382009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * include/grub/types.h (UNUSED): Removed since it conflicts with
13341 NetBSD headers. All users changed to direct __attribute__ ((unused)).
13342 Reported by Grégoire Sutre.
13343
b99518d1 133442009-12-19 Carles Pina i Estany <carles@pina.cat>
13345
13346 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
13347 (grub_print_ucs4_alloc): Likewise.
13348 (grub_getstringwidth): Likewise.
13349 * normal/main.c (grub_normal_init_page): Gettextize version string.
13350 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
13351 (getstringwidth): Renamed to ...
13352 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
13353 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
13354 (grub_print_ucs4): Remove `static' qualifer (now used in
13355 normal/main.c).
13356 * po/POTFILES: Add normal/main.c.
13357
bfd5e52b 133582009-12-19 Carles Pina i Estany <carles@pina.cat>
13359
13360 * normal/menu_text.c (STANDARD_MARGIN): New macro.
13361 (print_message_indented): Add `margin_left' and `margin_right'
13362 parameters.
13363 (print_message): Update `print_message_indented' calls. Adds '\n' to the
13364 strings.
13365 (print_timeout): Use `print_message_indented' to print the message.
13366 Deletes `second_stage' parameter.
13367 (run_menu): Update `print_timeout' calls.
13368
5a1ad2b9
VS
133692009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13370
13371 Fix console palette on OpenFirmware.
13372
13373 * term/ieee1275/ofconsole.c (MAX): Removed.
13374 (colors): Redone based on VGA palette.
13375 (grub_ofconsole_setcolor): Discard brightness bit since only 8
13376 colors are supported.
13377 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
13378
b045f00a
VS
133792009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 Fix potential EfiEmu double prepare.
13382
13383 * efiemu/main.c (prepared): New variable
13384 (grub_efiemu_unload): Set prepare to '0'.
13385 (grub_efiemu_prepare): Return if already prepared. Set prepared.
13386
13387 set_virtual_address_map support.
13388
13389 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
13390 prototype.
13391 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
13392 prototype.
13393 (grub_efiemu_crc32): Likewise.
13394 (grub_efiemu_crc64): Likewise.
13395 (grub_efiemu_set_virtual_address_map): Likewise.
13396 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
13397 New definition.
13398 (grub_autoefi_set_virtual_address_map): Likewise.
13399 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
13400 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
13401 Restructure flow to accomodate it.
13402 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
13403 (grub_efiemu_crc): Recompute CRC32.
13404 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
13405 (efiemu_ptv_relocated): ... this. Made global. All users updated.
13406 * efiemu/symbols.c (relocated_handle): New variable.
13407 (grub_efiemu_free_syms): Free relocated_handle.
13408 (grub_efiemu_alloc_syms): Allocate relocated_handle.
13409 (grub_efiemu_write_sym_markers): New function.
13410 (grub_efiemu_set_virtual_address_map): Likewise.
13411
13412 Newer XNU parameters.
13413
13414 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
13415 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
13416 (grub_xnu_fill_devicetree): New prototype.
13417 (grub_xnu_heap_real_start): New variable.
13418 * loader/xnu.c (get_name_ptr): New function.
13419 (grub_xnu_load_driver): Fill namelen and name.
13420
13421 64-bit xnu support.
13422
13423 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
13424 and 'loader/macho64.c'.
13425 * conf/i386-pc.rmk: Likewise.
13426 * conf/x86_64-efi.rmk: Likewise.
13427 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
13428 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
13429 * include/grub/macho.h (grub_macho_segment64): New structure.
13430 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
13431 (grub_macho_size32): ... to this.
13432 (grub_macho32_get_entry_point): Renamed from ...
13433 (grub_macho_get_entry_point32): ... to this.
13434 (grub_macho_contains_macho64): New prototype.
13435 (grub_macho_size64): Likewise.
13436 (grub_macho_get_entry_point64): Likewise.
13437 (grub_macho32_load): Renamed from ...
13438 (grub_macho_load32): ... to this.
13439 (grub_macho32_filesize): Renamed from ...
13440 (grub_macho_filesize32): ... to this.
13441 (grub_macho32_readfile): Renamed from ...
13442 (grub_macho_readfile32): ... to this.
13443 (grub_macho_filesize64): New prototype.
13444 (grub_macho_readfile64): Likewise.
13445 (grub_macho_parse32): Likewise.
13446 (grub_macho_parse64): Likewise.
13447 * loader/macho.c: Split into ...
13448 * loader/machoXX.c: ... and this. Replace 32 with XX.
13449 * loader/macho32.c: New file.
13450 * loader/macho64.c: Likewise.
13451 * loader/xnu.c (grub_xnu_is_64bit): New variable.
13452 (grub_cmd_xnu_kernel): Make 32-bit only.
13453 (grub_cmd_xnu_kernel64): New function.
13454 (grub_xnu_load_driver): Support Mach-O 64.
13455 (grub_cmd_xnu_mkext): Likewise.
13456 * util/grub.d/30_os-prober.in (osx_entry): New function.
13457 Generate entries for 64-bit boot too.
13458
13459 Eliminate ad-hoc tree format in XNU and EfiEmu.
13460
13461 * efiemu/main.c (grub_efiemu_prepare): Update comment.
13462 * efiemu/pnvram.c: Rewritten to use environment variables.
13463 All users updated.
13464
13465 Inline utf16_to_utf8.
13466
13467 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
13468 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
13469 All users updated.
13470 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
13471
13472 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
13473 * commands/usbtest.c (grub_usb_get_string): ... move here.
13474 (usb_print_str): Fix error handling.
13475 * include/grub/usb.h (grub_usb_get_string): Remove.
13476
13477 UTF-8 to UTF-16 transformation.
13478
13479 * conf/common.rmk (pkglib_MODULES): Add charset.mod
13480 (charset_mod_SOURCES): New variable.
13481 (charset_mod_CFLAGS): Likewise.
13482 (charset_mod_LDFLAGS): Likewise.
13483 * include/grub/utf.h: New file.
13484 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
13485
13486 Support for device properties.
13487
13488 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
13489 (grub_xnu_devprop_device_header): Likewise.
13490 (grub_xnu_devprop_device_descriptor): Likewise.
13491 (grub_xnu_devprop_add_device): New prototype.
13492 (grub_xnu_devprop_remove_device): Likewise.
13493 (grub_xnu_devprop_remove_property): Likewise.
13494 (grub_xnu_devprop_add_property_utf8): Likewise.
13495 (grub_xnu_devprop_add_property_utf16): Likewise.
13496 (grub_cpu_xnu_init): Likewise.
13497 (grub_cpu_xnu_fini): Likewise.
13498 (grub_cpu_xnu_unload): Likewise.
13499 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
13500 (property_descriptor): Likewise.
13501 (devices): New variable.
13502 (grub_xnu_devprop_remove_property): New function.
13503 (grub_xnu_devprop_add_device): Likewise.
13504 (grub_xnu_devprop_remove_device): Likewise.
13505 (grub_xnu_devprop_add_property): Likewise.
13506 (grub_xnu_devprop_add_property_utf8): Likewise.
13507 (grub_xnu_devprop_add_property_utf16): Likewise.
13508 (hextoval): Likewise.
13509 (grub_cpu_xnu_fill_devprop): Likewise.
13510 (grub_cmd_devprop_load): Likewise.
13511 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
13512 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
13513 (cmd_devprop_load): New variable.
13514 (grub_cpu_xnu_init): New function.
13515 (grub_cpu_xnu_fini): Likewise.
13516 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
13517 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
13518 (grub_cmd_xnu_devtree): Likewise.
13519 (hextoval): New function.
13520 (unescape): Likewise.
13521 (grub_xnu_fill_devicetree): Likewise.
13522
13523 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
13524 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
13525
0945f181
VS
135262009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13527
13528 Workaround for broken ATI VBE.
13529
13530 * video/i386/pc/vbe.c (last_set_mode): New variable.
13531 (grub_vbe_set_video_mode): Set 'last_set_mode'.
13532 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
13533 (grub_video_vbe_setup): Don't check for reserved flag.
13534
0ad46fd7 135352009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
13536
13537 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
13538 the `find' command.
13539
c179ebe4
VS
135402009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13541
13542 UUID support for HFS.
13543
13544 * fs/hfs.c (grub_hfs_uuid): New function.
13545 (grub_hfs_fs): New value .uuid.
13546 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
13547
0ad46fd7 135482009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
13549
13550 Fix a segfault with parsing unknown long options.
13551
13552 * util/grub-mkrelpath.c (options): Zero terminate it.
13553
c4a3e41a
CPE
135542009-12-13 Carles Pina i Estany <carles@pina.cat>
13555
13556 * include/grub/misc.h (grub_puts): New declaration.
13557 (grub_puts_): Likewise.
a22008a6 13558 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
13559 (grub_puts_): Likewise.
13560
2e8a7602
RM
135612009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13562
13563 * util/grub-probe.c (probe): Improve error message.
13564
b50b77b9
RM
135652009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13566
13567 * loader/i386/multiboot_elfxx.c
13568 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
13569 initialization.
13570
135712009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13572
13573 Relocator framework
13574
13575 * loader/i386/xnu_helper.S: Removed. All users updated.
13576 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
13577 (relocator_mod_SOURCES): New variable.
13578 (relocator_mod_CFLAGS): Likewise.
13579 (relocator_mod_LDFLAGS): Likewise.
13580 (relocator_mod_ASFLAGS): Likewise.
13581 * conf/x86_64.rmk: Likewise.
13582 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
13583 (grub_multiboot_payload_entry_offset): Likewise.
13584 (grub_multiboot_forward_relocator): Likewise.
13585 (grub_multiboot_forward_relocator_end): Likewise.
13586 (grub_multiboot_backward_relocator): Likewise.
13587 (grub_multiboot_backward_relocator_end): Likewise.
13588 (grub_multiboot_payload_eip): New variable.
13589 (grub_multiboot_payload_orig): Likewise.
13590 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
13591 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
13592 * include/grub/i386/memory.h
13593 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
13594 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
13595 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
13596 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
13597 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
13598 * include/grub/i386/relocator.h: New file.
13599 * include/grub/x86_64/relocator.h: Likewise.
13600 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
13601 (XNU_RELOCATOR): New macro.
13602 (grub_xnu_launcher_start): Remove.
13603 (grub_xnu_launcher_end): Likewise.
13604 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
13605 (grub_xnu_heap_real_start): Remove.
13606 (grub_xnu_heap_start): Change to void *. All users updated.
13607 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
13608 * lib/i386/relocator.c: New file.
13609 * lib/i386/relocator_asm.S: Likewise.
13610 * lib/i386/relocator_backward.S: Likewise.
13611 * lib/mips/relocator.c: Likewise.
13612 * lib/mips/relocator_asm.S: Likewise.
13613 * lib/relocator.c: Likewise.
13614 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
13615 (entry): Removed.
13616 (playground): Likewise.
13617 (grub_multiboot_payload_orig): New variable.
13618 (grub_multiboot_payload_dest): Likewise.
13619 (grub_multiboot_payload_size): Likewise.
13620 (grub_multiboot_payload_eip): Likewise.
13621 (grub_multiboot_payload_esp): Likewise.
13622 (grub_multiboot_boot): Use grub_relocator32_boot.
13623 (grub_multiboot_unload): Free relocators.
13624 (grub_multiboot): Setup stack. Use relocators.
13625 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
13626 (grub_multiboot_load_elfXX): Use relocators.
13627 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
13628 (grub_multiboot_payload_size): Likewise.
13629 (grub_multiboot_payload_dest): Likewise.
13630 (grub_multiboot_payload_entry_offset): Likewise.
13631 (grub_multiboot_forward_relocator): Likewise.
13632 (grub_multiboot_backward_relocator): Likewise.
13633 (grub_multiboot_real_boot): Likewise.
13634 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
13635 (grub_xnu_entry_point): Likewise.
13636 (grub_xnu_arg1): Likewise.
13637 (grub_xnu_stack): Likewise.
13638 (grub_xnu_launch): Removed.
13639 (grub_xnu_boot_resume): New function.
13640 (grub_xnu_boot): Use relocators.
13641 * loader/i386/xnu_helper.S: Removed.
13642 * loader/xnu.c (grub_xnu_heap_start): New variable.
13643 (grub_xnu_heap_size): Likewise.
13644 (grub_xnu_heap_malloc): Use relocators.
13645 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
13646
29eb90c6
VS
136472009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13648
13649 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
13650 anything.
13651
31027430
CPE
136522009-12-13 Carles Pina i Estany <carles@pina.cat>
13653
13654 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
13655 GRUB_ERR_NONE before calling grub_env_set.
13656
dc0c71d9
RM
136572009-12-12 Robert Millan <rmh@aybabtu.com>
13658
13659 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
13660 * genmk.rb (video): New variable.
13661 (CLEANFILES, VIDEOFILES): Add #{video}.
13662 (#{video}): New target rule.
13663 * genvideolist.sh: New file.
13664 * Makefile.in (pkglib_DATA): Add video.lst.
13665 (video.lst): New target rule.
13666 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
13667 `video.lst'.
13668 * util/grub.d/30_os-prober.in: Replace `vbe' with
13669 ${GRUB_VIDEO_BACKEND}.
13670
2a4bfcf0
RM
136712009-12-11 Robert Millan <rmh.grub@aybabtu.com>
13672
13673 * THANKS: Add David Miller.
13674
2a3aa4d5
RM
136752009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
13676
13677 libpciaccess support.
13678
13679 * Makefile.in (LIBPCIACCESS): New variable.
13680 (enable_grub_emu_pci): Likewise.
13681 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
13682 util/pci.c and commands/lspci.c.
13683 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
13684 * configure.ac (grub-emu-pci): New option.
13685 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
13686 (grub_pci_device_unmap_range): Likewise.
13687 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
13688 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
13689 (grub_pci_address_t) [!GRUB_UTIL]: New type.
13690 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
13691 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
13692 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
13693 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
13694 * include/grub/pciutils.h: New file.
13695 * util/pci.c: Likewise.
13696
0ad46fd7 136972009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
13698
13699 * util/misc.c: Don't include <errno.h> twice.
13700
0ad46fd7 137012009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
13702
13703 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
13704 name in an error message.
13705 (grub_biosdisk_rw): Likewise.
13706
2e59983c
VS
137072009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13708
13709 Eliminate NTFS 4Gib barrier.
13710
13711 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
13712 (read_run_data): Likewise.
13713 (grub_ntfs_read_run_list): Likewise.
13714 (grub_ntfs_read_block): Likewise.
13715 (grub_ntfs_iterate_dir): Likewise.
13716 (read_mft): Likewise.
13717 (read_data): Likewise.
13718 Use COM_LOG_LEN.
13719 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
13720 to avoid 64-bit division
13721 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
13722 (grub_ntfs_rlst): Use grub_disk_addr_t.
13723
71ee178a
VS
137242009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13725
13726 Eliminate grub-fstest 4Gib barrier.
13727
13728 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
13729 (read_file): Fix error reporting.
13730
2520d4b8
VS
137312009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13732
13733 Eliminate hexdump 4Gib barrier.
13734
13735 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
13736 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
13737
e1f27065
VS
137382009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13739
13740 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
13741 Fixes amarsh bug.
13742
1a0f7f45
RM
137432009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
13744
13745 Remove miscellaneous files in distclean target.
13746
13747 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
13748
c631d9fb
CW
137492009-12-09 Colin Watson <cjwatson@ubuntu.com>
13750
13751 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
13752 if they're already set. This resolves the conflict between my
13753 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
13754 fixing the --grub-probe option again.
13755 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
13756 change on 2009-10-06, so that we now once again source
13757 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13758
7c7b6106
RM
137592009-12-08 Robert Millan <rmh.grub@aybabtu.com>
13760
13761 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
13762 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
13763 `util/devicemap.c'.
13764
e3069ec1
CPE
137652009-12-08 Carles Pina i Estany <carles@pina.cat>
13766
13767 * include/grub/misc.h (grub_printf_): New declaration.
13768 * kern/misc.c (grub_printf_): New definition.
13769 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
13770 instead of `grub_printf' and `_'.
13771 * normal/menu_entry.c (store_completion): Likewise.
13772 (run): Likewise.
13773 (grub_menu_entry_run): Likewise.
13774 * normal/menu_text.c (grub_wait_after_message): Likewise.
13775 (notify_booting): Likewise.
13776 (notify_fallback): Likewise.
13777 (notify_execution_failure): Likewise.
13778
d6ceebf1
CW
137792009-12-07 Colin Watson <cjwatson@ubuntu.com>
13780
13781 * configure.ac: Check for vasprintf.
13782 * util/misc.c (asprintf): Move allocation from here ...
13783 (vasprintf): ... to here. New function.
13784 (xasprintf): New function.
13785 * include/grub/util/misc.h (vasprintf, xasprintf): Add
13786 prototypes.
13787 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13788 * util/grub-mkfont.c (write_font): Likewise.
13789 * util/grub-probe.c (probe): Likewise.
13790 * util/hostdisk.c (make_device_name): Likewise.
13791
de6daa8b
DM
137922009-12-06 David S. Miller <davem@sunset.davemloft.net>
13793
13794 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
13795 anything even prefixed with 'cdrom' as a cdrom.
13796
0ad46fd7 137972009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
13798
13799 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
13800 mount points.
13801
98d3dc02
CPE
138022009-12-05 Carles Pina i Estany <carles@pina.cat>
13803
13804 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
13805 grub_gettext_msg_list.
13806 (grub_gettext_gettranslation_from_position): Return const char *
13807 and not char *.
a2c1332b 13808 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
13809 returns from the list if existing there.
13810 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
13811 (grub_gettext_delete_list): Delete the list.
13812 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
13813 lang environment variable is changed.
13814 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
13815
b283f108
VS
138162009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13817
13818 Rename kernel.mod to kernel.img.
13819
13820 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
13821 (kernel_mod_EXPORTS): Rename to ...
13822 (kernel_img_EXPORTS): ... this.
13823 (kernel_mod_SOURCES): Rename to ...
13824 (kernel_img_SOURCES): ... this.
13825 (kernel_mod_HEADERS): Rename to ...
13826 (kernel_img_HEADERS): ... this. All users updated.
13827 (kernel_mod_CFLAGS): Rename to ...
13828 (kernel_img_CFLAGS): ... this.
13829 (kernel_mod_ASFLAGS): Rename to ...
13830 (kernel_img_ASFLAGS): ... this.
13831 (kernel_mod_LDFLAGS): Rename to ...
13832 (kernel_img_LDFLAGS): ... this.
13833 * conf/x86_64-efi.rmk: Likewise.
13834 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
13835 (read_kernel_image): ... this. All users updated.
13836 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
13837
69055f8a
CPE
138382009-12-05 Carles Pina i Estany <carles@pina.cat>
13839
13840 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
13841 (print_spaces): New function.
13842 (grub_print_ucs4): New function.
13843 (getstringwidth): New function.
13844 (print_message_indented): New function.
13845 (print_message): Gettexttize strings using print_message_indented.
13846 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
13847 width.
13848 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 13849 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
13850 Gettextize.
13851 * normal/menu_entry.c (store_completion): Cleanup the gettextized
13852 string.
13853 (run): Likewise.
13854 (grub_menu_entry_run): Likewise.
13855 * PO/POTFILES: Add normal/menu_entry.c.
13856
f616f51c
VS
138572009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13858
13859 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
13860
57bbe3be
CPE
138612009-12-05 Carles Pina i Estany <carles@pina.cat>
13862
13863 * util/grub-install.in: Install gettext .mo files.
13864 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
13865
013d67a1
CPE
138662009-12-05 Carles Pina i Estany <carles@pina.cat>
13867
13868 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
13869 grub_dprintf.
13870
fb954db0
RM
138712009-12-05 Robert Millan <rmh.grub@aybabtu.com>
13872
13873 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
13874 non-firmware-dependant one in realmode.S takes precedence.
13875
6b8474f8
RM
138762009-12-04 Robert Millan <rmh.grub@aybabtu.com>
13877
13878 * commands/halt.c: Replace misc arch-specific headers with
13879 `<grub/misc.h>'.
13880 * commands/reboot.c: Likewise.
13881 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
13882 `<grub/misc.h>'.
13883 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
13884 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
13885 (kernel_img_SOURCES): ... to here.
13886
13887 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
13888 * include/grub/i386/pc/init.h: Likewise.
13889 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13890 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13891
13892 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
13893
13894 * include/grub/i386/halt.h: Remove.
13895 * include/grub/i386/reboot.h: Likewise.
13896
13897 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
13898
4b2e6ca2
DM
138992009-12-03 David S. Miller <davem@sunset.davemloft.net>
13900
13901 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
13902 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
13903 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
13904 "progname.h"
13905 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13906 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13907 (usage): Add missing comma in printf.
13908
5239348f
RM
139092009-12-02 Robert Millan <rmh.grub@aybabtu.com>
13910
13911 Use the same reboot approach on i386 coreboot and qemu as we do on
13912 BIOS.
13913
13914 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
13915 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
13916 * kern/i386/reboot.c: Remove.
13917 * include/grub/i386/reboot.h (grub_reboot): Export function.
13918 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
13919 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
13920 0xf000:0xfff0 instead of 0xffff:0x0000.
13921 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
13922 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
13923
ef34cbd4
RM
139242009-11-30 Robert Millan <rmh.grub@aybabtu.com>
13925
13926 Fix $srcdir != $objdir build.
13927
13928 * Makefile.in (po/%.po): Rewrite as ...
13929 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
13930
dc9837ea
ST
139312009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
13932
13933 Fix GNU/Hurd grub-install crash.
13934 * util/grub-probe.c (probe): Try to access `path' only when it is not
13935 NULL.
13936
2f857f98
VS
139372009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 Correct module naming.
13940
13941 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13942 (GRUB_MOD_INIT(efi_uga)): ... to this
13943 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13944 (GRUB_MOD_FINI(efi_uga)): ... to this
13945 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13946 (GRUB_MOD_INIT(efi_gop)): ... to this
13947 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13948 (GRUB_MOD_FINI(efi_gop)): ... to this
13949
c5448046
RM
139502009-11-28 Robert Millan <rmh.grub@aybabtu.com>
13951
13952 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
13953 translatable.
13954 (usage): Translate `arg' strings using gettext().
13955 Thanks to Jordi Mallach for the suggestion.
13956
c85184ad
VS
139572009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13958
13959 GOP support. Based on patch from Bean
13960 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13961
13962 * video/efi_gop.c: New file.
13963 * include/grub/efi/graphics_output.h: Likewise.
13964 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
13965 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13966 variables.
13967 * conf/x86_64-efi.rmk: Likewise.
13968
8a4c48d8
VS
139692009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 Rename efi_fb to efi_uga.
13972
13973 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13974 'efi_uga.mod'.
13975 (efi_fb_mod_SOURCES): Rename this ...
13976 (efi_uga_mod_SOURCES): ... to this.
13977 (efi_fb_mod_CFLAGS): Rename this ...
13978 (efi_uga_mod_CFLAGS): ... to this.
13979 (efi_fb_mod_LDFLAGS): Rename this ...
13980 (efi_uga_mod_LDFLAGS): ... to this.
13981 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13982 'efi_uga.mod'.
13983 (efi_fb_mod_SOURCES): Rename this ...
13984 (efi_uga_mod_SOURCES): ... to this.
13985 (efi_fb_mod_CFLAGS): Rename this ...
13986 (efi_uga_mod_CFLAGS): ... to this.
13987 (efi_fb_mod_LDFLAGS): Rename this ...
13988 (efi_uga_mod_LDFLAGS): ... to this.
13989 * video/efi_fb.c: Move this ...
13990 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
13991
fb6c1a7b
RM
139922009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13993
13994 * po/README: New file. Explain our PO file workflow.
13995
3bc7896c
RM
139962009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13997
13998 * po/ChangeLog: Remove. Move relevant entries back to ...
13999 * ChangeLog: ... here.
14000 * po/ca.po: Remove (now handled by TLP).
14001 * po/id.po: Likewise.
14002 * po/zh_CN.po: Likewise.
14003 * Makefile.in (LINGUAS): Initialize in a way that supports
14004 empty set.
14005
9ed4841d
RM
140062009-11-27 Robert Millan <rmh.grub@aybabtu.com>
14007
14008 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
14009 reliing on po/LINGUAS.
14010 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
14011 (po/%.po): ... this.
14012
0ad46fd7 140132009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
14014
14015 * util/i386/efi/grub-mkimage.c: Include "progname.h".
14016 (main): Use `program_name' instead of nonexistent `progname'.
14017
e30dd392
FZ
140182009-11-26 Felix Zielcke <fzielcke@z-51.de>
14019
14020 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14021 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
14022
7656de4f
RM
140232009-11-26 Robert Millan <rmh.grub@aybabtu.com>
14024
14025 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
14026 commit.
14027 * conf/i386-efi.rmk: Likewise.
14028 * conf/i386-ieee1275.rmk: Likewise.
14029 * conf/powerpc-ieee1275.rmk: Likewise.
14030 * conf/sparc64-ieee1275.rmk: Likewise.
14031 * conf/x86_64-efi.rmk: Likewise.
14032
db77c4d4
FZ
140332009-11-26 Felix Zielcke <fzielcke@z-51.de>
14034
14035 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
14036
a755bb04
FZ
140372009-11-26 Felix Zielcke <fzielcke@z-51.de>
14038
14039 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
14040
8a4c07fd
RM
140412009-11-26 Robert Millan <rmh.grub@aybabtu.com>
14042
14043 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
14044 (grub_mkdevicemap_SOURCES): New variable.
14045 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
14046 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
14047 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
14048 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
14049 (grub_mkdevicemap_SOURCES): Remove.
14050 * conf/i386-efi.rmk: Likewise.
14051 * conf/i386-ieee1275.rmk: Likewise.
14052 * conf/i386-pc.rmk: Likewise.
14053 * conf/powerpc-ieee1275.rmk: Likewise.
14054 * conf/sparc64-ieee1275.rmk: Likewise.
14055 * conf/x86_64-efi.rmk: Likewise.
14056 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
14057 (usage): Fix strings to use `program_name'.
14058 (main): Initialize gettext.
14059 * util/grub-editenv.c: Likewise.
14060 * util/grub-emu.c: Likewise.
14061 * util/grub-fstest.c: Likewise.
14062 * util/grub-mkdevicemap.c: Likewise.
14063 * util/grub-mkfont.c: Likewise.
14064 * util/grub-mkrelpath.c: Likewise.
14065 * util/grub-pe2elf.c: Likewise.
14066 * util/grub-probe.c: Likewise.
14067 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
14068 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
14069 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14070
14071 * util/misc.c: Include `"progname.h"'.
14072 (progname): Remove variable.
14073 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
14074
6f61ed55
FZ
140752009-11-25 Felix Zielcke <fzielcke@z-51.de>
14076
14077 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
14078 printf and print a newline after the menuentry header line.
14079 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14080
f022876b
FZ
140812009-11-25 Felix Zielcke <fzielcke@z-51.de>
14082
14083 autoconf >= 2.60 support $(localedir).
14084
14085 * INSTALL: Note that autoconf 2.60 is required.
14086 * configure.ac (AC_PREREQ): Bump to 2.60.
14087 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
14088 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14089
6717926e
YB
140902009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
14091
14092 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
14093 aclocal is run.
14094
08806a54
RM
140952009-11-25 Robert Millan <rmh.grub@aybabtu.com>
14096
14097 * normal/main.c (grub_normal_read_line): Fix off-by-one
14098 buffer overflow.
14099
13b33fba
RM
141002009-11-25 Robert Millan <rmh.grub@aybabtu.com>
14101
14102 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
14103 "parser.grub" in grub_command_execute() call.
14104
4a8572e9
CPE
141052009-11-24 Carles Pina i Estany <carles@pina.cat>
14106
14107 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
14108 * conf/i386-efi.rmk: Likewise.
14109 * conf/i386-ieee1275.rmk: Likewise.
14110 * conf/i386-pc.rmk: Likewise.
14111 * conf/powerpc-ieee1275.rmk: Likewise.
14112 * conf/sparc64-ieee1275.rmk: Likewise.
14113 * conf/x86_64-efi.rmk: Likewise.
14114 * gettext/gettex.c: Include <grub/i18n.h>.
14115 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
14116 here ...
14117 * include/grub/i18n.h: ... to here
14118 * include/grub/i18n.h: ... to here.
14119 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 14120 (grub_gettext_dummy): Move above user.
4a8572e9 14121
bee48093
FZ
141222009-11-24 Felix Zielcke <fzielcke@z-51.de>
14123
14124 * util/Makefile.in (install-local): Convert a `for' into a normal
14125 shell expansion.
14126
a031e91c
RM
141272009-11-24 Robert Millan <rmh.grub@aybabtu.com>
14128
14129 * autogen.sh: Add automake call.
14130 * config.guess: Remove.
14131 * config.sub: Likewise.
14132 * install-sh: Likewise.
14133
26bec39d
FZ
141342009-11-24 Felix Zielcke <fzielcke@z-51.de>
14135
14136 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
14137
8e2532fd
FZ
141382009-11-24 Felix Zielcke <fzielcke@z-51.de>
14139
14140 * util/Makefile.in (install-local): Convert a make `$(foreach)'
14141 function to a normal shell `for'.
14142
fefa1b7d
FZ
141432009-11-24 Felix Zielcke <fzielcke@z-51.de>
14144
14145 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14146
4501250b
FZ
141472009-11-24 Felix Zielcke <fzielcke@z-51.de>
14148
14149 * util/grub-mkrelpath.c: New file.
14150 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
14151 (grub_mkrelpath_SOURCES): New variable.
14152 * include/grub/util/misc.h: New function prototype.
14153 * util/misc.c (make_system_path_relative_to_its_root): New function.
14154
14155 * util/grub-mkconfig_lib.in (bindir): New variable.
14156 (grub_mkrelpath): Likewise.
14157 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
14158
14159 * util/probe.c (probe): Make the file path relative to its root.
14160 Change a info message to use the GRUB path. Enable again the
14161 check if we can read the file with GRUB facilities.
14162
14163 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
14164 to its root.
14165
11d9778b
FZ
141662009-11-24 Felix Zielcke <fzielcke@z-51.de>
14167
14168 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
14169 platform.
14170
4465287d
FZ
141712009-11-24 Felix Zielcke <fzielcke@z-51.de>
14172
14173 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
14174 strncmp().
14175
62b47f22
FZ
141762009-11-24 Felix Zielcke <fzielcke@z-51.de>
14177
14178 * util/getroot.c (grub_util_is_dmraid): New function.
14179 (grub_util_get_dev_abstraction): Treat dmraid and multipath
14180 devices as normal ones, not as LVM.
14181
1eafb9b9 141822009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
14183
14184 * conf/common.rmk: Add grub-gettext_lib target and updates
14185 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
14186 LDFLAGS.
14187 * gettext/gettext.c: New file. (Reads mo files).
14188 * include/grub/file.h (grub_file_pread): New prototype.
14189 * include/grub/i18n.h (_): New prototype.
14190 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
14191 prototypes.
14192 * kern/misc.c (grub_gettext_dummy): New function.
14193 * normal/menu_text.c: Include <grub/i18n.h>.
14194 * normal/menu_text.c (print_timeout): Gettexttize string.
14195 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
14196 * po/POTFILES: Add `normal/menu_text.c'.
14197 * po/ca.po: Add new translations.
c3ea6bd4
CPE
14198 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
14199 gettext module and defines locale_dir and lang in grub.cfg.
14200 * NEWS: Add gettext support.
14201
0fdb2568
RM
142022009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14203
14204 * util/hostdisk.c: Include `<grub/i18n.h>'.
14205 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
14206 (make_device_name): Rewrite using asprintf.
14207 (convert_system_partition_to_system_disk): Replace 0 with NULL.
14208 (find_system_device): If a device is not found, generate one just
14209 by reusing the OS path name.
14210 (read_device_map): Make it permissible for device.map not to exist.
14211
f515aa62
RM
142122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14213
14214 * script/sh/execute.c: Move from here ...
14215 * script/execute.c: ... to here. Update all users.
14216 * script/sh/function.c: Move from here ...
14217 * script/function.c: ... to here. Update all users.
14218 * script/sh/lexer.c: Move from here ...
14219 * script/lexer.c: ... to here. Update all users.
14220 * script/sh/main.c: Move from here ...
14221 * script/main.c: ... to here. Update all users.
14222 * script/sh/parser.y: Move from here ...
14223 * script/parser.y: ... to here. Update all users.
14224 * script/sh/script.c: Move from here ...
14225 * script/script.c: ... to here. Update all users.
14226
f84b481b
RM
142272009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14228
14229 * configure.ac: Detect all `emu' platforms. Define
14230 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
14231 --enable-grub-emu logic. Disable include/grub/machine
14232 symlink on `emu' platforms.
14233
14234 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
14235 * gensymlist.sh.in: Likewise.
14236
14237 * include/grub/i386/coreboot/machine.h: Remove file.
14238 * include/grub/i386/efi/machine.h: Likewise.
14239 * include/grub/i386/ieee1275/machine.h: Likewise.
14240 * include/grub/i386/pc/machine.h: Likewise.
14241 * include/grub/i386/qemu/machine.h: Likewise.
14242 * include/grub/powerpc/ieee1275/machine.h: Likewise.
14243 * include/grub/sparc64/ieee1275/machine.h: Likewise.
14244 * include/grub/x86_64/efi/machine.h: Likewise.
14245
14246 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
14247 * commands/halt.c: Likewise.
14248 * commands/reboot.c: Likewise.
14249 * include/grub/autoefi.h: Likewise.
14250 * include/grub/i386/at_keyboard.h: Likewise.
14251 * include/grub/i386/kernel.h: Likewise.
14252 * include/grub/i386/loader.h: Likewise.
14253 * include/grub/i386/pc/memory.h: Likewise.
14254 * kern/dl.c: Likewise.
14255 * kern/i386/coreboot/init.c: Likewise.
14256 * loader/i386/bsd.c: Likewise.
14257 * loader/i386/linux.c: Likewise.
14258 * loader/multiboot_loader.c: Likewise.
14259 * term/i386/pc/serial.c: Likewise.
14260 * term/usb_keyboard.c: Likewise.
14261
14262 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
14263 `<grub/machine/machine.h>'
14264 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
14265 * util/misc.c: Remove `<grub/machine/machine.h>' and
14266 `<grub/machine/time.h>'.
14267
14268 * Makefile.in (enable_grub_emu): Remove variable.
14269 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
14270
14271 * conf/any-emu.rmk: New file.
14272 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
14273 (grub_emu_init.c): Move from here ...
14274 * conf/any-emu.rmk: ... to here.
14275
14276 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
14277 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
14278 * conf/any-emu.rmk: ... to here.
14279
4efeab03
RM
142802009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14281
14282 * include/grub/parser.h (grub_parser_register): Document need
14283 of `name' parameter.
14284 * normal/main.c (grub_normal_read_line): Simplify prompt string.
14285 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
14286 "sh" to "grub".
14287
ea1dd8bf
RM
142882009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14289
14290 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
14291 `$(XGETTEXT)'.
14292 * include/grub/i18n.h (N_): New macro.
14293 * util/mkisofs/mkisofs.h: Likewise.
14294 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
14295 around N_().
14296 (usage): Use gettext() to translate help strings when printing them.
14297
0c140626
RM
142982009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14299
14300 Based on patch from Bean
14301 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
14302
14303 * video/efi_fb.c: New file.
14304 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
14305 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
14306 variables.
14307 * conf/x86_64-efi.rmk: Likewise.
14308
87d58298
RM
143092009-11-22 Robert Millan <rmh.grub@aybabtu.com>
14310
14311 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
14312 * util/i386/pc/grub-setup.c: Likewise.
14313
994cc3a3
ST
143142009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14315
14316 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
14317 <hurd/fs.h>
14318 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
14319 file_get_storage_info to implement grub_guess_root_device.
14320
26a61d6a
FZ
143212009-11-21 Felix Zielcke <fzielcke@z-51.de>
14322
14323 * Makefile.in (target): Use make's builtin $(shell) function
14324 instead of calling directly $(SHELL) to create the locale directories,
14325 inside the $(foreach) function.
14326
74ff1dd5
FZ
143272009-11-21 Felix Zielcke <fzielcke@z-51.de>
14328
14329 * util/grub-mkrescue.in: Print an error and usage if output option
14330 has not been given.
14331
0b787d0e
FZ
143322009-11-21 Felix Zielcke <fzielcke@z-51.de>
14333
14334 Patch from Loïc Minier <loic.minier@ubuntu.com>.
14335 * util/grub.d/30_os-prober.in: Cope with Linux entries where
14336 root and /boot are on different devices.
14337
1164b270
RM
143382009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14339
14340 Fix build for srcdir != objdir.
14341
14342 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
14343 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
14344 $(srcdir).
14345 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
14346 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
14347 reference for input.
14348
13774a2f
RM
143492009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14350
14351 * util/grub-mkrescue.in: Use source directory direcly (without copiing
14352 or hardlinking it). Remove -J option, Joliet is not compatible with
14353 multiple source directories.
14354
efda854e
RM
143552009-11-21 Carles Pina i Estany <carles@pina.cat>
143562009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14357
14358 * util/grub-mkrescue.in: Recognize `--override-directory' option.
14359 (process_input_dir): New function. Process an arbitrary input
14360 directory.
14361 Misc adjustments to support both "override mode" and system-wide mode.
14362
6c09890c
FZ
143632009-11-20 Felix Zielcke <fzielcke@z-51.de>
14364
14365 * configure.ac (UNIFONT_BDF): Rename to ...
14366 (FONT_SOURCE): ... this. Update all users.
14367
a797824f
FZ
143682009-11-20 Felix Zielcke <fzielcke@z-51.de>
14369
14370 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
14371 to the list of unifont files to look for.
14372
cd4f42b0
RM
143732009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14374
14375 Patch from Joe Auricchio <jauricchio@gmail.com>
14376 * commands/minicmd.c (grub_mini_cmd_clear): New function.
14377 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
14378 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
14379
393c783d
FZ
143802009-11-19 Felix Zielcke <fzielcke@z-51.de>
14381
14382 * Makefile.in (install-local): Add a missing backslash.
14383
b2f1e327
FZ
143842009-11-19 Felix Zielcke <fzielcke@z-51.de>
14385
14386 * include/grub/x86_64/io.h: New file.
14387
f577f7a0
RM
143882009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14389
14390 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
14391 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
14392 Include `"progname.h"'.
14393 (main): Initialize gettext.
14394 * util/i386/pc/grub-setup.c: Gettexttize.
14395 * util/i386/pc/grub-mkimage.c: Likewise.
14396
14397 * Makefile.in (po/*.po): Redefine as ...
14398 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
14399
3bc7896c
RM
14400 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
14401
c37943b6
RM
144022009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14403
14404 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
14405 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
14406 (program_name): Remove.
14407 (main): Initialize gettext support.
6323f705
RM
14408 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
14409 Include `<libintl.h>'.
14410 (_): New macro.
c37943b6
RM
14411
14412 * util/mkisofs/eltorito.c: Gettexttize.
14413 * util/mkisofs/joliet.c: Likewise.
14414 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
14415 * util/mkisofs/multi.c: Likewise.
14416 * util/mkisofs/rock.c: Likewise.
14417 * util/mkisofs/tree.c: Likewise.
14418 * util/mkisofs/write.c: Likewise.
14419
3bc7896c
RM
14420 * po/POTFILES: Update with new files.
14421
5ce77c6e
RM
144222009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14423
14424 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
14425 * util/mkisofs/iso9660.h: Likewise.
14426 * util/mkisofs/joliet.c: Likewise.
14427 * util/mkisofs/mkisofs.c: Likewise.
14428 * util/mkisofs/mkisofs.h: Likewise.
14429 * util/mkisofs/rock.c: Likewise.
14430 * util/mkisofs/tree.c: Likewise.
14431 * util/mkisofs/write.c: Likewise.
14432
14433 * util/mkisofs/eltorito.c (rcsid): Remove.
14434 * util/mkisofs/hash.c: Likewise.
14435 * util/mkisofs/joliet.c: Likewise.
14436 * util/mkisofs/name.c: Likewise.
14437 * util/mkisofs/rock.c: Likewise.
14438 * util/mkisofs/tree.c: Likewise.
14439 * util/mkisofs/write.c: Likewise.
14440
1dabbc77
RM
144412009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14442
14443 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
14444 instead of static allocation.
14445 * util/mkisofs/match.h: Likewise.
14446
633877cb
RM
144472009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14448
3bc7896c
RM
14449 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
14450 and `util/grub.d/10_linux.in'.
633877cb
RM
14451 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
14452 translatable Shell files.
14453
af1c0c85
RM
144542009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14455
14456 * Makefile.in ($(srcdir)/aclocal.m4): New target.
14457
769ae37b
RM
144582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14459
14460 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 14461 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
14462 * util/grub.d/10_kfreebsd.in (bindir): New variable.
14463 Add gettext initialization.
14464 (kfreebsd_entry): Make menuentry output translatable.
14465
144662009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14467
14468 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
14469 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
14470 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
14471 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
14472 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 14473 * po/LINGUAS: New file.
769ae37b
RM
14474
144752009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14476
14477 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
14478 other things).
14479 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
14480 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
14481 bindtextdomain() calls for gettext initialization.
14482
144832009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14484
14485 * gnulib/progname.c: New file (imported from Gnulib).
14486 * gnulib/progname.h: Likewise.
14487 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14488 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
14489 (usage): Replace `progname' with `program_name'.
14490 (main): Use set_program_name() for program name initialization.
14491
144922009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14493
14494 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
14495 from here ...
14496 * Makefile.in (CPPFLAGS): ... to here.
14497
144982009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14499
14500 * aclocal.m4: Move from here ...
14501 * acinclude.m4: ... to here.
14502 * autogen.sh: Add call to `aclocal'.
14503 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
14504
145052009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14506
14507 * Makefile.in (CLEANFILES): Add `po/*.mo'.
14508 (LINGUAS): New variable.
14509 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
14510 (install-local): Install MO files.
14511 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
14512 * include/grub/i18n.h: New file.
3bc7896c
RM
14513 * po/POTFILES: New file.
14514 * po/ca.po: New file.
769ae37b
RM
14515 * util/grub.d/10_linux.in (bindir): New variable.
14516 Add gettext initialization.
14517 (linux_entry): Make menuentry output translatable.
14518 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
14519 (usage): Make --help output translatable.
14520 (main): Initialize gettext.
14521
02c0a6ad
RM
145222009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14523
14524 * import_gcry.py: New file (written by Vladimir with minor
14525 adjustments).
14526 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
14527 ciphers.
14528 * INSTALL: Document that Python is required for bootstrap.
14529
145302009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14531
14532 Import ciphers from libgcrypt 1.4.4.
14533
14534 * lib/libgcrypt/cipher/ChangeLog
14535 * lib/libgcrypt/cipher/ac.c
14536 * lib/libgcrypt/cipher/arcfour.c
14537 * lib/libgcrypt/cipher/bithelp.h
14538 * lib/libgcrypt/cipher/blowfish.c
14539 * lib/libgcrypt/cipher/camellia-glue.c
14540 * lib/libgcrypt/cipher/camellia.c
14541 * lib/libgcrypt/cipher/camellia.h
14542 * lib/libgcrypt/cipher/cast5.c
14543 * lib/libgcrypt/cipher/cipher.c
14544 * lib/libgcrypt/cipher/crc.c
14545 * lib/libgcrypt/cipher/des.c
14546 * lib/libgcrypt/cipher/dsa.c
14547 * lib/libgcrypt/cipher/ecc.c
14548 * lib/libgcrypt/cipher/elgamal.c
14549 * lib/libgcrypt/cipher/hash-common.c
14550 * lib/libgcrypt/cipher/hash-common.h
14551 * lib/libgcrypt/cipher/hmac-tests.c
14552 * lib/libgcrypt/cipher/md.c
14553 * lib/libgcrypt/cipher/md4.c
14554 * lib/libgcrypt/cipher/md5.c
14555 * lib/libgcrypt/cipher/primegen.c
14556 * lib/libgcrypt/cipher/pubkey.c
14557 * lib/libgcrypt/cipher/rfc2268.c
14558 * lib/libgcrypt/cipher/rijndael-tables.h
14559 * lib/libgcrypt/cipher/rijndael.c
14560 * lib/libgcrypt/cipher/rmd.h
14561 * lib/libgcrypt/cipher/rmd160.c
14562 * lib/libgcrypt/cipher/rsa.c
14563 * lib/libgcrypt/cipher/seed.c
14564 * lib/libgcrypt/cipher/serpent.c
14565 * lib/libgcrypt/cipher/sha1.c
14566 * lib/libgcrypt/cipher/sha256.c
14567 * lib/libgcrypt/cipher/sha512.c
14568 * lib/libgcrypt/cipher/tiger.c
14569 * lib/libgcrypt/cipher/twofish.c
14570 * lib/libgcrypt/cipher/whirlpool.c
14571
af2f93ac
RM
145722009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14573
14574 Fix build for systems without error().
14575
14576 * gnulib/error.c: New file (imported from Gnulib).
14577 * gnulib/error.h: Likewise.
14578 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
14579 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
14580 (this variable is now used by error()).
14581
73fb3dd5
FZ
145822009-11-16 Felix Zielcke <fzielcke@z-51.de>
14583
814f5e96
FZ
14584 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
14585 instead of relying that char is signed.
73fb3dd5 14586
a691ca33
VS
145872009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14588
14589 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
14590 blocksize different from specified.
14591 (grub_pxefs_read): Likewise.
14592
2af8f0f4
FZ
145932009-11-16 Felix Zielcke <fzielcke@z-51.de>
14594
14595 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
14596
14597 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
14598 (grub_ata_readwrite): Likewise. Update 2 format strings.
14599 (grub_atapi_read): Likewise.
14600
14601 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
14602 * conf/i386.rmk (pkglib_MODULES): ... to here ...
14603 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
14604 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
14605 (ata_mod_LDFLAGS): Move from here ...
14606 * conf/i386.rmk: ... to here ...
14607 * conf/x86_64-efi.rmk: ... and here.
14608 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
14609 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
14610
83bdecaf
RM
146112009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14612
14613 Relicense multiboot.h, with RMS' blessing.
14614
14615 * include/multiboot.h: Change to X11 license.
14616
fd6fd3d7
RM
146172009-11-15 Robert Millan <rmh.grub@aybabtu.com>
14618
14619 Support --version in grub-mkisofs.
14620
14621 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
14622 (OPTION_VERSION): New macro.
14623 (ld_options): Recognize --version.
14624 (usage): Move `program_name' from here ...
14625 (program_name): ... to here. Add `static' qualifier.
14626 (main): Recognize `OPTION_VERSION'.
14627
16a88c49
FZ
146282009-11-15 Felix Zielcke <fzielcke@z-51.de>
14629
14630 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
14631 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
14632
a4158476
RM
146332009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14634
14635 Fix help2man generation for mkisofs.
14636
14637 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
14638 (usage): Send output to stdout (rather than stderr).
14639
fc2208b0
RM
146402009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14641
14642 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
14643 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14644 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
14645 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14646 (bin_SCRIPTS): Add `grub-mkfloppy'.
14647 (grub_mkfloppy_SOURCES): New variable.
14648
14649 * util/grub-mkrescue.in: New file.
14650 * util/i386/pc/grub-mkfloppy.in: New file.
14651
14652 * util/i386/coreboot/grub-mkrescue.in: Remove.
14653 * util/i386/pc/grub-mkrescue.in: Remove.
14654
8d0edf4a
RM
146552009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14656
14657 * include/grub/multiboot.h (struct grub_multiboot_header): Move
14658 from here ...
14659 * include/multiboot.h (struct multiboot_header): ... to here. Update
14660 all users.
14661 * include/grub/multiboot.h (struct grub_multiboot_info): Move
14662 from here ...
14663 * include/multiboot.h (struct multiboot_info): ... to here. Update
14664 all users.
14665 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
14666 from here ...
14667 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
14668 Update all users.
14669 * include/grub/multiboot.h (struct grub_mod_list): Move
14670 from here ...
14671 * include/multiboot.h (struct multiboot_mod_list): ... to here.
14672 Update all users.
14673
a73f5969
RM
146742009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14675
14676 * include/multiboot2.h (multiboot_word): Rename from this ...
14677 (multiboot2_word): ... to this. Update all users.
14678 (multiboot_header): Rename from this ...
14679 (multiboot2_header): ... to this. Update all users.
14680 (multiboot_tag_header): Rename from this ...
14681 (multiboot2_tag_header): ... to this. Update all users.
14682 (multiboot_tag_start): Rename from this ...
14683 (multiboot2_tag_start): ... to this. Update all users.
14684 (multiboot_tag_name): Rename from this ...
14685 (multiboot2_tag_name): ... to this. Update all users.
14686 (multiboot_tag_module): Rename from this ...
14687 (multiboot2_tag_module): ... to this. Update all users.
14688 (multiboot_tag_memory): Rename from this ...
14689 (multiboot2_tag_memory): ... to this. Update all users.
14690 (multiboot_tag_unused): Rename from this ...
14691 (multiboot2_tag_unused): ... to this. Update all users.
14692 (multiboot_tag_end): Rename from this ...
14693 (multiboot2_tag_end): ... to this. Update all users.
14694
1c8927f0
RM
146952009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14696
14697 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
14698 this platform we should support Multiboot1 first.
14699
14700 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14701 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
14702 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
14703
6e1e0d89
RM
147042009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14705
14706 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
14707 of write calls (converting them to fwrite() if they aren't already).
14708 (get_torito_desc): Likewise.
14709 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
14710
7f2b34d8
RM
147112009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14712
14713 * util/i386/pc/grub-install.in: Move from here ...
14714 * util/grub-install.in: ... to here. Update all users.
14715
c0ef3311
CW
147162009-11-11 Colin Watson <cjwatson@ubuntu.com>
14717
14718 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
14719
e1f240ff
RM
147202009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14721
14722 Support for El Torito without floppy emulation.
14723
14724 * util/mkisofs/eltorito.c: Include `<errno.h>'.
14725 (init_boot_catalog): Improve error handling.
14726 (get_torito_desc): Don't use floppy emulation unless requested by
14727 user. Patch boot information table when requested via
14728 `-boot-info-table'.
14729 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
14730 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
14731 (use_boot_info_table): New variables.
14732 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
14733 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
14734 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
14735 `--eltorito-emul-floppy'.
14736 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
14737 and `OPTION_ELTORITO_EMUL_FLOPPY'.
14738 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
14739 (use_boot_info_table, get_731): New prototypes.
14740 * util/mkisofs/write.c (get_731): New function.
14741
af7d4de5
FZ
147422009-11-11 Felix Zielcke <fzielcke@z-51.de>
14743
14744 Fix the generation of the man page.
14745
14746 * util/pc/i386/grub-install.in: Source
14747 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14748
2c55dbc0
RM
147492009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14750
14751 Large file support for grub-mkisofs.
14752
14753 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
14754 * util/mkisofs/mkisofs.c (next_extent, last_extent)
14755 (session_start): Upgrade type to `uint64_t'. Update all users.
14756 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
14757 (struct directory_entry): Upgrade type of `starting_block' and
14758 `size' to `uint64_t'. Update all users.
14759 (struct deferred): Remove unused structure.
14760 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
14761 Update all users.
14762 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
14763 file is larger than `UINT32_MAX'.
14764 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
14765 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
14766 return value.
14767 (struct deferred_write): Upgrade type of `extent' and `size' to
14768 `uint64_t'. Update all users.
14769 (last_extent_written): Upgrade type to `uint64_t'. Update all
14770 users.
14771 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
14772 Update all users. Upgrade type of `remain' to `int64_t' and
14773 `use' to `size_t'. Use error() to handle fread() errors.
14774 (write_files): Rely on write_one_file() rather than calling
14775 xfwrite() directly.
14776
6a9cead5
FZ
147772009-11-09 Felix Zielcke <fzielcke@z-51.de>
14778
14779 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
14780
4825d790
RM
147812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14782
14783 * util/mkisofs/fnmatch.c: Remove.
14784 * util/mkisofs/getopt1.c: Likewise.
14785 * util/mkisofs/getopt.c: Likewise.
14786 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
14787 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
14788 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
14789 `gnulib/getopt1.c' and `gnulib/getopt.c'.
14790 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
14791
14792 * configure.ac: Detect `mingw32msvc' host_os.
14793 Check for lstat(), getuid() and getgid().
14794
14795 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
14796 instances of `u_char' with `uint8_t'.
14797
14798 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
14799 [!HAVE_GETUID] (getuid): New function (stub).
14800 [!HAVE_GETGID] (getgid): Likewise.
14801 [!HAVE_LSTAT] (lstat): Likewise.
14802 [!S_IROTH] (S_IROTH): New macro (dummy).
14803 [!S_IRGRP] (S_IRGRP): Likewise.
14804
84b860d8
RM
148052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14806
14807 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
14808 conditional expression).
14809
66e9b712
RM
148102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14811
14812 Import from Gnulib.
14813
14814 * gnulib/fnmatch.c: New file.
14815 * gnulib/fnmatch.h: Likewise.
14816 * gnulib/fnmatch_loop.c: Likewise.
14817 * gnulib/getopt.c: Likewise.
14818 * gnulib/getopt.h: Likewise.
14819 * gnulib/getopt1.c: Likewise.
14820 * gnulib/getopt_int.h: Likewise.
14821 * gnulib/gettext.h: Likewise.
14822
34f4a5b0
RM
148232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14824
14825 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
14826 * normal/handler.c (read_handler_list): Likewise.
14827
ac451143
RM
148282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14829
14830 Misc cleanup.
14831
14832 * kern/command.c (grub_register_command_prio): Use
14833 grub_zalloc() instead of explicitly zeroing data.
14834 * kern/list.c: Include `<grub/mm.h>'.
14835 (grub_named_list_find): Replace `0' with `NULL'.
14836 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
14837 (fs_module_list): Change type to `grub_named_list_t'. Update all
14838 users.
14839 * normal/dyncmd.c (read_command_list): Add space between function
14840 call and parenthesis.
14841 * normal/handler.c (read_handler_list): Likewise.
14842
4089b167
RM
148432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14844
14845 * normal/auth.c (punishment_delay): Moved from here ...
14846 (grub_auth_strcmp): ... to here (inside function).
14847
325f5037
RM
148482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14849
14850 * include/grub/list.h (struct grub_named_list): Remove `const'
14851 qualifier from `name'.
14852 (struct grub_prio_list): Likewise.
14853
7aea29a3
RM
148542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14855
14856 * normal/auth.c: Include `<grub/time.h>'.
14857 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
14858
3fd6f044
RM
148592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14860
14861 * normal/auth.c (punishment_delay): New variable.
14862 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
14863 (grub_auth_check_authentication): Punish failed login attempts with
14864 an incremental (2^N) delay.
14865
a4cd68e4
RM
148662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14867
14868 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
14869 path with $(srcdir).
14870
7ad12f43
VS
148712009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14872
14873 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
14874
c1129f03
RM
148752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14876
14877 * util/i386/coreboot/grub-mkrescue.in: New file.
14878 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
14879 variables.
14880
14881 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
14882 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
14883 * configure.ac: Add header and function checks to satisfy grub-mkisofs
14884 requirements.
14885 * util/mkisofs/defaults.h: New file.
14886 * util/mkisofs/eltorito.c: Likewise.
14887 * util/mkisofs/exclude.h: Likewise.
14888 * util/mkisofs/fnmatch.c: Likewise.
14889 * util/mkisofs/getopt.c: Likewise.
14890 * util/mkisofs/getopt1.c: Likewise.
14891 * util/mkisofs/hash.c: Likewise.
14892 * util/mkisofs/include/fctldefs.h: Likewise.
14893 * util/mkisofs/include/mconfig.h: Likewise.
14894 * util/mkisofs/include/prototyp.h: Likewise.
14895 * util/mkisofs/include/statdefs.h: Likewise.
14896 * util/mkisofs/iso9660.h: Likewise.
14897 * util/mkisofs/joliet.c: Likewise.
14898 * util/mkisofs/match.c: Likewise.
14899 * util/mkisofs/match.h: Likewise.
14900 * util/mkisofs/mkisofs.c: Likewise.
14901 * util/mkisofs/mkisofs.h: Likewise.
14902 * util/mkisofs/multi.c: Likewise.
14903 * util/mkisofs/name.c: Likewise.
14904 * util/mkisofs/rock.c: Likewise.
14905 * util/mkisofs/tree.c: Likewise.
14906 * util/mkisofs/write.c: Likewise.
14907
ec8bb77d
VS
149082009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14909
14910 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
14911 being insecure.
14912
3716b12c
RM
149132009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14914
14915 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
14916 `grub-mkimage' (and use $0 when possible).
14917
b97b7b91
RM
149182009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14919
14920 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
14921 error message for excessively large memory map.
14922
04114812
RM
149232009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14924
14925 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
14926 executable bit.
14927
e4eb2373
RM
149282009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14929
14930 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
14931 message for coreboot users.
14932
c926e1d5 149332009-11-07 Robert Millan <rmh.grub@aybabtu.com>
14934
14935 Fix build with GNU gold.
14936
14937 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
14938 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
14939 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
14940 link addresses.
14941 * aclocal.m4: Likewise.
14942
86e5b1db 149432009-11-04 Felix Zielcke <fzielcke@z-51.de>
14944
14945 * configure.ac (AC_PREREQ): Bump to 2.59d.
14946 * INSTALL: Make it more clear when Autoconf and Ruby are
14947 needed and when to run `./autogen.sh'.
14948
246cd78f 149492009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
14950
14951 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
14952 OSes.
14953
4f9dfb37 149542009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14955
14956 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
14957
b82bd5e1 149582009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14959
14960 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
14961 giving it to GNU Mach.
14962
ff1a9bca 149632009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14964
14965 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
14966 GNU partition number to get internal GRUB partition number.
14967
61697d9c 149682009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14969
14970 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
14971 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
14972
a50569e1 149732009-11-01 Robert Millan <rmh.grub@aybabtu.com>
14974
14975 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
14976 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
14977 case.
14978
5b153867 149792009-11-01 Felix Zielcke <fzielcke@z-51.de>
14980
14981 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
14982
d9e2cd70 149832009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14984
14985 Fix build problem.
14986
14987 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
14988 `-isystem=$(srcdir)/include'.
14989
805111a4 149902009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14991
14992 * util/i386/pc/grub-install.in: Remove hint that device.map should be
14993 checked (grub-install doesn't currently rely on it).
14994
fa6e945f 149952009-10-29 Robert Millan <rmh.grub@aybabtu.com>
14996
14997 Revert SVN r2660.
14998
14999 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
15000 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
15001 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
15002 * conf/i386-ieee1275.rmk: Likewise.
15003 * conf/i386-pc.rmk: Likewise.
15004 * conf/powerpc-ieee1275.rmk: Likewise.
15005 * conf/sparc64-ieee1275.rmk: Likewise.
15006 * conf/x86_64-efi.rmk: Likewise.
15007
cee15086 150082009-10-28 Robert Millan <rmh.grub@aybabtu.com>
15009
15010 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
15011
95b9239e 150122009-10-28 Robert Millan <rmh.grub@aybabtu.com>
15013
15014 * include/grub/misc.h: Stop checking for APPLE_CC.
15015
2ed19dfd 150162009-10-28 Robert Millan <rmh.grub@aybabtu.com>
15017
15018 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
15019 doesn't cause an infinite call loop.
15020
fdcdde19 150212009-10-28 Felix Zielcke <fzielcke@z-51.de>
15022
15023 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
15024 strings.
15025
cefabfe1 150262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15027
15028 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
15029 variable.
15030 * Makefile.in: Likewise.
15031
ed96ab6d 150322009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15033
15034 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
15035
0579b753 150362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15037
15038 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
15039
478df409 150402009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15041
15042 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
15043
083d1679 150442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15045
15046 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
15047 from here ...
15048 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
15049
5947ae32 150502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15051
15052 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
15053 in $(MAKEINFO) invocation. This makes it clear in output that
15054 errors are being ignored.
15055
94180ff6 150562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15057
15058 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
15059 from here ...
15060 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
15061 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
15062 * conf/i386-ieee1275.rmk: Likewise.
15063 * conf/i386-pc.rmk: Likewise.
15064 * conf/powerpc-ieee1275.rmk: Likewise.
15065 * conf/sparc64-ieee1275.rmk: Likewise.
15066 * conf/x86_64-efi.rmk: Likewise.
15067
9031b03a 150682009-10-26 Colin Watson <cjwatson@ubuntu.com>
15069
15070 * util/grub-editenv.c (main): If only a command is given, use
15071 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
15072 (usage): FILENAME is now optional and has a default.
15073
e4f6809b 150742009-10-26 Colin Watson <cjwatson@ubuntu.com>
15075
15076 Improve grub-mkconfig performance when there are several menu
15077 entries on a single filesystem.
15078
15079 * util/grub.d/10_linux.in (linux_entry): Cache the output of
15080 prepare_grub_to_access_device.
15081 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
15082 * util/grub.d/30_os-prober.in: Likewise.
15083
67937d4d 150842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15085
15086 * util/grub.d/10_freebsd.in: Remove.
15087 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
15088 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
15089
ee3756cc 150902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15091
5c35048e 15092 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 15093
4dea1c6f 150942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15095
15096 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
15097 grub_util_error() call.
15098
042484d7 150992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15100
15101 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
15102 `reserved_first_sector' member.
15103 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
15104 `reserved_first_sector' to 1.
15105 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
15106 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
15107 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
15108 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
15109 filesystems which begin at first sector.
15110 (options): New option --skip-fs-probe.
15111 (main): Handle --skip-fs-probe and pass it to setup().
15112
d64448a7 151132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15114
15115 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
15116 (memset): Fix function prototype.
15117
508d42ec 151182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
151192009-10-25 Vasily Averin <vvs@parallels.com>
15120
15121 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
15122 `dirent.direntlen == 0'.
15123
b240e30c 151242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15125
15126 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
15127 `cpio'.
15128 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
15129
346e7fbe 151302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15131
15132 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
15133 `__trampoline_setup' and `__ucmpdi2'.
15134 * include/grub/powerpc/libgcc.h: Only export symbols for functions
15135 that libgcc provides.
15136
cdb308b0 151372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15138
15139 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
15140 * include/grub/sparc64/libgcc.h (memset): Likewise.
15141 * include/grub/misc.h (memset, memcmp): New function prototypes.
15142
fb26abc2 151432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15144
15145 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
15146 `cpio'.
15147 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
15148
f6693890 151492009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15150
15151 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
15152 * docs/grub.cfg: Compensate for recent change in multiboot
15153 loader (since 2009-08-14 it won't pass filename to payload).
15154 * util/grub.d/10_hurd.in: Likewise.
15155
0933cdc0 151562009-10-21 Felix Zielcke <fzielcke@z-51.de>
15157
15158 * config.guess: Update to latest version from config git
15159 repository.
15160 * config.sub: Likewise.
15161
3b2fe8c2 151622009-10-20 Robert Millan <rmh.grub@aybabtu.com>
15163
15164 Fix build on sparc64.
15165
15166 * configure.ac: Perform checks for libgcc symbols before
15167 adding `-nostdlib' to LDFLAGS.
15168
46695a62 151692009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15170
15171 Let user specify OpenBSD root device.
15172
15173 * loader/i386/bsd.c (openbsd_root): New variable.
15174 (openbsd_opts): New option 'root'.
15175 (OPENBSD_ROOT_ARG): New macro.
15176 (grub_openbsd_boot): Use 'openbsd_root'.
15177 (grub_cmd_openbsd): Fill 'openbsd_root'.
15178
d2b6b7fc 151792009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15180
15181 * NEWS: Misc adjustments.
15182
421bd7ac 151832009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15184
15185 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
15186
f1d29d87 151872009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15188
15189 * configure.ac: Bump version to 1.97.
15190
6f3cd880 151912009-10-16 Colin Watson <cjwatson@ubuntu.com>
15192
15193 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
15194 -mno-3dnow on x86 architectures. Some toolchains enable these
15195 features by default, but they rely on registers that aren't enabled
15196 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
15197
035f7122 151982009-10-15 Robert Millan <rmh.grub@aybabtu.com>
15199
15200 Make entry text a bit more readable.
15201
15202 * util/grub.d/10_linux.in: Add `with' before `Linux'.
15203
44998e58 152042009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15205
15206 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
15207
cd2851b3 152082009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15209
15210 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
15211 operations.
15212
c6f3b249 152132009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15214
15215 * configure.ac: Add missing dollar.
15216
6b5886ba 152172009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15218
15219 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
15220
15221 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
15222 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
15223 exports.
15224 * include/grub/sparc64/libgcc.h: Likewise. Use
15225 preprocessor conditionals.
15226
e9d66f6d 152272009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15228
15229 * conf/common.rmk (grub-dumpbios): Remove rule.
15230 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
15231 * util/grub-dumpbios.in: Remove file.
15232
9155bc17 152332009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15234
15235 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
15236 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
15237
15238 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
15239 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
15240 users.
15241
15242 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
15243 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
15244 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
15245 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
15246 users.
15247
bf7f7a18 152482009-10-12 Robert Millan <rmh.grub@aybabtu.com>
15249
15250 * term/tparm.c: Switch to GPLv3.
15251
86564c26 152522009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15253
15254 * include/grub/i386/cpuid.h: Add header protection.
15255
5c936493 152562009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15257
15258 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
15259
15260 * include/grub/i386/cpuid.h: New file.
15261 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
15262 (has_longmode): Rename to ...
15263 (grub_cpuid_has_longmode): ... this. Update all users. Remove
15264 `static' attribute.
15265 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
15266 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
15267 on a CPU that doesn't implement AMD64 instruction set.
15268
186e7cf2 152692009-10-06 Colin Watson <cjwatson@ubuntu.com>
15270
15271 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
15272 that version.texi is rebuilt on version number changes.
15273
83b65c4a 152742009-10-06 Colin Watson <cjwatson@ubuntu.com>
15275
15276 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
15277 Fixes bug #27602.
15278
d244281c 152792009-10-06 Colin Watson <cjwatson@ubuntu.com>
15280
15281 * util/i386/pc/grub-install.in: Source
15282 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
15283 that the --grub-probe option will work.
15284 * util/sparc64/ieee1275/grub-install.in: Likewise.
15285
da25306d 152862009-10-05 Robert Millan <rmh.grub@aybabtu.com>
15287
15288 * configure.ac: Bump version to 1.97~beta4.
15289
e8ee83c0 152902009-10-03 Robert Millan <rmh.grub@aybabtu.com>
15291
15292 Resync grub-mkdevicemap in x86_64-efi.
15293
15294 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
15295 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
15296 `util/devicemap.c'.
15297
50dcabcf 152982009-10-01 Colin Watson <cjwatson@ubuntu.com>
15299
15300 * util/grub-editenv.c (create_envblk_file): Write new block with a
15301 .new suffix and then rename it into place, to ensure atomic
15302 creation.
15303
0e51c3a7 153042009-09-28 Robert Millan <rmh.grub@aybabtu.com>
15305
15306 Do not automatically install headers.
15307
15308 * Makefile.in (include_DATA): Remove. Update all users.
15309
31299a95 153102009-09-26 Robert Millan <rmh.grub@aybabtu.com>
15311
15312 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
15313 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
15314
15315 * util/osdetect.lua: Remove.
15316 * script/lua/lauxlib.c: Likewise.
15317 * script/lua/ldebug.c: Likewise.
15318 * script/lua/grub_main.c: Likewise.
15319 * script/lua/lauxlib.h: Likewise.
15320 * script/lua/ldebug.h: Likewise.
15321 * script/lua/ltablib.c: Likewise.
15322 * script/lua/liolib.c: Likewise.
15323 * script/lua/lstrlib.c: Likewise.
15324 * script/lua/lualib.h: Likewise.
15325 * script/lua/ldo.c: Likewise.
15326 * script/lua/ldump.c: Likewise.
15327 * script/lua/ldo.h: Likewise.
15328 * script/lua/loslib.c: Likewise.
15329 * script/lua/lundump.c: Likewise.
15330 * script/lua/grub_lib.c: Likewise.
15331 * script/lua/ldblib.c: Likewise.
15332 * script/lua/lundump.h: Likewise.
15333 * script/lua/lmem.c: Likewise.
15334 * script/lua/grub_lib.h: Likewise.
15335 * script/lua/lmathlib.c: Likewise.
15336 * script/lua/lstate.c: Likewise.
15337 * script/lua/ltm.c: Likewise.
15338 * script/lua/lvm.c: Likewise.
15339 * script/lua/lmem.h: Likewise.
15340 * script/lua/lstate.h: Likewise.
15341 * script/lua/ltm.h: Likewise.
15342 * script/lua/ltable.c: Likewise.
15343 * script/lua/lvm.h: Likewise.
15344 * script/lua/llex.c: Likewise.
15345 * script/lua/lgc.c: Likewise.
15346 * script/lua/grub_lua.h: Likewise.
15347 * script/lua/loadlib.c: Likewise.
15348 * script/lua/lfunc.c: Likewise.
15349 * script/lua/lopcodes.c: Likewise.
15350 * script/lua/lparser.c: Likewise.
15351 * script/lua/ltable.h: Likewise.
15352 * script/lua/llex.h: Likewise.
15353 * script/lua/lgc.h: Likewise.
15354 * script/lua/lfunc.h: Likewise.
15355 * script/lua/lbaselib.c: Likewise.
15356 * script/lua/lopcodes.h: Likewise.
15357 * script/lua/lparser.h: Likewise.
15358 * script/lua/lzio.c: Likewise.
15359 * script/lua/linit.c: Likewise.
15360 * script/lua/lobject.c: Likewise.
15361 * script/lua/llimits.h: Likewise.
15362 * script/lua/lstring.c: Likewise.
15363 * script/lua/lzio.h: Likewise.
15364 * script/lua/lapi.c: Likewise.
15365 * script/lua/lcode.c: Likewise.
15366 * script/lua/lua.h: Likewise.
15367 * script/lua/lobject.h: Likewise.
15368 * script/lua/lstring.h: Likewise.
15369 * script/lua/lapi.h: Likewise.
15370 * script/lua/lcode.h: Likewise.
15371 * script/lua/luaconf.h: Likewise.
15372
cb8a2c38 153732009-09-26 Colin Watson <cjwatson@ubuntu.com>
15374
15375 * docs/grub.texi (Command-line and menu entry commands): Document
15376 date and echo commands.
15377
6b9b6276 153782009-09-24 Pavel Roskin <proski@gnu.org>
15379
15380 * include/grub/kernel.h (struct grub_module_header): Remove
15381 `grub_module_header_types'. Make `type' unsigned. Make `size'
15382 32-bit on all platforms.
15383 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
15384 8-bit field. Use grub_host_to_target32() for `size'.
15385 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
15386 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
15387 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
15388
4e5a02a7 153892009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15390
15391 Fix "lost keypress" bug in at_keyboard.
15392
15393 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
15394 Checks for readyness of input buffer (without flushing it).
15395 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
15396 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
15397
c6dcedf6 153982009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15399
15400 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
15401 size check within GRUB_MACHINE_PCBIOS section.
15402
74c958b1 154032009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15404
15405 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
15406 return value.
15407 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
15408 KEYBOARD_ISREADY check.
15409 (grub_at_keyboard_checkkey): Rename to ...
15410 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
15411 Remove gratuitous cast.
15412
ff420223 154132009-09-23 Colin Watson <cjwatson@ubuntu.com>
15414
15415 * configure.ac: Call AC_PROG_MKDIR_P.
15416 * Makefile.in (docs/stamp-vti): Create docs directory. Create
15417 version.texi in $(builddir) rather than $(srcdir).
15418 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
15419 to makeinfo's @include search path.
15420
d96875df 154212009-09-23 Felix Zielcke <fzielcke@z-51.de>
15422
15423 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
15424
9b3f8365 154252009-09-23 Felix Zielcke <fzielcke@z-51.de>
15426
15427 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
15428 for `*.dpkg-new'.
15429
c44c90db 154302009-09-21 Colin Watson <cjwatson@ubuntu.com>
15431
15432 Build info documentation. Some code borrowed from Automake.
15433
15434 * configure.ac: Check for makeinfo.
15435 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
15436 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
15437 docs/version.texi.
15438 (MOSTLYCLEANFILES): Add vti.tmp.
15439 (docs/version.texi, docs/stamp-vti): Update automatically.
15440 (docs/grub.info): Build info documentation. Use --force and ignore
15441 errors for now.
15442 (all-local): Add $(INFOS).
15443 (install-local): Install info files.
15444 (uninstall): Uninstall info files.
15445 * docs/version.texi: Remove from revision control. This file is
15446 automatically generated on build now.
15447 * gendistlist.sh: Add `*.info'.
15448
e0b37bb5 154492009-09-21 Felix Zielcke <fzielcke@z-51.de>
15450
15451 * kern/term.c: Fix indentation.
15452
5a78865b 154532009-09-21 Felix Zielcke <fzielcke@z-51.de>
15454
15455 * util/hostdisk.c: Fix a comment.
15456
dace7e8a 154572009-09-20 Robert Millan <rmh.grub@aybabtu.com>
15458
15459 Fix regression introduced in r2539.
15460
15461 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
15462 to 0xA1.
15463
a83d079b 154642009-09-19 Colin Watson <cjwatson@ubuntu.com>
15465
15466 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 15467 os-prober. Under normal operation, it does not print anything to
15468 stderr; if it does, we need to debug it, and throwing away stderr
15469 makes that excessively difficult.
a83d079b 15470
be94a509 154712009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
15472
15473 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
15474
63f745e8 154752009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15476
15477 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
15478 AC_LANG_PROGRAM from autoconf.
15479 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
15480 prototypes (fixes warning).
15481
15482 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
15483 `--disable-werror' was used.
15484
bbb2a70f 154852009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15486
15487 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
15488 uninitialized `lastaddr'.
15489
77c24f1d 154902009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15491
0f0b8c87 15492 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 15493
07197f23 154942009-09-14 Colin Watson <cjwatson@ubuntu.com>
15495
15496 * commands/test.c (get_fileinfo): Return immediately if
15497 grub_fs_probe fails.
15498
dabf1798 154992009-09-14 José Martínez <xosemp@gmail.com>
15500
15501 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
15502
d52109a7 155032009-09-14 Colin Watson <cjwatson@ubuntu.com>
15504
15505 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
15506 output.
15507
56532179 155082009-09-13 Robert Millan <rmh.grub@aybabtu.com>
15509
15510 * configure.ac: Remove --enable-grub-pe2elf. Only build
15511 grub-pe2elf when needed by the build system itself.
15512 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
15513
8ef070f5 155142009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15515
15516 * configure.ac: Bump version to 1.97~beta3.
15517 * docs/version.texi: Likewise.
15518
61229557 155192009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15520
15521 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
15522 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
15523 from here ...
15524 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
15525 (grub_linux_setup_video): ... to here (with some adjustments).
15526
5c9f8d84 155272009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15528
15529 Fix memory corruption issue (spotted by Colin Watson).
15530
15531 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
15532 causing returned size to be stored in an incorrect memory location.
15533 Fix use of uninitialized value when storing the returned size.
15534
e8f5d6e9 155352009-09-12 Yves Blusseau <blusseau@zetam.org>
15536
15537 Change clean rules to properly remove files
15538
15539 * genmk.rb: add new clean rules
15540 * Makefile.in (clean): add the new targets
15541 (mostlyclean): likewise
15542
cda2a409 155432009-09-11 Colin Watson <cjwatson@ubuntu.com>
15544
15545 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
15546 to grub_uint64_t.
15547 * fs/ntfs.c (init_file): Understand 64-bit sizes for
15548 non-resident files.
15549
86695375 155502009-09-11 Colin Watson <cjwatson@ubuntu.com>
15551
15552 * configure.ac: Don't look for help2man when cross-compiling. Fixes
15553 part of bug #27349.
15554
8aa1541a 155552009-09-10 Felix Zielcke <fzielcke@z-51.de>
15556
15557 * util/grub-mkconfig.in: Make the created config mode 400 and
15558 print a warning if it fails.
15559
48d9bb0a 155602009-09-10 Robert Millan <rmh.grub@aybabtu.com>
15561
15562 * util/grub.d/40_custom.in: Ask user to type custom entries below
15563 comment, rather than below 'exec tail' line.
15564
3b0521be 155652009-09-10 Colin Watson <cjwatson@ubuntu.com>
15566
15567 * util/grub.d/40_custom.in: Make sure that the explanatory text is
15568 visible in grub.cfg.
15569
50051d55 155702009-09-10 Colin Watson <cjwatson@ubuntu.com>
15571
15572 * util/grub.d/40_custom.in: Make it a little clearer how to use this
15573 file.
15574
c0d34387 155752009-09-10 Felix Zielcke <fzielcke@z-51.de>
15576
15577 * docs/grub.cfg: Add an example menu entry for memtest86+.
15578
80a608f3 155792009-09-09 Felix Zielcke <fzielcke@z-51.de>
15580
a2094832 15581 * config.guess: Update to latest version from config git.
80a608f3 15582 * config.sub: Likewise.
15583
99423078 155842009-09-08 Colin Watson <cjwatson@ubuntu.com>
15585
15586 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
15587 unknown-command case. Fixes bug #27320.
15588
44454e4c 155892009-09-08 Felix Zielcke <fzielcke@z-51.de>
15590
15591 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
15592 `help' if the command exists.
15593
e30d87ad 155942009-09-06 Robert Millan <rmh.grub@aybabtu.com>
15595
15596 * INSTALL: Require GCC 4.1.3 or later.
15597
9a86f1ec 155982009-09-06 Yves Blusseau <blusseau@zetam.org>
15599
15600 * Makefile.in (RMKFILES): add i386-qemu.rmk
15601 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
15602 $(srcdir)/stamp-h.in
15603
7f26d466 156042009-09-05 Robert Millan <rmh.grub@aybabtu.com>
15605
15606 * util/grub-probe.c (probe): Comment out buggy codepath, which
15607 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
15608 should be re-enabled after 1.97.
15609
3a613259 156102009-09-05 Felix Zielcke <fzielcke@z-51.de>
15611
15612 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
15613 find searches for.
15614
197f76c7 156152009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15616
15617 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
15618 unnecessary calls to grub_error.
15619
70ba68ce 156202009-09-04 Colin Watson <cjwatson@ubuntu.com>
15621
15622 * NEWS: Mention `keystatus' and Unicode fonts.
15623
4ff0d7a4 156242009-09-04 Robert Millan <rmh.grub@aybabtu.com>
15625
15626 * configure.ac: Bump version to 1.97~beta2.
15627 * docs/version.texi: Likewise.
15628
77c55a87 156292009-09-03 Colin Watson <cjwatson@ubuntu.com>
15630
15631 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
15632 containing unwind information in some cases where it previously did
15633 not. Use -fno-dwarf2-cfi-asm if available to restore the old
15634 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
15635 discussion.
15636
f79572cd 156372009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
15638
15639 Embedding loadenv module into grub-emu
15640
15641 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
15642 commands/loadenv.c
15643 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
15644 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
15645 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
15646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
15647 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
15648 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
15649
93a81088 156502009-09-03 Magnus Granberg <zorry@ume.nu>
15651
15652 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
15653 include -fPIE in the default specs.
15654 * configure.ac: Check if pie_possible is yes and add -fno-PIE
15655 to TARGET_CFLAGS.
15656
160034b2 156572009-09-03 Felix Zielcke <fzielcke@z-51.de>
15658
15659 * INSTALL: Note that GNU Bison 2.3 or later is required.
15660
087c07c4 156612009-09-03 Colin Watson <cjwatson@ubuntu.com>
15662
15663 * kern/i386/pc/startup.S: Fix typo.
15664
cbf978c0 156652009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15666
15667 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
15668 according to GCS.
15669
156702009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 15671
15672 * docs/grub.texi (Naming convention): Describe one-based partition
15673 numbering.
15674 (Device syntax): Likewise.
15675 (File name syntax): Likewise.
15676 (Block list syntax): Likewise.
15677 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
15678 menu.lst.
15679 (File name syntax): Likewise.
15680 (Command-line and menu entry commands): Document acpi, blocklist,
15681 crc, export, insmod, keystatus, ls, set, and unset commands.
15682
f3e8cdfd 156832009-09-02 Colin Watson <cjwatson@ubuntu.com>
15684
15685 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
15686 to avoid implying that only one of --shift, --ctrl, or --alt may be
15687 used.
15688
c0bc232b 156892009-09-02 Colin Watson <cjwatson@ubuntu.com>
15690
15691 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
15692 rather than comparing against S_IFREG, which will almost never work.
15693
aa0f752d 156942009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15695
15696 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
15697 (write_blocklists): Likewise.
15698
ecb3166a 156992009-09-01 Colin Watson <cjwatson@ubuntu.com>
15700
15701 * script/lua/grub_lua.h (fputs): Supply a format string as the first
15702 argument to grub_printf.
15703
c403a125 157042009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 15705
15706 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 15707 non GNU test.
31aba781 15708
b5e7312c 157092009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15710
15711 * kern/file.c (grub_file_read): Spelling fix
15712
fe00f472 157132009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15714
15715 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
15716 loading of headers in some cases.
15717
cc55302e 157182009-08-30 Robert Millan <rmh.grub@aybabtu.com>
15719
15720 * configure.ac: Bump version to 1.97~beta1.
15721 * docs/version.texi: Likewise.
15722
5c90cdd2 157232009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 15724
15725 * include/grub/i386/xnu.h: Add license header.
15726 include grub/err.h explicitly.
15727
c90edae4 157282009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15729
15730 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
15731 to `ufs' in the vfs.root.mountfrom kernel parameter.
15732
d8888b5c 157332009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15734
15735 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
15736
15737 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
15738 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
15739
15740 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
15741 `ARRAY_SIZE' macro.
15742
6f07b921 157432009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 * kern/file.c (grub_file_read): Check offset.
15746 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
15747 * fs/jfs.c (grub_jfs_read_file): Likewise.
15748 * fs/ntfs.c (grub_ntfs_read): Likewise.
15749 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
15750 * fs/minix.c (grub_minix_read_file): Correct offset check.
15751 * fs/ufs.c (grub_ufs_read_file): Likewise.
15752
b4f34077 157532009-08-28 Colin Watson <cjwatson@ubuntu.com>
15754
15755 * term/i386/pc/console.c (bios_data_area): Cast
15756 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
15757
e7c69859 157582009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 1-bit optimised blitters.
15761
15762 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
15763 prototype.
15764 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15765 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15766 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15767 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15768 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15769 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15770 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
15771 function.
15772 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15773 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15774 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15775 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15776 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15777 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15778 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
15779 when possible.
15780 * video/video.c (grub_video_get_blit_format): Return
15781 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
15782
a57da43f 157832009-08-28 Colin Watson <cjwatson@ubuntu.com>
15784
15785 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
15786 the first argument to grub_printf.
15787
4cbe67e5 157882009-08-28 Colin Watson <cjwatson@ubuntu.com>
157892009-08-28 Robert Millan <rmh.grub@aybabtu.com>
15790
15791 Add `getkeystatus' terminal method. Add a new `keystatus' command
15792 to query it.
15793
15794 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
15795 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
15796 modifier key bitmasks.
15797 (struct grub_term_input): Add `getkeystatus' member.
15798 (grub_getkeystatus): Add prototype.
15799 * kern/term.c (grub_getkeystatus): New function.
15800
15801 * include/grub/i386/pc/memory.h
15802 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
15803 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
15804 Data Area layout.
15805 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
15806 (grub_console_term_input): Set `getkeystatus' member.
15807 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
15808 constants.
15809 (grub_usb_keyboard_getreport): Likewise.
15810 (grub_usb_keyboard_checkkey): Likewise.
15811 (grub_usb_keyboard_getkeystatus): New function.
15812 (grub_usb_keyboard_term): Set `getkeystatus' member.
15813
15814 * commands/keystatus.c: New file.
15815 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
15816 (keystatus_mod_SOURCES): New variable.
15817 (keystatus_mod_CFLAGS): Likewise.
15818 (keystatus_mod_LDFLAGS): Likewise.
15819 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
15820 commands/keystatus.c.
15821 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15822 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15823 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15824 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15825 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15826 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 15827
6e2a9085 158282009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15829
15830 Split befs.mod and afs.mod into *_be.mod and *.mod
15831
15832 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
15833 (grub_fstest_SOURCES): Likewise.
15834 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
15835 (afs_be_mod_SOURCES): New variable.
15836 (afs_be_mod_CFLAGS): Likewise.
15837 (afs_be_mod_LDFLAGS): Likewise.
15838 (befs_be_mod_SOURCES): Likewise.
15839 (befs_be_mod_CFLAGS): Likewise.
15840 (befs_be_mod_LDFLAGS): Likewise.
15841 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
15842 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15843 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15844 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15845 (grub_emu_SOURCES): Likewise.
15846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15847 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15848 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15849 * fs/afs_be.c: New file.
15850 * fs/befs_be.c: New file.
15851 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
15852 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
15853 (U16): Replaced with ...
15854 (grub_afs_to_cpu16): ...this. All users updated.
15855 (U32): Replaced with ...
15856 (grub_afs_to_cpu32): ...this. All users updated.
15857 (U64): Replaced with ...
15858 (grub_afs_to_cpu64): ...this. All users updated.
15859 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
15860 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 15861 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 15862 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15863 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15864 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15865 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15866 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15867 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15868 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15869 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15870
32a71655 158712009-08-26 Bean <bean123ch@gmail.com>
15872
15873 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
15874 64-bit number.
15875 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15876 (grub_xfs_inode_block): Change return type to grub_uint64_t.
15877 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
15878
552bf6c5 158792009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 NetBSD memory map support.
15882
15883 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
15884 (grub_netbsd_btinfo_mmap_header): New structure.
15885 (grub_netbsd_btinfo_mmap_entry): Likewise.
15886 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
15887
1ae2078c 158882009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 Enable bsd.mod on coreboot.
15891
15892 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
15893 (bsd_mod_SOURCES): New variable.
15894 (bsd_mod_CFLAGS): Likewise.
15895 (bsd_mod_LDFLAGS): Likewise.
15896 (bsd_mod_ASFLAGS): Likewise.
15897 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
15898 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
15899
beefc598 159002009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15901
15902 Cleanup NetBSD root support.
15903
15904 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
15905 grub_bsd_get_device.
15906 Fix typo.
15907
3b76e68b 159082009-08-25 Felix Zielcke <fzielcke@z-51.de>
15909
15910 * util/grub.d/00_header.in: Move check for the video backend of
15911 gfxterm from here ...
15912 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
15913 a suitable video backend.
15914
aea664ea 159152009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15916
15917 Fix breakage in grub-setup.
15918
15919 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
15920 "msdos_partition_map".
15921
ff747d50 159222009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15923
15924 Fix breakage in normal/auth.c.
15925
15926 * normal/auth.c (grub_iswordseparator): New function.
15927
e7e1f93f 159282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 Authentication support.
15931
15932 * commands/password.c: New file.
15933 * conf/common.rmk (pkglib_MODULES): Add password.mod.
15934 (password_mod_SOURCES): New variable.
15935 (password_mod_CFLAGS): Likewise.
15936 (password_mod_LDFLAGS): Likewise.
15937 (normal_mod_SOURCES): Add normal/auth.c.
15938 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
15939 normal/auth.c.
15940 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15941 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15942 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15944 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15945 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15946 * include/grub/auth.h: New file.
15947 * include/grub/err.h (grub_err_t): New enum value
15948 GRUB_ERR_ACCESS_DENIED.
15949 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
15950 'users'.
15951 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
15952 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
15953 users updated.
15954 * normal/auth.c: New file.
15955 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
15956 (grub_cmdline_run): Don't allow to go to command line without
15957 authentication.
15958 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
15959 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
15960 menuentry without superuser rights.
15961 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
15962 user isn't a superuser.
15963
70f1161d 159642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15965
15966 Save space by inlining misc.c functions.
15967
15968 * kern/misc.c (grub_iswordseparator): Made static.
15969 * kern/misc.c (grub_strcat): Moved from here ...
15970 * include/grub/misc.h (grub_strcat): ... here. Inlined.
15971 * kern/misc.c (grub_strncat): Moved from here ...
15972 * include/grub/misc.h (grub_strncat): ... here. Inlined.
15973 * kern/misc.c (grub_strcasecmp): Moved from here ...
15974 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
15975 * kern/misc.c (grub_strncasecmp): Moved from here ...
15976 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
15977 * kern/misc.c (grub_isalpha): Moved from here ...
15978 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
15979 * kern/misc.c (grub_isdigit): Moved from here ...
15980 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
15981 * kern/misc.c (grub_isgraph): Moved from here ...
15982 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
15983 * kern/misc.c (grub_tolower): Moved from here ...
15984 * include/grub/misc.h (grub_tolower): ... here. Inlined.
15985
48e40bff 159862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15987
15988 * script/sh/function.c (grub_script_function_find): Cut error message
15989 not to flood terminal.
15990 * script/sh/lexer.c (grub_script_yylex): Remove command line length
15991 limit.
15992 * script/sh/script.c (grub_script_arg_add): Duplicate string.
15993
c385bfc3 159942009-08-24 Colin Watson <cjwatson@ubuntu.com>
15995
15996 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
15997 `report' grub_uint8_t *.
15998 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
15999 Use a 50-millisecond timeout rather than just repeating
16000 grub_usb_keyboard_getreport 50 times.
16001 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
16002
2d21e3e8 160032009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16004
16005 Rename *_partition_map to part_*
16006
16007 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
16008 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
16009 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
16010 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
16011 All users updated.
16012 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
16013 All users updated.
16014 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
16015 * util/grub-probe.c (probe_partmap): Don't transform partition name
16016 to get module name.
16017
dd103c4e 160182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16019
16020 Fix OpenBSD and NetBSD support.
16021
16022 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
16023 memory address conflict.
16024 (OPENBSD_MMAP_ACPI): New definition.
16025 (OPENBSD_MMAP_NVS): Likewise.
16026 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
16027 and OPENBSD_MMAP_NVS.
16028 Add memory map terminator
16029 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 16030 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 16031
16c84d74 160322009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16033
16034 Let user specify NetBSD root device.
16035
16036 * loader/i386/bsd.c (netbsd_root): New variable.
16037 (netbsd_opts): New option 'root'.
16038 (NETBSD_ROOT_ARG): New macro.
16039 (grub_netbsd_boot): Use 'netbsd_root'.
16040 (grub_bsd_unload): Free 'netbsd_root'.
16041 (grub_cmd_netbsd): Fill 'netbsd_root'.
16042
adb29902 160432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16044
16045 Support for 64-bit NetBSD.
16046
16047 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
16048 point when booting non-FreeBSD.
16049
f5ae9f74 160502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16051
16052 Support --no-smp and --no-acpi for NetBSD.
16053
16054 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
16055 (NETBSD_AB_NOACPI): Likewise.
16056 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
16057 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
16058
de74f136 160592009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16060
16061 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
16062 errors.
16063 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
16064 errors. Call grub_error when needed.
16065
e9a925da 160662009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16067
16068 * commands/search.c (search_fs): Try searching without autoload first.
16069 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16070 filesystem module explicitly for faster booting.
16071
5174302b 160722009-08-23 Colin Watson <cjwatson@ubuntu.com>
16073
16074 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
16075
c8c80635 160762009-08-23 Colin Watson <cjwatson@ubuntu.com>
16077
16078 * util/grub.d/30_os-prober.in: Disable os-prober if
16079 `GRUB_DISABLE_OS_PROBER' was set to true.
16080
71acf5e5 160812009-08-23 Robert Millan <rmh.grub@aybabtu.com>
16082
16083 * partmap/pc.c: Rename to ...
16084 * partmap/msdos.c: ... this. Update all users.
16085 (grub_pc_partition_map): Rename to ...
16086 (grub_msdos_partition_map): ... this. Update all users.
16087
16088 * parttool/pcpart.c: Rename to ...
16089 * parttool/msdospart.c: ... this. Update all users.
16090
16091 * include/grub/pc_partition.h: Rename to ...
16092 * include/grub/msdos_partition.h: ... this. Update all users.
16093 (grub_pc_partition_bsd_entry): Rename to ...
16094 (grub_msdos_partition_bsd_entry): ... this. Update all users.
16095 (grub_pc_partition_disk_label): Rename to ...
16096 (grub_msdos_partition_disk_label): ... this. Update all users.
16097 (grub_pc_partition_entry): Rename to ...
16098 (grub_msdos_partition_entry): ... this. Update all users.
16099 (grub_pc_partition_mbr): Rename to ...
16100 (grub_msdos_partition_mbr): ... this. Update all users.
16101 (grub_pc_partition): Rename to ...
16102 (grub_msdos_partition): ... this. Update all users.
16103 (grub_pc_partition_is_empty): Rename to ...
16104 (grub_msdos_partition_is_empty): ... this. Update all users.
16105 (grub_pc_partition_is_extended): Rename to ...
16106 (grub_msdos_partition_is_extended): ... this. Update all users.
16107 (grub_pc_partition_is_bsd): Rename to ...
16108 (grub_msdos_partition_is_bsd): ... this. Update all users.
16109
16110 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
16111 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
16112 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
16113 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
16114 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
16115 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
16116 (gpt_mod_LDFLAGS): Rename to ...
16117 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
16118 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
16119 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
16120 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
16121 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
16122 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
16123 (part_gpt_mod_LDFLAGS): ... this.
16124 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
16125 `pcpart.mod' to `msdospart.mod'.
16126 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
16127 to ...
16128 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
16129 (msdospart_mod_LDFLAGS): ... this.
16130
c11fded5 161312009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16132
16133 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
16134 (openbsd_opts): Likewise.
16135 (netbsd_opts): Likewise.
16136 (freebsd_flags): Added 0 terminator.
16137 (openbsd_flags): Likewise.
16138 (netbsd_flags): Likewise.
16139 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
16140 (grub_cmd_freebsd): Transformed into extended command.
16141 (grub_cmd_openbsd): Likewise.
16142 (grub_cmd_netbsd): Likewise.
16143 (cmd_freebsd): Changed type to grub_extcmd_t.
16144 (cmd_openbsd): Likewise.
16145 (cmd_netbsd): Likewise.
16146 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
16147 grub_cmd_openbsd as extended commands.
16148 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
16149 cmd_netbsd and cmd_openbsd
16150
11d1c769 161512009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16152
16153 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
16154
7a9094e5 161552009-08-21 Pavel Roskin <proski@gnu.org>
16156
5496c37e 16157 * Makefile.in (install-local): When checking if a file is in the
16158 build directory, use "test -e" to detect symlinks.
16159
7a9094e5 16160 * Makefile.in (install-local): Remove all files in
16161 $(DESTDIR)$(pkglibdir) before installing new files there.
16162
e53cea11 161632009-08-18 Felix Zielcke <fzielcke@z-51.de>
16164
16165 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
16166 grub-mkelfimage.
16167
9aced544 161682009-08-18 Felix Zielcke <fzielcke@z-51.de>
16169
16170 * util/grub-mkconfig.in: Don't use gfxterm by default if not
16171 explicitly specified by the user.
16172
b7da6bab 161732009-08-18 Pavel Roskin <proski@gnu.org>
16174
16175 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
16176 grub_uint8_t pointer for data.
16177 * include/grub/fbutil.h (struct grub_video_fbblit_info):
16178 Likewise.
16179 * video/fb/fbutil.c: Remove unnecessary casts.
16180
19f1b335 161812009-08-17 Michal Suchanek <hramrach@centrum.cz>
16182
16183 VBE cleanup.
16184
16185 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
16186 (grub_vbe_set_video_mode): Save active mode info
16187 only after setting the mode.
16188 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
16189 second argument.
16190
2f467aa9 161912009-08-17 Michal Suchanek <hramrach@centrum.cz>
16192
16193 Rename variables for clarity.
16194
16195 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
16196 (active_vbe_mode_info): ... this. All users updated.
16197 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
16198 All users updated.
16199 (initial_mode): Rename to ...
16200 (initial_vbe_mode): ... this. All users updated.
16201 (mode_in_use): Rename to ..
16202 (vbe_mode_in_use): ... this. All users updated.
16203 (mode_list): Rename to ..
16204 (vbe_mode_list): ... this. All users updated.
16205 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
16206 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
16207 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
16208 'mode_list_size' to 'vbe_mode_list_size'.
16209 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
16210 'best_mode_info' to 'best_vbe_mode_info' and
16211 'best_mode' to 'best_vbe_mode'
16212
6025fcd7 162132009-08-17 Michal Suchanek <hramrach@centrum.cz>
16214
16215 Remove duplicate grub_video_fb_get_video_ptr.
16216
16217 * include/grub/fbutil.h (get_data_ptr): Rename to ...
16218 (grub_video_fb_get_video_ptr): ... this.
16219 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
16220 * video/fb/fbutil.c: Add comment about addressing.
16221 (get_data_ptr): Rename to ...
16222 (grub_video_fb_get_video_ptr): ... this. All users updated.
16223 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
16224
cc8c6faf 162252009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16226
16227 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
16228 grub_dprintf() that was just added.
16229
08aa61f0 162302009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16231
16232 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
16233 (DEFAULT_VIDEO_MODE): Remove macros.
16234 (grub_linux_boot): Remove assumption that Linux has FB support,
16235 and use "text" as default video mode.
16236
7cef4f75 162372009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
16238
16239 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
16240 grub_dprintf.
16241 * fs/fat.c (grub_fat_read_data): Likewise.
16242
e1f39873 162432009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
16246 payload.
16247 (grub_module): Likewise.
16248
c166d79e 162492009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16250
16251 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
16252 mbi->cmdline but free playground.
16253
c60cee8e 162542009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16255
16256 Handle group offset on UFS1.
16257
16258 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
16259 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
16260
c0d8b5d4 162612009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16262
16263 Split ufs.mod into ufs1.mod and ufs2.mod.
16264
16265 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
16266 (grub_fstest_SOURCES): Likewise.
16267 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
16268 (ufs_mod_SOURCES): Remove.
16269 (ufs_mod_CFLAGS): Likewise.
16270 (ufs_mod_LDFLAGS): Likewise.
16271 (ufs1_mod_SOURCES): New variable.
16272 (ufs1_mod_CFLAGS): Likewise.
16273 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 16274 (ufs2_mod_SOURCES): New variable.
16275 (ufs2_mod_CFLAGS): Likewise.
16276 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 16277 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
16278 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16279 Likewise.
16280 (grub_emu_SOURCES): Likewise.
16281 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16282 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16283 (grub_setup_SOURCES): Likewise.
16284 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16285 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
16286 (grub_setup_SOURCES): Likewise.
16287 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16288 Likewise.
16289 * fs/ufs2.c: New file.
16290 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
16291
d3539132 162922009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16293
16294 Framebuffer split.
16295
16296 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
16297 subsystem at the end.
16298 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
16299 (video_fb_mod_SOURCES): New variable.
16300 (video_fb_mod_CFLAGS): Likewise.
16301 (video_fb_mod_LDFLAGS): Likewise.
16302 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
16303 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
16304 * video/i386/pc/vbeblit.c: Moved from here ...
16305 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
16306 * video/i386/pc/vbefill.c: Moved from here ...
16307 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
16308 * video/i386/pc/vbeutil.c: Moved from here ...
16309 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
16310 * include/grub/i386/pc/vbeblit.h: Moved from here ...
16311 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
16312 * include/grub/i386/pc/vbefill.h: Moved from here ...
16313 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
16314 * include/grub/i386/pc/vbeutil.h: Moved from here ...
16315 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
16316 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
16317 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
16318 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
16319 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
16320 (grub_video_adapter): Added 'get_info_and_fini'.
16321 (grub_video_get_info_and_fini): New prototype.
16322 (grub_video_set_mode): make modestring const char *.
16323 * loader/i386/linux.c (grub_linux_setup_video): Use
16324 grub_video_get_info_and_fini.
16325 (grub_linux_boot): Move modesetting just before booting.
16326 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
16327 grub_video_get_info_and_fini.
16328 * video/i386/pc/vbe.c: Moved framebuffer part ...
16329 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
16330 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
16331 grub_video_fbstd_colors and grub_video_fb_set_palette.
16332 (grub_video_vbe_init): Clear 'framebuffer' variable and use
16333 grub_video_fb_init.
16334 (grub_video_vbe_fini): Use grub_video_fb_fini.
16335 (grub_video_vbe_setup): Use framebuffer.render_target instead of
16336 render_target and use grub_video_fb_set_active_render_target and
16337 grub_video_fb_set_palette.
16338 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
16339 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
16340 (grub_video_vbe_adapter): Use framebuffer.
16341 * video/video.c (grub_video_get_info_and_fini): New function.
16342 (grub_video_set_mode): Make modestring const char *.
16343 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
16344 values are already initialised.
16345
d404ee56 163462009-08-14 Pavel Roskin <proski@gnu.org>
16347
16348 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
16349 ABS and APPLE_CC.
16350 * boot/i386/pc/diskboot.S: Likewise.
16351 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
16352 sectors allow compilation on MacOSX.
16353 * conf/i386-pc.rmk: Enable unconditional compilation of
16354 lnxboot.img.
16355
9a10df16 163562009-08-13 Colin Watson <cjwatson@ubuntu.com>
16357
16358 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
16359 * util/grub.d/00_header.in: Enter interruptible sleep if
16360 GRUB_HIDDEN_TIMEOUT is set.
16361
be3c9ca7 163622009-08-13 Yves Blusseau <blusseau@zetam.org>
16363
16364 * include/grub/symbol.h: Add the LOCAL macro.
16365 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
16366 starting with "L_".
16367
1f9e557e 163682009-08-13 Pavel Roskin <proski@gnu.org>
16369
9ca62843 16370 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
16371 any modern compilers we support.
16372
1f9e557e 16373 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
16374 Use local labels starting with "L_" so that Apple assembler
16375 knows they are local.
16376
81623db6 163772009-08-10 Robert Millan <rmh.grub@aybabtu.com>
16378
16379 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
16380 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
16381 (bsd_kernel_types): ... this enum.
16382
16383 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
16384 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
16385 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
16386
16387 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
16388 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
16389 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
16390 messages.
16391
f5d35e7a 163922009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16393
16394 * util/grub-dumpdevtree: Moved from here ...
16395 * util/i386/efi/grub-dumpdevtree: ... to here.
16396 (hexify): New function. Converts a string to its hex version.
16397 Generate hex versions of "efi" and "device-properties" by calling
16398 hexify() on the ASCII strings rather than by hardcoding numbers.
16399
d1e1d527 164002009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16401
16402 * fs/jfs.c: Update copyright year.
16403
1ebbe064 164042009-08-08 Felix Zielcke <fzielcke@z-51.de>
16405
16406 * util/grub.d/00_header.in: Fix a comment.
16407 * util/grub.d/10_linux.in: Likewise.
16408 * util/grub.d/10_windows.in: Likewise.
16409 * util/grub.d/10_hurd.in: Likewise.
16410
a78c8d24 164112009-08-08 Felix Zielcke <fzielcke@z-51.de>
16412
16413 * util/grub-mkconfig.in: Allow the user to specify the used font
16414 with GRUB_FONT.
16415
29a6b9e8 164162009-08-08 Pavel Roskin <proski@gnu.org>
16417
b5f16cc4 16418 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
16419 available, xfs.mod needs it now.
16420
2f5cb827 16421 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
16422 the "g" modifier in sed when the intention is to strip something
16423 once. This fixes comparison of kernels with multiple dashes.
16424
29a6b9e8 16425 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
16426 on it. Add missing space before closing bracket. Fix
16427 misleading formatting.
16428
892a3d98 164292009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16430
16431 * docs/grub.texi: Major overhaul. Remove all sections that are
16432 specific to GRUB Legacy, or mostly composed of Legacy-specific
16433 information.
16434
ed94253f 164352009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16436
16437 * docs/version.texi: New file. Provides version information for
16438 grub.texi.
16439
126d6628 164402009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16441
16442 * docs/grub.texi: Update CVS information to SVN.
16443 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
16444
998b5aa9 164452009-08-07 Felix Zielcke <fzielcke@z-51.de>
16446
16447 * util/grub-mkconfig.in: Remove a wrong `fi'.
16448
818e094a 164492009-08-07 Felix Zielcke <fzielcke@z-51.de>
16450
16451 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
16452 (grub_jfs_uuid): New function.
16453 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
16454
b969c52f 164552009-08-07 Felix Zielcke <fzielcke@z-51.de>
16456
16457 * util/grub-mkconfig_lib.in (font_path): Move the functionality
16458 of it to ...
16459 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
16460 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
16461
7a4894cc 164622009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16463
16464 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
16465 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
16466 Update all users.
16467
16468 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
16469 not just "vmlinu[zx]".
16470 Moved from here ...
16471 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
16472 all users.
16473
16474 * util/grub.d/10_linux.in (find_latest): Moved from here ...
16475 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
16476 all users.
16477
4e2171f8 164782009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16479
16480 * util/grub.d/10_freebsd.in: Use an absolute device path for
16481 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
16482
6dcfcb32 164832009-08-06 Felix Zielcke <fzielcke@z-51.de>
16484
16485 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
16486 handling of multiple abstraction modules.
16487
f56a8756 164882009-08-04 Robert Millan <rmh.grub@aybabtu.com>
16489
16490 Fix a bug resulting in black screen when loading Linux using a
16491 packed video mode.
16492
16493 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
16494 function.
16495
16496 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
16497 (grub_vbe_bios_getset_dac_palette_width): New function.
16498 (grub_vbe_bios_get_dac_palette_width)
16499 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
16500 grub_vbe_bios_getset_dac_palette_width()).
16501
16502 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
16503 check for return status.
16504 (grub_vbe_get_video_mode_info): When getting information for a packed
16505 mode (<= 8 bpp), obtain DAC palette width using
16506 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
16507 {red,green,blue}_mark_size.
16508
222671b2 165092009-08-04 Felix Zielcke <fzielcke@z-51.de>
16510
ecb1a6d9 16511 * commands/search.c (options): Fix help output to match actual code.
222671b2 16512
f84114f5 165132009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
16516 of homegrown code.
16517
bd288a20 165182009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 16519
16520 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
16521 on XFS or ReiserFS.
16522
8aab5e25 165232009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16524
16525 Support Apple partition map with sector size different from 512 bytes.
16526
16527 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
16528 (apple_partition_map_iterate): Respect 'aheader.blocksize'
16529 and 'apart.partmap_size'.
16530
6ad6258a 165312009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
165322009-08-01 Robert Millan <rmh.grub@aybabtu.com>
16533
16534 Fix cpuid command.
16535
16536 * commands/i386/cpuid.c (options): New variable.
16537 (grub_cmd_cpuid): Return real error.
16538 (GRUB_MOD_INIT(cpuid)): Declare options.
16539
67459bc6 165402009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
16541
16542 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
16543 valid.
16544
fbc6ab54 165452009-07-31 Bean <bean123ch@gmail.com>
16546
16547 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
16548 log2_inode.
16549 (grub_fshelp_node): Move inode field to the end.
16550 (grub_xfs_data): Remove inode field.
16551 (grub_xfs_inode_block): Calculate inode size using sblock.
16552 (grub_xfs_inode_offset): Likewise.
16553 (grub_xfs_read_inode): Calculate inode size using sblock.
16554 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
16555 (grub_xfs_iterate_dir): Calculate inode size using sblock.
16556 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
16557 to match inode size.
16558 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
16559 not accessible when data is null.
16560 (grub_xfs_open): Likewise.
16561
f45d6cfc 165622009-07-31 Bean <bean123ch@gmail.com>
16563
16564 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
16565 Don't change pv->disk if it's already set.
16566
16567 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
16568 (grub_raid_register): ... here.
16569 (grub_raid_rescan): Removed.
16570
16571 * include/grub/raid.h (grub_raid_rescan): Removed.
16572
16573 * util/grub-fstest.c: Remove include file <grub/raid.h>.
16574 (fstest): Replace grub_raid_rescan with module fini function followed
16575 by init function.
16576
16577 * util/grub-probe.c: Add include file <grub/raid.h>.
16578 (probe_raid_level): New function.
16579 (probe): Detect abstraction by walking the disk device, support two
16580 level of abstraction (LVM on RAID) when detecting partition map.
16581
24443b5a 165822009-07-31 Pavel Roskin <proski@gnu.org>
16583
16584 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
16585 to grub_zalloc(), it was erroneous.
16586 Reported by Bean <bean123ch@gmail.com>
16587
a275d9e7 165882009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
16589
16590 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 16591 embedding zone, not only the first one.
a275d9e7 16592
56c5a47f 165932009-07-29 Joe Auricchio <jauricchio@gmail.com>
16594
16595 * term/gfxterm.c (clear_char): New function.
16596 (grub_virtual_screen_setup): Use clear_char.
16597 (scroll_up): Likewise.
16598 (grub_virtual_screen_cls): Likewise.
16599
67bb323a 166002009-07-29 Felix Zielcke <fzielcke@z-51.de>
16601
16602 * util/deviceiter.c (get_acceleraid_disk_name): New static
16603 function.
16604 (grub_util_iterate_devices): Handle Accelraid devices.
16605 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
16606
388a7c75 166072009-07-28 Robert Millan <rmh.grub@aybabtu.com>
16608
16609 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
16610 separator for the suggested gfxpayload string (';' collides with the
16611 parser and needs escaping).
16612
3bb7abcf 166132009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16614
16615 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
16616 Clear direction flag before jumping to OS.
16617 (grub_multiboot2_real_boot): Likewise.
16618
2ddd36d7 166192009-07-28 Felix Zielcke <fzielcke@z-51.de>
16620
16621 * util/i386/pc/grub-install: Fix parsing of --disk-module
16622 option.
16623
c521b62b 166242009-07-28 Felix Zielcke <fzielcke@z-51.de>
16625
16626 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
16627 when embedding.
16628
880e0a0c 166292009-07-26 Felix Zielcke <fzielcke@z-51.de>
16630
16631 * util/grub-mkconfig.in (package_version): New variable.
16632 Use it do display the version.
16633
2366e356 166342009-07-25 Felix Zielcke <fzielcke@z-51.de>
16635
16636 * kern/file.c (grub_file_open): Revert to previous check with
16637 grub_errno.
16638
7ad8c80e 166392009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16640
16641 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
16642 from help line. It's out of sync with code.
16643
72b9658b 166442009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16645
16646 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
16647 entries on failed boot.
16648
77435277 166492009-07-25 Felix Zielcke <fzielcke@z-51.de>
16650
16651 * kern/file.c (grub_file_open): Fix an error check.
16652
fcaa8b21 166532009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
16654
35d16c74 16655 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
16656 partition map couldn't be identified.
fcaa8b21 16657
48904cd1 166582009-07-23 Pavel Roskin <proski@gnu.org>
16659
ef3c317f 16660 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
16661 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
16662 case of little endian words becomes just an optimization.
16663 Respect const modifier.
ad8ea1f4 16664 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 16665
48904cd1 16666 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
16667 to avoid loss of upper bits if align is unsigned and shorter
16668 than addr.
16669
260c9a89 166702009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16671
16672 UUID support for UFS
16673
16674 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
16675 (grub_ufs_uuid): New function.
16676 (grub_ufs_fs): add .uuid
16677
f76ce889 166782009-07-21 Pavel Roskin <proski@gnu.org>
16679
16680 * kern/dl.c (grub_dl_check_header): Make static.
16681
6a6cbcaf 166822009-07-21 Felix Zielcke <fzielcke@z-51.de>
16683
16684 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
16685 add drivemap for Vista. It breaks Windows 7.
16686
cffcddb2 166872009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16688
16689 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
16690 128 bytes
16691
1ef44b80 166922009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16693
16694 Add BFS support
16695
16696 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
16697 (grub_fstest_SOURCES): Likewise.
16698 (pkglib_MODULES): Add befs.mod.
16699 (befs_mod_SOURCES): New variable.
16700 (befs_mod_CFLAGS): Likewise.
16701 (befs_mod_LDFLAGS): Likewise.
16702 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16703 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16704 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16705 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16706 (grub_setup_SOURCES): Likewise.
16707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16708 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16709 (grub_setup_SOURCES): Likewise.
16710 * fs/befs.c: New file.
16711 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
16712 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
16713 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
16714 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
16715 (B_KEY_INDEX_ALIGN): New declaration.
16716 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
16717 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
16718 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
16719 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
16720 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
16721 (grub_afs_mount) [MODE_BFS]: Likewise.
16722 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
16723 (grub_afs_fs): Use GRUB_AFS_FSNAME
16724 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
16725 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
16726 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
16727 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
16728
4f253044 167292009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
16730
16731 * util/getroot.c (find_root_device): Add support for MacOSX.
16732 * util/hostdisk.c: Likewise.
16733
57a55913 167342009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16735
16736 * font/font.c (find_glyph): Check whether a font is present to avoid
16737 segmentation fault.
75421ca9 16738
167392009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 16740
16741 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
16742
e98cd0c2 167432009-07-20 Pavel Roskin <proski@gnu.org>
16744
16745 * configure.ac: Trim excessively wordy excuses.
16746
1d2d169a 167472009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16748
16749 Add symlink, mtime and label support to AtheFS.
16750
16751 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
16752 (grub_afs_iterate_dir): Handle symlinks.
16753 (grub_afs_open): Use grub_afs_read_symlink.
16754 (grub_afs_dir): Likewise.
16755 Pass mtime.
16756 (grub_afs_label): New function.
16757 (grub_afs_fs): Add grub_afs_label.
16758 (grub_afs_read_symlink): New function.
16759
186f3189 167602009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16761
16762 Fix AtheFS support.
16763
16764 * fs/afs.c: Fix comments style.
16765 (grub_afs_blockrun): Declare as packed.
16766 (grub_afs_datastream): Likewise.
16767 (grub_afs_bnode): Likewise.
16768 (grub_afs_btree): Likewise.
16769 (grub_afs_sblock): Likewise.
16770 Declare `name' as char.
16771 (grub_afs_inode): Declare as packed.
16772 Change void *vnode to grub_uint32_t unused.
16773 (grub_afs_iterate_dir): Check that key_size is positive.
16774 (grub_afs_mount): Don't read superblock twice.
75421ca9 16775 (grub_afs_dir): Don't free node in case of error,
186f3189 16776 grub_fshelp_find_file already handles this.
16777 (grub_afs_open): Likewise.
16778
5680109e 167792009-07-19 Pavel Roskin <proski@gnu.org>
16780
16781 * Makefile.in: Remove LIBLZO and enable_lzo.
16782 * conf/i386-pc.rmk: Remove lzo support.
16783 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
16784 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
16785 support.
16786 * kern/i386/pc/lzo1x.S: Remove.
16787 * kern/i386/pc/startup.S: Remove lzo support.
16788 * util/i386/pc/grub-mkimage.c: Likewise.
16789
ac70fa32 167902009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
16791
16792 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
16793 * fs/xfs.c (grub_xfs_dir): Likewise.
16794 * fs/afs.c (grub_afs_dir): Likewise.
16795 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
16796 (grub_iso9660_open): Likewise.
16797 * fs/jfs.c (grub_jfs_open): Likewise.
16798 * fs/ext2.c (grub_ext2_dir): Likewise.
16799 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
16800 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 16801
eab58da2 168022009-07-16 Pavel Roskin <proski@gnu.org>
16803
d2838156 16804 * configure.ac: Never add "-c" to CFLAGS.
16805
55c70904 16806 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
16807
43e6200c 16808 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
16809 grub_cv_cc_efiemu should be used.
16810
ce7a733d 16811 * configure.ac: Typo fixes.
16812
eab58da2 16813 * kern/mm.c (grub_zalloc): New function.
16814 (grub_debug_zalloc): Likewise.
16815 * include/grub/mm.h: Declare grub_zalloc() and
16816 grub_debug_zalloc().
16817 * util/misc.c (grub_zalloc): New function.
16818 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
16819 instead of grub_malloc(), remove unneeded initializations.
16820 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
16821 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
16822 * commands/parttool.c (grub_cmd_parttool): Likewise.
16823 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16824 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
16825 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
16826 * disk/usbms.c (grub_usbms_finddevs): Likewise.
16827 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
16828 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
16829 (grub_cmd_efiemu_pnvram): Likewise.
16830 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
16831 * fs/iso9660.c (grub_iso9660_mount): Likewise.
16832 (grub_iso9660_iterate_dir): Likewise.
16833 * fs/jfs.c (grub_jfs_opendir): Likewise.
16834 * fs/ntfs.c (list_file): Likewise.
16835 (grub_ntfs_mount): Likewise.
16836 * kern/disk.c (grub_disk_open): Likewise.
16837 * kern/dl.c (grub_dl_load_core): Likewise.
16838 * kern/elf.c (grub_elf_file): Likewise.
16839 * kern/env.c (grub_env_context_open): Likewise.
16840 (grub_env_set): Likewise.
16841 (grub_env_set_data_slot): Likewise.
16842 * kern/file.c (grub_file_open): Likewise.
16843 * kern/fs.c (grub_fs_blocklist_open): Likewise.
16844 * loader/i386/multiboot.c (grub_module): Likewise.
16845 * loader/xnu.c (grub_xnu_create_key): Likewise.
16846 (grub_xnu_create_value): Likewise.
16847 * normal/main.c (grub_normal_add_menu_entry): Likewise.
16848 (read_config_file): Likewise.
16849 * normal/menu_entry.c (make_screen): Likewise.
16850 * partmap/sun.c (sun_partition_map_iterate): Likewise.
16851 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
16852 * script/sh/script.c (grub_script_parse): Likewise.
16853 * video/bitmap.c (grub_video_bitmap_create): Likewise.
16854 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16855 * video/readers/png.c (grub_png_output_byte): Likewise.
16856 (grub_video_reader_png): Likewise.
16857
830afef7 168582009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 16859
16860 Enable all targets that can be built by default
16861
830afef7 16862 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 16863 grub-mkfont and grub-fstest if they can be built
16864
ee293aee 168652009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16866
16867 Fix hang and segmentation fault in grub-emu-usb
16868
16869 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
16870 * util/usb.c (grub_libusb_devices): likewise
16871 (grub_libusb_init): rename to ...
16872 (GRUB_MOD_INIT (libusb)):...this
16873 (grub_libusb_fini): rename to ..
16874 (GRUB_MOD_FINI (libusb)):...this
16875 * disk/usbms.c (grub_usbms_transfer): fix retry logic
16876 * include/grub/disk.h (grub_raid_init): removed, it's useless
16877 (grub_raid_fini): likewise
16878 (grub_lvm_init): likewise
16879 (grub_lvm_fini): likewise
16880 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
16881 by grub_init_all
16882
94414221 168832009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16884
16885 Fix libusb
16886
16887 * Makefile.in (LIBUSB): new macro
16888 * genmk.rb (Utility/print_tail): new method
16889 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
16890 (top level): call util.print_tail at the end.
16891
59ade63d 168922009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16893
16894 Make FreeBSD accept zpool.cache
16895
16896 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
16897 type is /boot/zfs/zpool.cache
16898
a58da8c7 168992009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16900
16901 Fix 64-bit efiemu
16902
16903 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
16904 correct wrong typedef
16905 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
16906
20591577 169072009-07-15 Pavel Roskin <proski@gnu.org>
16908
560ca572 16909 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
16910 * kern/disk.c (struct grub_disk_cache): Likewise.
16911
e8e8e4fd 16912 * commands/probe.c (options): Typo fix.
16913
fde24e10 16914 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
16915 Increase to 0x5a to accommodate FAT32. Adjust other offsets
16916 accordingly.
16917 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
16918
379c54c1 16919 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
16920 the end of "Error" to make the message more readable.
16921
7bd8f5bf 16922 * boot/i386/pc/boot.S (kernel_segment): Remove.
16923 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
16924 for destination.
16925
40b132c5 16926 * boot/i386/pc/boot.S (boot_version): Remove.
16927 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16928 Remove.
16929
20591577 16930 * include/grub/i386/pc/boot.h: Sort all offsets.
16931 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
16932 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
16933 * boot/i386/pc/boot.S: Assert location of every offset listed in
16934 include/grub/i386/pc/boot.h.
16935
2df32b2c 169362009-07-13 Pavel Roskin <proski@gnu.org>
16937
44b5d879 16938 * include/grub/i386/coreboot/machine.h: Rename
16939 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
16940 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
16941 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
16942
17dc3751 16943 * kern/dl.c: Force native word size to suppress warnings when
16944 compiling grub-emu.
16945
2df32b2c 16946 * kern/device.c (grub_device_iterate): Change struct part_ent to
16947 hold the name, not a pointer to it. Use one grub_malloc() per
16948 partition, not two. Free partition_name if grub_malloc() fails.
16949 Set ents to NULL only before grub_partition_iterate() is called.
16950
75c59f59 169512009-07-11 Bean <bean123ch@gmail.com>
16952
16953 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
16954 childname.
16955
0ae1bf88 169562009-07-10 Bean <bean123ch@gmail.com>
169572009-07-10 Robert Millan <rmh.grub@aybabtu.com>
16958
16959 * kern/ieee1275/openfw.c (grub_children_iterate)
16960 (grub_devalias_iterate): Fix size evaluation for property or path
16961 strings, which was broken since r2132.
16962
8279cade 169632009-07-07 Pavel Roskin <proski@gnu.org>
16964
7d8a52d3 16965 * commands/search.c (search_file): Merge into ...
16966 (search_fs): ... this. Accept search type as argument.
16967 (grub_cmd_search): Pass search type to search_fs().
16968
25f9a05a 16969 * include/grub/util/console.h: New file.
16970 * util/console.c: Use it instead of grub/machine/console.h.
16971 * util/grub-emu.c: Likewise.
16972
8279cade 16973 * lib/arg.c (find_long_option): Remove.
16974 (find_long): Add `len' argument, make `s' const char *.
16975 (grub_arg_parse): Parse long options in place, not in a
16976 temporary buffer.
16977
4a11b60f 169782009-07-06 Pavel Roskin <proski@gnu.org>
16979
99f68041 16980 * commands/search.c (search_fs): Fix potential NULL pointer
16981 dereference.
16982
4a11b60f 16983 * commands/search.c (search_fs): Replace QUID macro with quid_fn
16984 function pointer.
16985
e110f4de 169862009-07-06 Daniel Mierswa <impulze@impulze.org>
16987
16988 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
16989 comparison.
16990
46eeb6a2 169912009-07-05 Pavel Roskin <proski@gnu.org>
16992
bab74958 16993 * include/grub/i386/linux.h (struct linux_kernel_params):
16994 Restore padding3, it's still needed.
16995
46eeb6a2 16996 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
16997 FreeBSD.
16998 * util/osdetect.lua: Likewise.
16999
b4a1dc79 170002009-07-05 Bean <bean123ch@gmail.com>
17001
17002 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
17003
17004 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
17005 (grub_lua_getenv): Likewise.
17006 (grub_lua_setenv): Likewise.
17007 (save_errno): New function.
17008 (push_result): Likewise.
17009 (grub_lua_enum_device): Likewise.
17010 (grub_lua_enum_file): Likewise.
17011 (grub_lua_file_open): Likewise.
17012 (grub_lua_file_close): Likewise.
17013 (grub_lua_file_seek): Likewise.
17014 (grub_lua_file_read): Likewise.
17015 (grub_lua_file_getline): Likewise.
17016 (grub_lua_file_getsize): Likewise.
17017 (grub_lua_file_getpos): Likewise.
17018 (grub_lua_file_eof): Likewise.
17019 (grub_lua_file_exist): Likewise.
17020 (grub_lua_add_menu): Likewise.
17021
17022 * script/lua/grub_lua.h (isupper): New inline function.
17023 (islower): Likewise.
17024 (ispunct): Likewise.
17025 (isxdigit): Likewise.
17026 (strcspn): Change to normal function.
17027 (strpbkr): New function declaration.
17028 (memchr): Likewise.
17029
17030 * script/lua/grub_main.c (scan_str): New function.
17031 (strcspn): Likewise.
17032 (strpbrk): Likewise.
17033 (memchr): Likewise.
17034
17035 * script/lua/linit.c (lualibs): Enable the string library.
17036
17037 * util/osdetect.lua: New file.
17038
2da92295 170392009-07-04 Robert Millan <rmh.grub@aybabtu.com>
17040
17041 * include/grub/i386/linux.h (struct linux_kernel_params): Add
17042 `capabilities' member.
17043
b2582ec9 170442009-07-02 Pavel Roskin <proski@gnu.org>
17045
17046 * genparttoollist.sh: Add missing newline at the end.
17047
32622956 170482009-07-01 Pavel Roskin <proski@gnu.org>
17049
87a7339e 17050 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
17051
d23af54e 17052 * util/hostdisk.c (open_device): Remove `const' from
17053 `sysctl_size', as sysctlbyname() can change it (in this case it
17054 doesn't actually happen).
17055
c94b18a9 17056 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
17057 using signed long int constants.
17058
c6cd3ef0 17059 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
17060 constant to avoid a warning on FreeBSD.
17061
0df63420 17062 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
17063 where it's needed.
17064
999577f1 17065 * Makefile.in: Install include/grub/machine symlink.
17066
6f41557f 17067 * Makefile.in: When installing symlinks, use "cp -fR", which
17068 works on FreeBSD and MacOSX.
17069 From Yves Blusseau <cl7m42e02@sneakemail.com>
17070
c8d22988 17071 * kern/dl.c (grub_dl_resolve_symbol): Make static.
17072 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
17073
1b96e952 17074 * util/misc.c: Move grub_reboot() and grub_halt() ...
17075 * util/grub-emu.c: ... here. Make main_env static.
17076 * include/grub/util/misc.h: Remove main_env.
17077
2ef0084d 17078 * kern/mm.c: Use correct format to print size_t.
17079
32622956 17080 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
17081 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
17082 * kern/powerpc/dl.c: Likewise.
17083 * kern/sparc64/dl.c: Likewise.
17084 * kern/x86_64/dl.c: Likewise.
17085
3f7f0cd0 170862009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17087
17088 Fix grub-emu build on sparc64-ieee1275.
17089
75421ca9 17090 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 17091 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
17092
211d06b5 170932009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17094
17095 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
17096 (grub_reboot, grub_halt): New functions.
17097
17098 * util/i386/pc/misc.c: Delete. Update all users.
17099 * util/sparc64/ieee1275/misc.c: Likewise.
17100 * util/powerpc/ieee1275/misc.c: Likewise.
17101
aaf53e3c 171022009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17103
17104 * conf/i386.rmk (setjmp_mod_SOURCES)
17105 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
17106 * conf/common.rmk (setjmp_mod_SOURCES)
17107 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
17108 to use $(target_cpu).
17109 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
17110 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
17111 * conf/powerpc-ieee1275.rmk: Likewise.
17112 * conf/sparc64-ieee1275.rmk: Likewise.
17113
17114 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
17115 $(target_cpu) for kern/$(target_cpu)/dl.c.
17116 * conf/i386-efi.rmk: Likewise.
17117 * conf/i386-ieee1275.rmk: Likewise.
17118 * conf/x86_64-efi.rmk: Likewise.
17119 * conf/i386-coreboot.rmk: Likewise.
17120 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
17121 $(target_cpu) for kern/$(target_cpu)/dl.c and for
17122 kern/$(target_cpu)/cache.S.
17123 * conf/sparc64-ieee1275.rmk: Likewise.
17124
a337130b 171252009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17126
17127 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
17128 type to `grub_uint8_t', and adjust `padding9' accordingly.
17129
c6fe4d53 171302009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17131
b09db61d 17132 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
17133
c6fe4d53 17134 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
17135 assembly in final jump, using register constraints.
17136
b09db61d 17137 (grub_linux_boot): For text mode, initialize `have_vga' using
17138 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
17139
17140 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
17141 right before the final jump.
17142
17143 Set `video_mode' to 0x3.
17144
17145 Document initialization of `video_page', `video_mode' and
17146 `video_ega_bx'.
17147
28333ad0 171482009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17149
17150 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
17151 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 17152 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 17153
02164e1b 171542009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17155
17156 Fix build on Debian / sparc.
17157
17158 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
17159
18b6c557 171602009-06-28 Pavel Roskin <proski@gnu.org>
17161
85f2aab6 17162 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
17163 fix a warning.
17164
18b6c557 17165 * util/grub.d/10_linux.in: Match SUSE style initrd names.
17166
ad760f81 171672009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17168
17169 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
17170 `err'.
17171
87a4623b 171722009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17173
17174 Revert r2338.
17175
17176 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
17177 file can't be opened. grub_file_open() is already supposed to set
75421ca9 17178 grub_errno / grub_errmsg appropriately.
87a4623b 17179 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17180
8231fb77 171812009-06-27 Pavel Roskin <proski@gnu.org>
171822009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17183
17184 * include/grub/dl.h: Include grub/elf.h.
17185 (struct grub_dl): Add symtab field.
17186 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
17187 GRUB_MODULES_MACHINE_READONLY.
17188 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
17189 of the header for read-only modules.
17190 (grub_dl_unload): Free mod->symtab for read-only modules.
17191 * kern/i386/dl.c: Use mod->symtab.
17192 * kern/powerpc/dl.c: Likewise.
17193 * kern/sparc64/dl.c: Likewise.
17194 * kern/x86_64/dl.c: Likewise.
17195
17196 * conf/i386-qemu.rmk: New file.
17197 * kern/i386/qemu/startup.S: Likewise.
17198 * kern/i386/qemu/mmap.c: Likewise.
17199 * boot/i386/qemu/boot.S: Likewise.
17200 * include/grub/i386/qemu/time.h: Likewise.
17201 * include/grub/i386/qemu/serial.h: Likewise.
17202 * include/grub/i386/qemu/kernel.h: Likewise.
17203 * include/grub/i386/qemu/console.h: Likewise.
17204 * include/grub/i386/qemu/boot.h: Likewise.
17205 * include/grub/i386/qemu/init.h: Likewise.
17206 * include/grub/i386/qemu/machine.h: Likewise.
17207 * include/grub/i386/qemu/loader.h: Likewise.
17208 * include/grub/i386/qemu/memory.h: Likewise.
17209
17210 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
17211 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
17212 [qemu] (pkglib_IMAGES): Add `boot.img'.
17213 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
17214 [qemu] (boot_img_FORMAT): New variables.
17215 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
17216 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
17217 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
17218 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17219 [qemu] (kernel_img_FORMAT): New variables.
17220
17221 * configure.ac: Recognise `i386-qemu'.
17222
17223 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
17224 (for no compression).
17225 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
17226 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
17227 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
17228 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
17229 ifdefs).
17230
97fe384e 172312009-06-27 Pavel Roskin <proski@gnu.org>
17232
17233 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
17234 read.
17235 * efiemu/prepare32.c: Likewise.
17236 * efiemu/prepare64.c: Likewise.
17237
c402ab17 172382009-06-26 Pavel Roskin <proski@gnu.org>
17239
17240 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
17241 * include/grub/elf.h: Define symbols without "32" or "64" based
17242 on GRUB_TARGET_WORDSIZE.
17243 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
17244 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
17245 ELF definitions.
17246 * efiemu/loadcore64.c: Likewise.
17247 * loader/i386/bsd32.c: Likewise.
17248 * loader/i386/bsd64.c: Likewise.
17249 * kern/dl.c: Remove own ELF definitions.
17250 * util/i386/efi/grub-mkimage.c: Likewise.
17251
9bbdfd4d 172522009-06-23 Robert Millan <rmh.grub@aybabtu.com>
17253
17254 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
17255 segment 0x0 unconditionally, because the reference generated by
17256 GAS is an absolute address.
17257
a42ce6e9 172582009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17259
17260 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
17261 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
17262
c952cf92 172632009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17264
17265 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
17266 indexes. Check for -f explicitly.
cc3752ad 17267 (search_file): Improve error message.
17268 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 17269
132a0a59 172702009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17271
17272 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
17273 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
17274
387a140c 172752009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17276
17277 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
17278 * conf/i386-ieee1275.rmk: Likewise.
17279 * conf/i386-coreboot.rmk: Likewise.
17280
17281 * kern/i386/pc/startup.S (grub_stop): Remove function.
17282 * kern/i386/ieee1275/startup.S: Likewise.
17283 * kern/i386/coreboot/startup.S: Likewise.
17284 * kern/i386/misc.S (grub_stop): New function.
17285
41da9665 172862009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17287
17288 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
17289 * kern/i386/realmode.S (real_to_prot): ... to here.
17290
bf337234 172912009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17292
17293 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
17294 with `kernel.img'.
17295 (kernel_elf_SOURCES): Rename to ...
17296 (kernel_img_SOURCES): ... this.
17297 (kernel_elf_HEADERS): Rename to ...
17298 (kernel_img_HEADERS): ... this. Update all users.
17299 (kernel_elf_ASFLAGS): Rename to ...
17300 (kernel_img_ASFLAGS): ... this.
17301 (kernel_elf_CFLAGS): Rename to ...
17302 (kernel_img_CFLAGS): ... this.
17303 (kernel_elf_LDFLAGS): Rename to ...
17304 (kernel_img_LDFLAGS): ... this.
17305 * conf/i386-coreboot.rmk: Likewise.
17306 * conf/powerpc-ieee1275.rmk: Likewise.
17307
17308 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
17309 with "kernel.img".
17310
f52196ff 173112009-06-21 Pavel Roskin <proski@gnu.org>
17312
c3cee413 17313 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
17314 to match nested functions.
17315 * loader/sparc64/ieee1275/linux.c: Likewise.
17316
f52196ff 17317 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
17318
58750afc 173192009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17320
17321 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
17322 all i386 platforms.
17323
15355c7d 173242009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17325
17326 Fix asm file handling on ELF, and remove workarounds.
17327
17328 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 17329 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 17330 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
17331 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
17332
3f3ec72b 173332009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
17334
17335 Load BSD ELF modules
17336
17337 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
17338 and loader/i386/bsd64.c
17339 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
17340 (FREEBSD_MODTYPE_ELF_MODULE): New definition
17341 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
17342 (grub_freebsd_load_elfmodule32): New declaration
17343 (grub_freebsd_load_elfmoduleobj64): Likewise
17344 (grub_freebsd_load_elf_meta32): Likewise
17345 (grub_freebsd_load_elf_meta64): Likewise
17346 (grub_freebsd_add_meta): Likewise
17347 (grub_freebsd_add_meta_module): Likewise
17348 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
17349 (grub_freebsd_add_meta_module): Likewise and move module-specific
17350 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
17351 (grub_cmd_freebsd): Add elf-kernel specific parts
17352 based on grub_freebsd_add_meta_module
17353 (grub_cmd_freebsd_module): Add type parsing moved from
17354 grub_freebsd_add_meta_module
17355 (grub_cmd_freebsd_module_elf): New function
17356 (cmd_freebsd_module_elf): New variable
17357 (GRUB_MOD_INIT): Register freebsd_module_elf
17358 * loader/i386/bsd32.c: New file
17359 * loader/i386/bsd64.c: Likewise
17360 * loader/i386/bsdXX.c: Likewise
17361 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
17362 (grub_elf64_load): Likewise
17363 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
17364 All users updated
17365 (grub_elf64_load_hook_t): Likewise
17366
0db15301 173672009-06-21 Colin Watson <cjwatson@ubuntu.com>
17368
17369 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
17370 variable.
17371 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
17372 don't write a menu entry for recovery mode.
17373
546796c1 173742009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17375
17376 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
17377 after it's no longer needed.
17378
cd7310d5 173792009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17380
17381 * include/grub/i386/loader.h (grub_linux_prot_size)
17382 (grub_linux_tmp_addr, grub_linux_real_addr)
17383 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
17384 GRUB_MACHINE_PCBIOS.
17385 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
17386 common grub_util_info() call to ...
17387 (generate_image): ... here.
17388 Fix use of uninitialized memory, comparison of signed with
17389 unsigned integers and memory leak.
17390 Remove bogus module address message.
17391
ab32d3b5 173922009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17393
17394 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
17395 grub_raid_register
17396 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
17397
024ef597 173982009-06-19 Pavel Roskin <proski@gnu.org>
17399
17400 * configure.ac: Remove stray AC_MSG_CHECKING.
17401
3ac72b51 174022009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
17403
17404 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 17405
e14cd814 174062009-06-18 Pavel Roskin <proski@gnu.org>
17407
17408 * conf/common.rmk: Add fs_file.mod.
17409 * disk/fs_file.c: New file.
17410 * include/grub/disk.h (enum grub_disk_dev_id): Add
17411 GRUB_DISK_DEVICE_FILE_ID.
17412
26586d98 174132009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17414
17415 Fix build with Apple's toolchain. Part 2
17416
17417 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
17418 a fake start
17419
26de2bcd 174202009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17421
17422 Fix build with Apple's toolchain. Part 1
17423
17424 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
17425 for long calls
17426 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 17427 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 17428 Apple's toolchain
17429
09b3490b 174302009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17431
17432 Fix warnings
17433
17434 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
17435 (decomp_block): initialize ch
17436 use grub_memcpy instead of memcpy
17437
c22a006a 174382009-06-17 Pavel Roskin <proski@gnu.org>
17439
d3638678 17440 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
17441 version, use declarations needed to use vga_text as the startup
17442 console.
17443
c22a006a 17444 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
17445 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
17446 the kernel.
17447 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
17448 and grub_at_keyboard_fini(), it's done on module load and
17449 unload.
17450
05b129e0 174512009-06-17 Felix Zielcke <fzielcke@z-51.de>
17452
17453 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
17454 file can't be found.
17455 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17456
cf24ed9e 174572009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17458
17459 Fix newline handling
17460
17461 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 17462 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 17463 (grub_script_yylex): don't segfault on unterminated script
17464 newline terminates command and variable
17465
74aa8e4b 174662009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17467
17468 avoid double grub_adjust_range call. Bug reported by David Simner
17469
17470 * kern/disk.c (grub_disk_write): change to raw disk access before
17471 calling disk_read
17472
1bd265f3 174732009-06-17 Colin Watson <cjwatson@ubuntu.com>
17474
17475 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
17476 spaces, for the benefit of help2man.
17477 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17478
a2d08c06 174792009-06-16 Pavel Roskin <proski@gnu.org>
17480
17481 * kern/i386/halt.c: Include grub/machine/init.h.
17482 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
17483
b97bcb19 174842009-06-16 Felix Zielcke <fzielcke@z-51.de>
17485
17486 * util/grub.d/30_os-prober.in: Use ${root} in the generated
17487 drivemap menuentry.
17488
0644f96c 174892009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
17490
17491 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
17492 `echo' command.
17493
3ef17a2e 174942009-06-16 Pavel Roskin <proski@gnu.org>
17495
17496 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
17497 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
17498 save %dx, we only need %dl and we never change it.
17499 * boot/i386/pc/cdboot.S: Don't set the root drive.
17500 * boot/i386/pc/pxeboot.S: Likewise.
17501 * include/grub/i386/pc/boot.h: Remove
17502 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
17503 GRUB_BOOT_MACHINE_DRIVE_CHECK.
17504 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
17505 * kern/i386/pc/init.c (make_install_device): Remove references
17506 to grub_root_drive.
17507 * kern/i386/pc/startup.S: Likewise.
17508 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
17509
693fe637 175102009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17511
17512 xnu_uuid command
17513
17514 * commands/xnu_uuid.c: new file
17515 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
17516 (xnu_uuid_mod_SOURCES): new variable
17517 (xnu_uuid_mod_CFLAGS): likewise
17518 (xnu_uuid_mod_LDFLAGS): likewise
17519 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17520 * conf/i386-ieee1275.rmk: likewise
17521 * conf/i386-pc.rmk: likewise
17522 * conf/powerpc-ieee1275.rmk: likewise
17523 * conf/sparc64-ieee1275.rmk: likewise
17524 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
17525
c9da87d0 175262009-06-16 Pavel Roskin <proski@gnu.org>
17527
17528 * configure.ac: Avoid '==' in test command, it's not portable.
17529
9c6f4596 175302009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17531
17532 Probe command
17533
17534 * commands/probe.c: new file
17535 * conf/common.rmk (pkglib_MODULES): add probe.mod
17536 (probe_mod_SOURCES): new variable
17537 (probe_mod_CFLAGS): likewise
17538 (probe_mod_LDFLAGS): likewise
17539 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17540 * conf/i386-ieee1275.rmk: likewise
17541 * conf/i386-pc.rmk: likewise
17542 * conf/powerpc-ieee1275.rmk: likewise
17543 * conf/sparc64-ieee1275.rmk: likewise
17544
70b7f9fd 175452009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
17546
17547 Fix handling of string like \"hello\" and "a
17548 b"
17549
17550 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
17551 (grub_script_yylex): fix parsing of quoting, escaping and newline
17552
71c79a6b 175532009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
17554
dd74360c 17555 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 17556 handling
dd74360c 17557
0644f96c 175582009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 17559
17560 * util/grub-mkconfig.in: Fix parsing of --output option.
17561
e40893c3 175622009-06-12 Pavel Roskin <proski@gnu.org>
17563
17564 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
17565 genmk.rb don't need to be generated or installed.
17566
3a1acfe2 175672009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17568
17569 * commands/i386/pc/drivemap_int13h.S: add more comments
17570
3a4575d4 175712009-06-11 Pavel Roskin <proski@gnu.org>
17572
0658e928 17573 * Makefile.in (uninstall): Uninstall manuals.
17574
ca0388f0 17575 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
17576 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
17577 and update-grub_lib in two places.
17578 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
17579
e3b27c39 17580 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
17581 a compiler warning.
17582
3a4575d4 17583 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
17584 `entry_lo' to fix variable shadowing.
17585
af1f4f55 175862009-06-11 Christian Franke <franke@computer.org>
17587
17588 * kern/misc.c (__enable_execute_stack): Add missing return type
17589 to prevent gcc warning.
17590
5225e649 175912009-06-11 Felix Zielcke <fzielcke@z-51.de>
17592
17593 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
17594
7d83bd47 175952009-06-11 Pavel Roskin <proski@gnu.org>
17596
c1cb63ba 17597 * Makefile.in: Don't rely on any scripts being executable.
17598 Always use $(SHELL) to run shell scripts.
17599
7d83bd47 17600 * configure.ac: Always define ___main if using -nostdlib. This
17601 fixes tests on Cygwin.
17602
948f48e7 176032009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
17604
17605 UDF fix
17606
7d83bd47 17607 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 17608 is in bytes and not in blocks
7d83bd47 17609
8ada9bc1 176102009-06-11 Pavel Roskin <proski@gnu.org>
17611
17612 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
17613 warning.
17614
25ad2323 176152009-06-11 Felix Zielcke <fzielcke@z-51.de>
17616
17617 * util/grub.d/30_os-prober.in: Fix a comment. Source
17618 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
17619 to set the root device. Place drivemap command in the generated
17620 chain entry.
17621
e65acb0c 176222009-06-11 Pavel Roskin <proski@gnu.org>
17623
17624 * configure.ac: Remove host_m32. Issues with 64-bit utilities
17625 have long been resolved.
17626
f285fe2d 176272009-06-11 Colin Watson <cjwatson@ubuntu.com>
17628
bd47b0b5 17629 * util/grub.d/10_linux.in: Capitalise "Linux".
17630
f285fe2d 17631 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
17632
a0c62e4e 176332009-06-11 Pavel Roskin <proski@gnu.org>
17634
b6783cb2 17635 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
17636 fix a gcc warning and ensure that the function won't ever exit.
17637
dde032e8 17638 * kern/i386/ieee1275/init.c: Add missing prototype for
17639 grub_stop_floppy().
17640
22cd079d 17641 * loader/ieee1275/multiboot2.c [__i386__]: Include
17642 grub/cpu/multiboot.h.
17643
a0c62e4e 17644 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
17645 casts to short - they are not portable and cause warnings. Fix
17646 use of uninitialized values in input_buf. Use ARRAY_SIZE.
17647
63963d17 176482009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
17649
17650 Drivemap fixes
17651
17652 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
17653 new function
17654 (grub_get_root_biosnumber_saved): new variable
17655 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
17656 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 17657 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 17658 %dx after the call if necessary
17659 * conf/common.rmk (pkglib_MODULES): remove boot.mod
17660 (boot_mod_SOURCES): remove
17661 (boot_mod_CFLAGS): remove
17662 (boot_mod_LDFLAGS): remove
17663 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
17664 (boot_mod_SOURCES): new variable
17665 (boot_mod_CFLAGS): likewise
17666 (boot_mod_LDFLAGS): likewise
17667 * conf/i386-efi.rmk: likewise
17668 * conf/i386-ieee1275.rmk: likewise
17669 * conf/i386-pc.rmk: likewise
17670 * conf/powerpc-ieee1275.rmk: likewise
17671 * conf/sparc64-ieee1275.rmk: likewise
17672 * conf/x86_64-efi.rmk: likewise
17673 * include/grub/i386/pc/biosnum.h: new file
17674 * lib/i386/pc/biosnum.c: likewise
17675 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
17676 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
17677 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 17678
33abf7ae 176792009-06-10 Pavel Roskin <proski@gnu.org>
17680
5ac35b35 17681 * io/gzio.c (test_header): Don't reuse one buffer for all data.
17682 Use separate variables. Read only the file size at the end, but
17683 not the checksum that we don't use.
17684
5c5215d5 17685 * kern/file.c (grub_file_read): Use void pointer for the buffer.
17686 Adjust all callers.
17687
27d5fef7 17688 * kern/ieee1275/openfw.c: Remove libc includes.
17689 * kern/ieee1275/cmain.c: Likewise.
17690 * include/grub/ieee1275/ieee1275.h: Likewise.
17691
33abf7ae 17692 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
17693 compiler warnings.
17694
19d50c2b 176952009-06-10 Felix Zielcke <fzielcke@z-51.de>
17696
17697 * Makefile.in: Remove all trailing whitespace.
17698 * conf/i386-pc.rmk: Likewise.
17699 * conf/powerpc-ieee1275.rmk: Likewise.
17700 * conf/sparc64-ieee1275.rmk: Likewise.
17701 * docs/grub.texi: Likewise.
17702 * docs/texinfo.tex: Likewise.
17703 * disk/fs_uuid.c: Likewise.
17704 * disk/lvm.c: Likewise.
17705 * disk/scsi.c: Likewise.
17706 * disk/ata.c: Likewise.
17707 * disk/ieee1275/ofdisk.c: Likewise.
17708 * disk/i386/pc/biosdisk.c: Likewise.
17709 * disk/host.c: Likewise.
17710 * disk/raid.c: Likewise.
17711 * disk/efi/efidisk.c: Likewise.
17712 * disk/usbms.c: Likewise.
17713 * disk/memdisk.c: Likewise.
17714 * disk/loopback.c: Likewise.
17715 * kern/powerpc/dl.c: Likewise.
17716 * kern/device.c: Likewise.
17717 * kern/dl.c: Likewise.
17718 * kern/sparc64/dl.c: Likewise.
17719 * kern/ieee1275/ieee1275.c: Likewise.
17720 * kern/term.c: Likewise.
17721 * kern/fs.c: Likewise.
17722 * kern/i386/dl.c: Likewise.
17723 * kern/i386/pc/startup.S: Likewise.
17724 * kern/i386/pc/init.c: Likewise.
17725 * kern/i386/pc/mmap.c: Likewise.
17726 * kern/i386/pc/lzo1x.S: Likewise.
17727 * kern/i386/ieee1275/init.c: Likewise.
17728 * kern/i386/realmode.S: Likewise.
17729 * kern/i386/tsc.c: Likewise.
17730 * kern/partition.c: Likewise.
17731 * kern/corecmd.c: Likewise.
17732 * kern/file.c: Likewise.
17733 * kern/efi/efi.c: Likewise.
17734 * kern/efi/init.c: Likewise.
17735 * kern/efi/mm.c: Likewise.
17736 * kern/main.c: Likewise.
17737 * kern/err.c: Likewise.
17738 * kern/env.c: Likewise.
17739 * kern/disk.c: Likewise.
17740 * kern/generic/millisleep.c: Likewise.
17741 * kern/generic/rtc_get_time_ms.c: Likewise.
17742 * kern/misc.c: Likewise.
17743 * kern/parser.c: Likewise.
17744 * genmk.rb: Likewise.
17745 * configure.ac: Likewise.
17746 * boot/i386/pc/diskboot.S: Likewise.
17747 * boot/i386/pc/pxeboot.S: Likewise.
17748 * boot/i386/pc/boot.S: Likewise.
17749 * boot/i386/pc/lnxboot.S: Likewise.
17750 * boot/i386/pc/cdboot.S: Likewise.
17751 * parttool/pcpart.c: Likewise.
17752 * video/readers/tga.c: Likewise.
17753 * video/video.c: Likewise.
17754 * video/bitmap.c: Likewise.
17755 * lib/envblk.c: Likewise.
17756 * lib/i386/setjmp.S: Likewise.
17757 * fs/xfs.c: Likewise.
17758 * fs/afs.c: Likewise.
17759 * fs/fat.c: Likewise.
17760 * fs/ntfs.c: Likewise.
17761 * fs/udf.c: Likewise.
17762 * fs/affs.c: Likewise.
17763 * fs/iso9660.c: Likewise.
17764 * fs/hfs.c: Likewise.
17765 * fs/fshelp.c: Likewise.
17766 * fs/ext2.c: Likewise.
17767 * fs/jfs.c: Likewise.
17768 * fs/reiserfs.c: Likewise.
17769 * fs/hfsplus.c: Likewise.
17770 * fs/minix.c: Likewise.
17771 * fs/cpio.c: Likewise.
17772 * fs/sfs.c: Likewise.
17773 * fs/ufs.c: Likewise.
17774 * efiemu/prepare.c: Likewise.
17775 * efiemu/loadcore_common.c: Likewise.
17776 * efiemu/runtime/efiemu.sh: Likewise.
17777 * efiemu/runtime/efiemu.S: Likewise.
17778 * efiemu/runtime/efiemu.c: Likewise.
17779 * efiemu/pnvram.c: Likewise.
17780 * efiemu/main.c: Likewise.
17781 * efiemu/i386/pc/cfgtables.c: Likewise.
17782 * efiemu/i386/loadcore64.c: Likewise.
17783 * efiemu/i386/loadcore32.c: Likewise.
17784 * efiemu/loadcore.c: Likewise.
17785 * efiemu/symbols.c: Likewise.
17786 * efiemu/mm.c: Likewise.
17787 * include/grub/autoefi.h: Likewise.
17788 * include/grub/datetime.h: Likewise.
17789 * include/grub/term.h: Likewise.
17790 * include/grub/hfs.h: Likewise.
17791 * include/grub/lvm.h: Likewise.
17792 * include/grub/i386/tsc.h: Likewise.
17793 * include/grub/i386/linux.h: Likewise.
17794 * include/grub/i386/xnu.h: Likewise.
17795 * include/grub/i386/efiemu.h: Likewise.
17796 * include/grub/i386/pc/biosdisk.h: Likewise.
17797 * include/grub/i386/pc/memory.h: Likewise.
17798 * include/grub/i386/pc/vbe.h: Likewise.
17799 * include/grub/parttool.h: Likewise.
17800 * include/grub/video.h: Likewise.
17801 * include/grub/memory.h: Likewise.
17802 * include/grub/fs.h: Likewise.
17803 * include/grub/partition.h: Likewise.
17804 * include/grub/xnu.h: Likewise.
17805 * include/grub/efi/api.h: Likewise.
17806 * include/grub/efi/pe32.h: Likewise.
17807 * include/grub/efi/memory.h: Likewise.
17808 * include/grub/multiboot.h: Likewise.
17809 * include/grub/usbdesc.h: Likewise.
17810 * include/grub/multiboot2.h: Likewise.
17811 * include/grub/acpi.h: Likewise.
17812 * include/grub/efiemu/efiemu.h: Likewise.
17813 * include/grub/disk.h: Likewise.
17814 * include/grub/ieee1275/ieee1275.h: Likewise.
17815 * include/grub/net.h: Likewise.
17816 * include/grub/machoload.h: Likewise.
17817 * include/grub/macho.h: Likewise.
17818 * include/multiboot.h: Likewise.
17819 * genmoddep.awk: Likewise.
17820 * normal/main.c: Likewise.
17821 * normal/menu_entry.c: Likewise.
17822 * normal/menu_viewer.c: Likewise.
17823 * normal/completion.c: Likewise.
17824 * normal/cmdline.c: Likewise.
17825 * normal/misc.c: Likewise.
17826 * normal/datetime.c: Likewise.
17827 * bus/usb/usbtrans.c: Likewise.
17828 * bus/usb/ohci.c: Likewise.
17829 * bus/usb/uhci.c: Likewise.
17830 * bus/usb/usb.c: Likewise.
17831 * mmap/efi/mmap.c: Likewise.
17832 * mmap/i386/pc/mmap_helper.S: Likewise.
17833 * mmap/i386/pc/mmap.c: Likewise.
17834 * mmap/i386/mmap.c: Likewise.
17835 * mmap/i386/uppermem.c: Likewise.
17836 * mmap/mmap.c: Likewise.
17837 * commands/acpi.c: Likewise.
17838 * commands/echo.c: Likewise.
17839 * commands/blocklist.c: Likewise.
17840 * commands/loadenv.c: Likewise.
17841 * commands/usbtest.c: Likewise.
17842 * commands/boot.c: Likewise.
17843 * commands/parttool.c: Likewise.
17844 * commands/search.c: Likewise.
17845 * commands/cat.c: Likewise.
17846 * commands/i386/pc/play.c: Likewise.
17847 * commands/i386/pc/drivemap.c: Likewise.
17848 * commands/i386/pc/vbeinfo.c: Likewise.
17849 * commands/i386/pc/acpi.c: Likewise.
17850 * commands/i386/pc/vbetest.c: Likewise.
17851 * commands/ls.c: Likewise.
17852 * commands/cmp.c: Likewise.
17853 * commands/test.c: Likewise.
17854 * commands/efi/acpi.c: Likewise.
17855 * commands/gptsync.c: Likewise.
17856 * commands/help.c: Likewise.
17857 * partmap/amiga.c: Likewise.
17858 * partmap/apple.c: Likewise.
17859 * partmap/acorn.c: Likewise.
17860 * partmap/pc.c: Likewise.
17861 * partmap/sun.c: Likewise.
17862 * partmap/gpt.c: Likewise.
17863 * script/sh/lexer.c: Likewise.
17864 * script/sh/function.c: Likewise.
17865 * font/font.c: Likewise.
17866 * font/font_cmd.c: Likewise.
17867 * loader/powerpc/ieee1275/linux.c: Likewise.
17868 * loader/efi/chainloader.c: Likewise.
17869 * loader/multiboot_loader.c: Likewise.
17870 * loader/macho.c: Likewise.
17871 * loader/i386/multiboot.c: Likewise.
17872 * loader/i386/linux.c: Likewise.
17873 * loader/i386/pc/linux.c: Likewise.
17874 * loader/i386/pc/multiboot2.c: Likewise.
17875 * loader/i386/pc/chainloader.c: Likewise.
17876 * loader/i386/pc/xnu.c: Likewise.
17877 * loader/i386/bsd_trampoline.S: Likewise.
17878 * loader/i386/efi/linux.c: Likewise.
17879 * loader/i386/multiboot_elfxx.c: Likewise.
17880 * loader/i386/bsd_helper.S: Likewise.
17881 * loader/i386/bsd.c: Likewise.
17882 * loader/i386/linux_trampoline.S: Likewise.
17883 * loader/i386/xnu_helper.S: Likewise.
17884 * loader/i386/xnu.c: Likewise.
17885 * loader/i386/bsd_pagetable.c: Likewise.
17886 * loader/i386/multiboot_helper.S: Likewise.
17887 * loader/xnu.c: Likewise.
17888 * loader/xnu_resume.c: Likewise.
17889 * io/gzio.c: Likewise.
17890 * term/efi/console.c: Likewise.
17891 * term/terminfo.c: Likewise.
17892 * term/ieee1275/ofconsole.c: Likewise.
17893 * term/i386/pc/serial.c: Likewise.
17894 * term/i386/pc/vesafb.c: Likewise.
17895 * term/i386/pc/vga.c: Likewise.
17896 * term/usb_keyboard.c: Likewise.
17897 * term/gfxterm.c: Likewise.
17898 * aclocal.m4: Likewise.
17899 * util/lvm.c: Likewise.
17900 * util/grub.d/30_os-prober.in: Likewise.
17901 * util/grub.d/10_hurd.in: Likewise.
17902 * util/console.c: Likewise.
17903 * util/grub-macho2img.c: Likewise.
17904 * util/grub-probe.c: Likewise.
17905 * util/hostfs.c: Likewise.
17906 * util/i386/pc/grub-mkimage.c: Likewise.
17907 * util/i386/pc/grub-setup.c: Likewise.
17908 * util/i386/efi/grub-mkimage.c: Likewise.
17909 * util/grub-mkconfig.in: Likewise.
17910 * util/raid.c: Likewise.
17911 * util/resolve.c: Likewise.
17912 * util/grub-mkdevicemap.c: Likewise.
17913 * util/grub-emu.c: Likewise.
17914 * util/getroot.c: Likewise.
17915 * util/hostdisk.c: Likewise.
17916 * util/usb.c: Likewise.
17917 * util/grub-editenv.c: Likewise.
17918 * util/misc.c: Likewise.
17919
d2d49665 179202009-06-10 Felix Zielcke <fzielcke@z-51.de>
17921
17922 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
17923 `genparttoollist.sh'.
17924 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
17925 Add `*.sh' to the list find searches for and change `mdate.sh'
17926 to `mdate-sh'.
17927
fe052e37 179282009-06-10 Pavel Roskin <proski@gnu.org>
17929
2763ac18 17930 * include/grub/multiboot2.h: Provide compatibility defines for
17931 multiboot2.h.
17932 * include/multiboot2.h: Include stdint.h only if needed, using
17933 angle brackets.
17934 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
17935 grub/multiboot2.h.
17936 * loader/ieee1275/multiboot2.c: Likewise.
17937 * loader/multiboot2.c: Likewise.
17938 * loader/multiboot_loader.c: Likewise.
17939
437e6adc 17940 * configure.ac: Use -nostdlib when probing for the target. It
17941 should not be required to have libc for the target.
17942
06a6836c 17943 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
17944 they fail without libc headers for the target.
17945 * include/grub/powerpc/libgcc.h: Use weak attribute for all
17946 exports.
17947 * include/grub/sparc64/libgcc.h: Likewise. Don't use
17948 preprocessor conditionals.
17949
fe052e37 17950 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
17951 build system doesn't need to be aware of the tar.c internals.
17952
afd22553 179532009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 17954
afd22553 17955 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 17956
6b787c4f 179572009-06-09 Robert Millan <rmh.grub@aybabtu.com>
17958
17959 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
17960 disk limit to 26 for IDE, Virtio, Xen and SCSI.
17961
179622009-06-09 Felix Zielcke <fzielcke@z-51.de>
17963
17964 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 17965 aren't available if ata.mod gets used.
6b787c4f 17966
473d1e45 179672009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 17968
473d1e45 17969 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 17970 initialising controller.
473d1e45 17971 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 17972
255a27d4 179732009-06-08 Felix Zielcke <fzielcke@z-51.de>
17974
17975 * util/i386/pc/grub-install.in: Add a parameter --disk-module
17976 to choose between ata and biosdisk module on i386-pc.
17977
473d1e45 179782009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 17979
d55842d8 17980 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
17981 Subclass and Programming Interface fields in terms of the 3 byte
17982 Class Code register.
17983 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17984
fa5db0b1 17985 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
17986 interface is OHCI. Add grub_dprintf for symmetry with
17987 bus/usb/uhci.c.
17988 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
17989 interface is UHCI. Add interf variable for programming
17990 interface. Print interface with class/subclass.
17991
c0947beb 17992 * bus/usb/ohci.c: Set interf with correct field.
17993
69da8877 17994 * bus/usb/uhci.c: Remove unneeded doubled lines.
17995 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
17996 Remove whitespace inside comment.
17997
9e172e30 179982009-06-08 Robert Millan <rmh.grub@aybabtu.com>
17999
18000 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
18001 as fallback an equivalent option without depth.
18002
de65ee2b 180032009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
18004
18005 Not fail if unable to retrieve C/H/S on LBA disks
18006
473d1e45 18007 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 18008 if unable to retrieve C/H/S on LBA disks
18009
b57ea2c9 180102009-06-08 Pavel Roskin <proski@gnu.org>
18011
18012 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
18013 about aliasing.
18014
af361263 180152009-06-08 Felix Zielcke <fzielcke@z-51.de>
18016
18017 * Makefile.in (uninstall): Remove all $lib_DATA files.
18018
4c9ec6b3 180192009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
18020
18021 Bugfix: install on partitionless device
18022
18023 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
18024 is a whole disk
18025
e76fc924 180262009-06-08 Felix Zielcke <fzielcke@z-51.de>
18027
18028 * Makefile.in (uninstall): Remove all $include_DATA files.
18029
ba5a0d05 180302009-06-08 Felix Zielcke <fzielcke@z-51.de>
18031
18032 * commands/true.c: New file. Implement the true and false commands.
18033 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
18034 (true_mod_SOURCES): New variable.
18035 (true_mod_CFLAGS): Likewise.
18036 (true_mod_LDFLAGS): Likewise.
18037
c8048e32 180382009-06-05 Colin D Bennett <colin@gibibit.com>
18039
18040 Optimized font character lookup using binary search instead of linear
18041 search. Fonts now are required to have the character index ordered by
18042 code point.
18043
18044 * font/font.c (load_font_index): Verify that fonts have ordered
18045 character indices.
18046 (find_glyph): Use binary search instead of linear search to find a
18047 character in a font.
18048
408305be 180492009-06-05 Michael Scherer <misc@mandriva.org>
18050
18051 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
18052 uses case sensitive btree.
18053 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
18054 only for case insensitive filesystems.
18055
8ee1e0d9 180562009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
18059 * conf/common.rmk (search_mod_CFLAGS): likewise
18060
a9966eb1 180612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18062
473d1e45 18063 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 18064 compensate a compiler bug
18065
9e7100fb 180662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18067
473d1e45 18068 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 18069 instead of '\b'
473d1e45 18070
ede21d71 180712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18072
18073 Definitions for creating asm symbols with Apple's CC
18074
18075 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
18076 [APPLE_CC] (VARIABLE): likewise
18077
9dbf7653 180782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18079
18080 Disable lnxboot.img when compiled
18081 with Apple's CC
18082
18083 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
18084 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
18085 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
18086 [! APPLE_CC] (CODE_LENG): skip
18087 [! APPLE_CC] (setup_sects): likewise
18088 [! APPLE_CC]: skip filling
473d1e45 18089
e93cdc3d 180902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18091
18092 Address in trampolines based on 32-bit registers when compiled
18093 with Apple's CC
18094
473d1e45 18095 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 18096 for addresses
18097 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
18098
6c688477 180992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18100
18101 Avoid aliases when compiling with Apple's CC for PCBIOS machine
18102
18103 * kern/misc.c [APPLE_CC] (memcpy): new function
18104 [APPLE_CC] (memmove): likewise
18105 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 18106 (memcpy): define alias conditionally on !APPLE_CC
6c688477 18107 (memset): likewise
18108 (abort): likewise
18109 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
18110 APPLE_CC are defined
18111 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
18112 (grub_assert_fail): make prototype conditional
18113
e37ffc5c 181142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18115
18116 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
18117
473d1e45 18118 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
18119 grub-macho2img
e37ffc5c 18120 (CLEANFILES): add grub-macho2img
18121 (grub_macho2img_SOURCES): new variable
18122 * kern/i386/pc/startup.S (bss_start): new variable
18123 (bss_end): likewise
18124 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
18125 * util/grub-macho2img.c: new file
18126
cf00df31 181272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18128
18129 Use objconv when compiling with Apple's CC
18130
18131 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
18132 (efiemu64.o): likewise
18133 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
18134 when compiling with Apple's CC
18135 (efiemu64_s.o): likewise
18136 * configure.ac: check for objconv when compiling with Apple's CC
18137 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 18138
d119a20c 181392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18140
18141 Define segment as well as section when compiling with
18142 Apple's CC
18143
18144 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
18145 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
18146 (efiemu_convert_pointer): likewise
18147 (efiemu_set_virtual_address_map): likewise
18148 (efiemu_convert_pointer): likewise
18149 (efiemu_getcrc32): likewise
18150 (init_crc32_table): likewise
18151 (reflect): likewise
18152 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
18153 (GRUB_MOD_DEP): likewise
473d1e45 18154
c8600122 181552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18156
18157 Allow a compilation without -mcmodel=large
18158
18159 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
18160 when compiled without -mcmodel=large
473d1e45 18161 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 18162 without -mcmodel=large
473d1e45 18163 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 18164 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 18165
e8df1d4e 181662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18167
18168 Remove nested functions in efiemu core
18169
18170 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 18171
cc6c3ac1 181722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18173
18174 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
18175
18176 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
18177 temporary storage
473d1e45 18178 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
18179 using Apple's CC
cc6c3ac1 18180 (grub_cpu_is_tsc_supported): likewise
18181 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 18182
3e325901 181832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18184
18185 Absolute addressing through constant with Apple's cc
18186
18187 * kern/i386/pc/startup.S: Define necessary constants
18188 and address through it when using ABS with Apple's CC
18189 * boot/i386/pc/diskboot.S: likewise
18190 * boot/i386/pc/boot.S: likewise
18191 * boot/i386/pc/lnxboot.S: likewise
18192 * boot/i386/pc/cdboot.S: likewise
18193 * mmap/i386/pc/mmap_helper.S: likewise
18194 * commands/i386/pc/drivemap_int13h.S: likewise
18195
2b167a72 181962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18197
18198 Check if compiler is apple cc
18199
18200 * Makefile.in (ASFLAGS): new variable
18201 (TARGET_ASFLAGS): likewise
18202 (TARGET_MODULE_FORMAT): likewise
18203 (TARGET_APPLE_CC): likewise
18204 (OBJCONV): likewise
18205 (TARGET_IMG_CFLAGS): likewise
18206 (TARGET_CPPFLAGS): add includedir
18207 * configure.ac: call grub_apple_cc and grub_apple_target_cc
18208 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
18209 Check for linker script only if compiler isn't Apple's CC
18210 (TARGET_MODULE_FORMAT): set
18211 (TARGET_APPLE_CC): likewise
18212 (TARGET_ASFLAGS): likewise
18213 (ASFLAGS): likewise
18214 Check for objcopy only if compiler isn't Apple's CC
18215 Check for BSS symbol only if compiler isn't Apple's CC
18216 * genmk.rb: adapt nm options if we use Apple's utils
18217 * aclocal.m4 (grub_apple_cc): new test
18218 (grub_apple_target_cc): likewise
473d1e45 18219
fb14123e 182202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18221
18222 Simplify sed expressions and improve awk
18223
18224 * Makefile.in (install-local): simplify sed expression
18225 * gencmdlist.sh: likewise
18226 * genmoddep.awk: avoid adding module as a dependency of itself
18227
5b889789 182282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18229
18230 Add missing start symbols
18231
18232 * boot/i386/pc/boot.S: add start
fb14123e 18233 * boot/i386/pc/pxeboot.S: likewise
473d1e45 18234
fd2bf2e3 182352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18236
18237 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 18238
18239 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 18240 (relocate_addresses): consider both r_addend and value at offset
18241 (make_mods_section): zerofill modinfo and header
18242 (convert_elf): write prefix here
473d1e45 18243
5389763d 182442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18245
18246 Use .asciz instead of .string
18247
18248 * i386/pc/diskboot.S: use .asciz instead of .string
18249 * i386/pc/boot.S: likewise
18250 * include/grub/dl.h (GRUB_MOD_DEP): likewise
18251 (GRUB_MOD_NAME): likewise
473d1e45 18252
3eb5ed4e 182532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18254
18255 gfxpayload support
18256
18257 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
18258 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
18259 (grub_video_setup): remove
18260 (grub_video_set_mode): new prototype
18261 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
18262 (vid_mode): remove
18263 (linux_vesafb_res): compile only on PCBIOS
18264 (grub_linux_boot): support gfxpayload
18265 * loader/i386/pc/xnu.c (video_hook): new function
18266 (grub_xnu_set_video): support gfxpayload
18267 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
18268 (DEFAULT_VIDEO_HEIGHT): likewise
18269 (DEFAULT_VIDEO_FLAGS): likewise
18270 (DEFAULT_VIDEO_MODE): new definition
18271 (video_hook): new function
18272 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 18273 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 18274 loading xnu
18275 * video/video.c (grub_video_setup): removed
473d1e45 18276 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 18277 grub_video_setup
18278
4b0e1143 182792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18280
18281 Avoid calling biosdisk in drivemap
18282
18283 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
18284 (revparse_biosdisk): likewise
18285 (list_mappings): derive name from id directly
18286 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 18287
fda6cb98 182882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18289
18290 Script fixes
18291
18292 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
18293 (grub_lexer_param): add tokenonhold
18294 (grub_script_create_cmdline): remove cmdline. All callers updated
18295 (grub_script_function_create): make functionname
18296 grub_script_arg. All callers updated
18297 (grub_script_execute_argument_to_string): new prototype
18298 * kern/parser.c (state_transitions): reorder
18299 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 18300 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 18301 make global
18302 (grub_script_execute_cmdline): use new format
18303 * script/sh/function.c (grub_script_function_create): make functionname
18304 grub_script_arg. All callers updated
473d1e45 18305 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 18306 (grub_script_yylex): remove
18307 (grub_script_yylex2): renamed to ...
18308 (grub_script_yylex): ...renamed
18309 parse the expressions like a${b}c
18310 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
18311 (GRUB_PARSER_TOKEN_VAR): remove
18312 (GRUB_PARSER_TOKEN_NAME): likewise
18313 ("if"): declare as typeless
18314 ("while"): likewise
18315 ("function"): likewise
18316 ("else"): likewise
18317 ("then"): likewise
18318 ("fi"): likewise
18319 (text): remove
18320 (argument): likewise
18321 (script): accept empty scripts and make exit on error
18322 (arguments): use GRUB_PARSER_TOKEN_ARG
18323 (function): likewise
18324 (command): move error handling to script
18325 (menuentry): move grub_script_lexer_ref before
473d1e45 18326 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 18327 argument. All callers updated
18328
f4448a07 183292009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18330
18331 Prevent GRUB from probing floppies during boot.
18332
18333 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
18334 * commands/search.c (options): Add --no-floppy.
18335 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
18336 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
18337 --no-floppy when searching for UUIDs.
18338
2bf5885a 183392009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18340
18341 Simplify the code duplication in commands/search.c.
18342
18343 * commands/search.c (search_label, search_fs_uuid): Merge into ...
18344 (search_fs): ... this. Update all users.
18345
f6fd460a 183462009-06-03 Felix Zielcke <fzielcke@z-51.de>
18347
18348 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
18349
cbb3c83e 183502009-05-28 Pavel Roskin <proski@gnu.org>
18351
57788cfd 18352 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
18353 Remove the original symlink explicitly.
18354
cbb3c83e 18355 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
18356 just one slash. That's how grub_fshelp_find_file() does it.
18357
cd0d5e30 183582009-05-26 Pavel Roskin <proski@gnu.org>
18359
f0f8bbe2 18360 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
18361 to `str'.
18362
cd0d5e30 18363 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
18364 possibly unused.
18365
8c2cab51 183662009-05-25 Christian Franke <franke@computer.org>
18367
18368 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
18369 register.
18370 (grub_atapi_identify): Add wait after drive select.
18371 (grub_ata_identify): Do more strict status register check before
18372 calling grub_atapi_identify (). Suppress error message if status
18373 register is 0x00 after command failure. Add status register
18374 check after PIO read to avoid bogus identify due to stuck DRQ.
18375 Thanks to Pavel Roskin for testing.
18376 (grub_device_initialize): Remove unsafe status register check.
18377 Thanks to 'phcoder' for problem report and patch.
18378 Prevent sign extension in debug message.
18379
230c0ad6 183802009-05-23 Colin D Bennett <colin@gibibit.com>
18381
18382 Cleaned up `include/grub/normal.h'. Grouped prototypes by
18383 definition file, and functions defined in `normal/menu.c' have had
18384 their prototypes moved to `include/grub/menu.h' for consistency.
18385
18386 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
18387 from normal.h.
18388 (grub_menu_get_entry): Likewise.
18389 (grub_menu_get_timeout): Likewise.
18390 (grub_menu_set_timeout): Likewise.
18391 (grub_menu_execute_entry): Likewise.
18392 (grub_menu_execute_with_fallback): Likewise.
18393 (grub_menu_entry_run): Likewise.
18394
18395 * include/grub/normal.h: Re-ordered and grouped function
18396 prototypes by file that the function is defined in.
18397 (grub_menu_execute_callback): Removed; moved to menu.h.
18398 (grub_menu_get_entry): Likewise.
18399 (grub_menu_get_timeout): Likewise.
18400 (grub_menu_set_timeout): Likewise.
18401 (grub_menu_execute_entry): Likewise.
18402 (grub_menu_execute_with_fallback): Likewise.
18403 (grub_menu_entry_run): Likewise.
18404 (grub_menu_addentry): Renamed from this ...
18405 (grub_normal_add_menu_entry): ... to this.
18406
18407 * normal/main.c (grub_menu_addentry): Renamed from this ...
18408 (grub_normal_add_menu_entry): ... to this.
18409
18410 * script/sh/execute.c (grub_script_execute_menuentry): Update
18411 reference to renamed grub_menu_addentry function.
18412
861f03a5 184132009-05-23 Felix Zielcke <fzielcke@z-51.de>
18414
18415 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
18416
96b1619a 184172009-05-22 Pavel Roskin <proski@gnu.org>
18418
bf6a5fb2 18419 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
18420 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
18421 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
18422 compiling for the i386 targets, but not for the utilities.
18423
96b1619a 18424 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
18425 to grub_uint8_t.
18426 (grub_root_drive): Likewise.
18427 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
18428 remove alignment.
18429 (grub_root_drive): Change size to byte.
18430 (grub_start_addr): Remove.
18431 (grub_end_addr): Likewise.
18432 (grub_apm_bios_info): Likewise.
18433
b729776b 184342009-05-21 Felix Zielcke <fzielcke@z-51.de>
18435
18436 * normal/i386: Remove.
18437 * normal/powerpc: Likewise.
18438 * normal/sparc64: Likewise.
18439 * normal/x86_64: Likewise.
18440
0a15ce80 184412009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18442
18443 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 18444 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 18445 * loader/i386/xnu_helper.S: Likewise
d6da58e6 18446
33db9015 184472009-05-18 Colin D Bennett <colin@gibibit.com>
18448
d6da58e6 18449 Display error messages when parsing a Lua statement fails.
18450 Previously, executing a syntactically invalid statement like
18451 ")foo" or "bar;" would silently fail.
33db9015 18452
18453 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 18454 (grub_lua_parse_line): Improved reporting of Lua parser and
18455 execution errors.
33db9015 18456
46422c89 184572009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18458
18459 Remove -Werror which causes build to fail on some systems
18460
18461 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
18462 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
18463 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 18464
22f53a96 184652009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18466
18467 trampoline for linux on 64-bit platform
18468
18f547ad 18469 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
18470 loader/i386/efi/linux_trampoline.S
18471 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 18472 declaration
d6da58e6 18473 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
18474 here
22f53a96 18475 * loader/i386/linux_trampoline.S: moved here
d6da58e6 18476 * loader/i386/efi/linux.c (allocate_pages): reserve space for
18477 trampoline
22f53a96 18478 (jumpvector): removed
18479 (grub_linux_trampoline_start): new declaration
18480 (grub_linux_trampoline_end): likewise
18481 (grub_linux_boot): use trampoline when on 64-bit platform
18482 * loader/i386/linux.c: likewise
18483
cb5a0f40 184842009-05-16 Pavel Roskin <proski@gnu.org>
18485
18486 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
18487 const to avoid a warning.
18488 (grub_lua_setenv): Likewise.
18489 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
18490 lmsg to fix a warning.
18491
334f2c28 184922009-05-16 Felix Zielcke <fzielcke@z-51.de>
18493
18494 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 18495 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18496 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
18497 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18498 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18499 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18500 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18501 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 18502
59e5d3ec 185032009-05-16 Felix Zielcke <fzielcke@z-51.de>
18504
18505 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
18506
9d87a1ba 185072009-05-16 Bean <bean123ch@gmail.com>
18508
18509 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
18510 (lua_mod_SOURCES): New variable.
18511 (lua_mod_CFLAGS): Likewise.
18512 (lua_mod_LDFLAGS): Likewise.
18513
18514 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
18515 (setjmp_mod_SOURCES): New variable.
18516 (setjmp_mod_CFLAGS): Likewise.
18517 (setjmp_LDFLAGS): Likewise.
18518
18519 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
18520 (setjmp_mod_SOURCES): New variable.
18521 (setjmp_mod_CFLAGS): Likewise.
18522 (setjmp_LDFLAGS): Likewise.
18523
18524 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18525 (setjmp_mod_SOURCES): New variable.
18526 (setjmp_mod_CFLAGS): Likewise.
18527 (setjmp_LDFLAGS): Likewise.
18528
18529 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18530 (setjmp_mod_SOURCES): New variable.
18531 (setjmp_mod_CFLAGS): Likewise.
18532 (setjmp_LDFLAGS): Likewise.
18533
18534 * normal/i386/setjmp.S: Moved from here ...
18535 * lib/i386/setjmp.S: ... Moved here
18536 * normal/x86_64/setjmp.S: Moved from here ...
18537 * lib/x86_64/setjmp.S: ... Moved here
18538 * normal/powerpc/setjmp.S: Moved from here ...
18539 * lib/powerpc/setjmp.S: ... Moved here
18540 * normal/sparc64/setjmp.S: Moved from here ...
18541 * lib/sparc64/setjmp.S: ... Moved here
18542
18543 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
18544 returns_twice in mingw.
18545
18546 * script/lua/grub_lib.c: New file.
18547 * script/lua/grub_lib.h: Likewise.
18548 * script/lua/grub_lua.h: Likewise.
18549 * script/lua/grub_main.c: Likewise.
18550 * script/lua/lapi.c: Likewise.
18551 * script/lua/lapi.h: Likewise.
18552 * script/lua/lauxlib.c: Likewise.
18553 * script/lua/lauxlib.h: Likewise.
18554 * script/lua/lbaselib.c: Likewise.
18555 * script/lua/lcode.c: Likewise.
18556 * script/lua/lcode.h: Likewise.
18557 * script/lua/ldblib.c: Likewise.
18558 * script/lua/ldebug.c: Likewise.
18559 * script/lua/ldebug.h: Likewise.
18560 * script/lua/ldo.c: Likewise.
18561 * script/lua/ldo.h: Likewise.
18562 * script/lua/ldump.c: Likewise.
18563 * script/lua/lfunc.c: Likewise.
18564 * script/lua/lfunc.h: Likewise.
18565 * script/lua/lgc.c: Likewise.
18566 * script/lua/lgc.h: Likewise.
18567 * script/lua/linit.c: Likewise.
18568 * script/lua/liolib.c: Likewise.
18569 * script/lua/llex.c: Likewise.
18570 * script/lua/llex.h: Likewise.
18571 * script/lua/llimits.h: Likewise.
18572 * script/lua/lmathlib.c: Likewise.
18573 * script/lua/lmem.c: Likewise.
18574 * script/lua/lmem.h: Likewise.
18575 * script/lua/loadlib.c: Likewise.
18576 * script/lua/lobject.c: Likewise.
18577 * script/lua/lobject.h: Likewise.
18578 * script/lua/lopcodes.c: Likewise.
18579 * script/lua/lopcodes.h: Likewise.
18580 * script/lua/loslib.c: Likewise.
18581 * script/lua/lparser.c: Likewise.
18582 * script/lua/lparser.h: Likewise.
18583 * script/lua/lstate.c: Likewise.
18584 * script/lua/lstate.h: Likewise.
18585 * script/lua/lstring.c: Likewise.
18586 * script/lua/lstring.h: Likewise.
18587 * script/lua/lstrlib.c: Likewise.
18588 * script/lua/ltable.c: Likewise.
18589 * script/lua/ltable.h: Likewise.
18590 * script/lua/ltablib.c: Likewise.
18591 * script/lua/ltm.c: Likewise.
18592 * script/lua/ltm.h: Likewise.
18593 * script/lua/lua.h: Likewise.
18594 * script/lua/luaconf.h: Likewise.
18595 * script/lua/lualib.h: Likewise.
18596 * script/lua/lundump.c: Likewise.
18597 * script/lua/lundump.h: Likewise.
18598 * script/lua/lvm.c: Likewise.
18599 * script/lua/lvm.h: Likewise.
18600 * script/lua/lzio.c: Likewise.
18601 * script/lua/lzio.h: Likewise.
18602
5e898c9d 186032009-05-16 Bean <bean123ch@gmail.com>
18604
18605 * include/grub/kernel.h (grub_module_header_types): Add type
18606 OBJ_TYPE_CONFIG.
18607
18608 * kern/main.c (grub_load_config): New function.
18609 (grub_main): Call grub_load_config to read boot config.
18610
18611 * grub-mkimage (generate_image): New parameter config_path.
18612 (options): New option --config.
18613 (main): Parse --config option, and pass it to generate_image.
18614
cf353a47 186152009-05-14 Christian Franke <franke@computer.org>
18616
18617 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
18618 This fixes build on Cygwin.
18619
3834887f 186202009-05-14 Pavel Roskin <proski@gnu.org>
18621
18622 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
18623 jump. This saves two bytes, so the typical case of 2 swapped
18624 drives would fit 32 bytes.
18625
8090fc01 186262009-05-13 Pavel Roskin <proski@gnu.org>
18627
ac963883 18628 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
18629 grub_uint32_t to avoid a warning.
18630
8090fc01 18631 * loader/i386/linux.c (allocate_pages): When assigning
18632 real_mode_mem, cast through grub_size_t to fix a warning. The
18633 code already makes sure that the value would fit a pointer.
18634 (grub_linux_setup_video): Cast render_target->data to
18635 grub_size_t to fix a warning.
18636
18f547ad 186372009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 18638
18639 * commands/i386/pc/drivemap.c: New file - implement drivemap
18640 command.
18641 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
18642 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
18643
6f6a8b28 186442009-05-13 Pavel Roskin <proski@gnu.org>
18645
18646 * util/i386/pc/grub-setup.c (setup): Remove unused variable
18647 embedding_area_exists.
18648
15fbf4c4 186492009-05-13 Robert Millan <rmh.grub@aybabtu.com>
18650
18651 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
18652 it easier to understand / work with.
59978c8a 18653 Improve warning messages for cases where there's no embedding area,
18654 or when it is too small (or core.img too large).
15fbf4c4 18655
238e871f 186562009-05-13 Pavel Roskin <proski@gnu.org>
18657
0ab3a9a4 18658 * loader/i386/pc/multiboot2.c: Add necessary includes for
18659 grub_multiboot2_real_boot().
18660
a2c8c5f8 18661 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
18662 PX record is always little-endian. We only need the lower 2
18663 bytes of the mode.
18664
faec96af 18665 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
18666 facilitate code reuse.
18667 (grub_cpio_mount): Use "struct head", not a char buffer. This
18668 fixes a warning reported by gcc 4.4.
18669
238e871f 18670 * kernel/disk.c (grub_disk_read): Use void pointer for the
18671 buffer.
18672 (grub_disk_write): Use const void pointer for the buffer.
18673 Adjust all callers. Remove unnecessary casts.
18674
901d2f0c 186752009-05-10 Robert Millan <rmh.grub@aybabtu.com>
18676
18677 * util/i386/pc/grub-install.in: Update copyright year.
18678
18f547ad 186792009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 18680
18681 gptsync
18682
18683 * commands/gptsync.c: new file
18684 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
18685 (gptsync_mod_SOURCES): new variable
18686 (gptsync_mod_CFLAGS): likewise
18687 (gptsync_mod_LDFLAGS): likewise
18f547ad 18688 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 18689 new definition
18690 (GRUB_PC_PARTITION_TYPE_HFS): likewise
18691 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
18692 * conf/i386-ieee1275.rmk: likewise
18693 * conf/i386-pc.rmk: likewise
18694 * conf/powerpc-ieee1275.rmk: likewise
18695
b4ba690a 186962009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18697
18698 Fixed grub-emu
18699
18700 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
18701 (grub_dl_ref): likewise
18702
317e1a44 187032009-05-08 Robert Millan <rmh.grub@aybabtu.com>
18704
18705 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
18706 split in two functions (one for msdos and one for gpt).
18707
041b8094 187082009-05-08 Pavel Roskin <proski@gnu.org>
18709
752473c2 18710 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
18711 not modified.
18712
041b8094 18713 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
18714 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
18715 Initialize them with -1. Add sanity check for bad1. Eliminate
18716 nerr variable.
18717
172800ce 187182009-05-08 David S. Miller <davem@davemloft.net>
18719
18720 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
18721
29aa5e81 187222009-05-06 Robert Millan <rmh.grub@aybabtu.com>
18723
18724 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 18725 existence.
29aa5e81 18726
96613b62 187272009-05-05 Felix Zielcke <fzielcke@z-51.de>
18728
18729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 18730 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 18731
eef73c8a 187322009-05-05 David S. Miller <davem@davemloft.net>
18733
18734 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
18735
119494b5 187362009-05-05 Pavel Roskin <proski@gnu.org>
18737
18738 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
18739 of grub_dl_ref() and grub_dl_unref().
18740 * commands/parttool.c: Remove preprocessor conditionals around
18741 grub_dl_ref() and grub_dl_unref().
18742 * fs/affs.c: Likewise.
18743 * fs/afs.c: Likewise.
18744 * fs/cpio.c: Likewise.
18745 * fs/ext2.c: Likewise.
18746 * fs/fat.c: Likewise.
18747 * fs/hfs.c: Likewise.
18748 * fs/hfsplus.c: Likewise.
18749 * fs/iso9660.c: Likewise.
18750 * fs/jfs.c: Likewise.
18751 * fs/minix.c: Likewise.
18752 * fs/ntfs.c: Likewise.
18753 * fs/reiserfs.c: Likewise.
18754 * fs/sfs.c: Likewise.
18755 * fs/udf.c: Likewise.
18756 * fs/ufs.c: Likewise.
18757 * fs/xfs.c: Likewise.
18758 * include/grub/dl.h: Likewise.
18759 * loader/xnu.c: Likewise.
18760
de5fd76e 187612009-05-04 Pavel Roskin <proski@gnu.org>
18762
18763 * commands/acpi.c: Remove unused variable my_mod.
18764 * partmap/amiga.c: Likewise.
18765 * partmap/apple.c: Likewise.
18766 * partmap/gpt.c: Likewise.
18767 * partmap/pc.c: Likewise.
18768 * partmap/sun.c: Likewise.
18769 * term/gfxterm.c: Likewise.
18770 * term/i386/pc/vesafb.c: Likewise.
18771 * term/i386/pc/vga.c: Likewise.
18772
983598ad 187732009-05-04 David S. Miller <davem@davemloft.net>
18774
18775 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
18776 pointer args to grub_ieee1275_get_property().
18777
8aadec43 18778 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
18779
9554b15e 18780 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
18781 devices, and do not traverse down under controller nodes.
18782
67e23c90 18783 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
18784 (grub_ofdisk_open): Use it to un-escape "," characters.
18785 * kern/disk.c (find_part_sep): New.
18786 (grub_disk_open): Use it to find the first non-escaped ','
18787 character in the disk name.
18788 * util/ieee1275/devicemap.c (escape_of_path): New.
18789 (grub_util_emit_devicemap_entry): Use it.
18790 * util/sparc64/ieee1275/grub-install.in: Update script to
18791 strip partition specifiers properly by not triggering on
18792 '\' escaped ',' characters.
18793
74bfdd2f 187942009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18795
18796 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
18797 to 0x300.
18798 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
18799 resolutions.
18800 (linux_vesafb_modes): Add a lot of additional modes to the list (based
18801 on documentation from Wikipedia).
18802
4241d2b1 188032009-05-04 Pavel Roskin <proski@gnu.org>
18804
18805 * disk/ata.c: Spelling fixes.
18806 * disk/raid.c: Likewise.
18807 * disk/usbms.c: Likewise.
18808 * disk/dmraid_nvidia.c: Likewise.
18809 * kern/ieee1275/openfw.c: Likewise.
18810 * kern/ieee1275/init.c: Likewise.
18811 * kern/ieee1275/cmain.c: Likewise.
18812 * boot/i386/pc/cdboot.S: Likewise.
18813 * video/readers/png.c: Likewise.
18814 * video/i386/pc/vbe.c: Likewise.
18815 * fs/udf.c: Likewise.
18816 * fs/hfs.c: Likewise.
18817 * fs/reiserfs.c: Likewise.
18818 * efiemu/runtime/efiemu.c: Likewise.
18819 * efiemu/main.c: Likewise.
18820 * efiemu/mm.c: Likewise.
18821 * include/grub/elf.h: Likewise.
18822 * include/grub/xnu.h: Likewise.
18823 * include/grub/usbdesc.h: Likewise.
18824 * include/grub/usb.h: Likewise.
18825 * include/grub/script_sh.h: Likewise.
18826 * include/grub/lib/LzmaEnc.h: Likewise.
18827 * include/grub/efiemu/efiemu.h: Likewise.
18828 * include/grub/command.h: Likewise.
18829 * normal/menu.c: Likewise.
18830 * normal/main.c: Likewise.
18831 * normal/datetime.c: Likewise.
18832 * bus/usb/uhci.c: Likewise.
18833 * mmap/i386/uppermem.c: Likewise.
18834 * mmap/mmap.c: Likewise.
18835 * commands/acpi.c: Likewise.
18836 * commands/test.c: Likewise.
18837 * partmap/apple.c: Likewise.
18838 * font/font.c: Likewise.
18839 * loader/sparc64/ieee1275/linux.c: Likewise.
18840 * loader/macho.c: Likewise.
18841 * loader/i386/bsd_trampoline.S: Likewise.
18842 * loader/i386/bsd.c: Likewise.
18843 * loader/xnu.c: Likewise.
18844 * term/i386/pc/vesafb.c: Likewise.
18845 * term/usb_keyboard.c: Likewise.
18846 * util/resolve.c: Likewise.
18847 * util/getroot.c: Likewise.
18848
0cfc0083 188492009-05-04 Felix Zielcke <fzielcke@z-51.de>
18850
18851 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
18852
7c1d00cd 188532009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18854
18855 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
18856 build error.
18857
b01f0548 188582009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18859
18860 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
18861 parameter only available on BIOS.
18862
ecc3eb22 188632009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18864
18865 Removed wrong semicolon in declaration
18866
18867 * grub/misc.h (grub_dprintf): remove semicolon
18868
112972a9 188692009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18870
18871 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
18872 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
18873 is done by grub_cmd_linux() now).
18874 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
18875 restore video to text mode.
18876 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
18877 indicates lack of "vga=" parameter. "vga=0" is mapped to
18878 `GRUB_LINUX_VID_MODE_NORMAL'.
18879
afd5c115 188802009-05-04 Felix Zielcke <fzielcke@z-51.de>
18881
18882 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
18883 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
18884 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 18885 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 18886 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
18887 `grub_script.tab.c'.
18888
18889 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18890 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18892 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18893 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18894
faa517ce 18895 * Makefile.in: Remove duplicated 2008 in Copyright line.
18896
ae0c0bdc 188972009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18898
473d1e45 18899 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 18900 unconditionally.
18901 * include/grub/util/misc.h (grub_util_warn): New declaration.
18902
18903 * util/i386/pc/grub-install.in: Understand --force and pass it down
18904 to grub-setup.
18905
18906 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
18907 down to setup().
18908 (setup): Improve error messages and add warnings when requested to
18909 install in odd layouts. Refuse to install using blocklists unless
18910 --force was set.
18911
18f547ad 189122009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 18913
18914 * disk/raid.c (grub_raid_scan_device): Improve debug message.
18915
6d260daa 189162009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18917
18918 Updated copyright year
18919
18920 * fs/hfsplus.c: updated copyright year
18f547ad 18921
69f853f8 189222009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18923
18924 HFS+ UUID
18925
18f547ad 18926 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 18927 in the space previously used by unused3
18928 (grub_hfsplus_uuid): new function
18929 (grub_hfsplus_fs): added uuid field
18930
4c402e73 189312009-05-03 Pavel Roskin <proski@gnu.org>
18932
18933 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
18934 suppress warnings. It's no longer needed.
18935 * disk/host.c: Likewise.
18936 * disk/ata_pthru.c: Likewise.
18937 * disk/loopback.c: Likewise.
18938 * hook/datehook.c: Likewise.
18939 * parttool/pcpart.c: Likewise.
18940 * fs/i386/pc/pxe.c: Likewise.
18941 * fs/ntfscomp.c: Likewise.
18942 * efiemu/main.c: Likewise.
18943 * mmap/mmap.c: Likewise.
18944 * commands/crc.c: Likewise.
18945 * commands/hexdump.c: Likewise.
18946 * commands/hdparm.c: Likewise.
18947 * commands/acpi.c: Likewise.
18948 * commands/echo.c: Likewise.
18949 * commands/minicmd.c: Likewise.
18950 * commands/blocklist.c: Likewise.
18951 * commands/memrw.c: Likewise.
18952 * commands/loadenv.c: Likewise.
18953 * commands/usbtest.c: Likewise.
18954 * commands/lsmmap.c: Likewise.
18955 * commands/boot.c: Likewise.
18956 * commands/parttool.c: Likewise.
18957 * commands/configfile.c: Likewise.
18958 * commands/search.c: Likewise.
18959 * commands/ieee1275/suspend.c: Likewise.
18960 * commands/cat.c: Likewise.
18961 * commands/i386/pc/pxecmd.c: Likewise.
18962 * commands/i386/pc/play.c: Likewise.
18963 * commands/i386/pc/halt.c: Likewise.
18964 * commands/i386/pc/vbeinfo.c: Likewise.
18965 * commands/i386/pc/vbetest.c: Likewise.
18966 * commands/lspci.c: Likewise.
18967 * commands/date.c: Likewise.
18968 * commands/handler.c: Likewise.
18969 * commands/ls.c: Likewise.
18970 * commands/test.c: Likewise.
18971 * commands/cmp.c: Likewise.
18972 * commands/efi/loadbios.c: Likewise.
18973 * commands/efi/fixvideo.c: Likewise.
18974 * commands/halt.c: Likewise.
18975 * commands/help.c: Likewise.
18976 * commands/reboot.c: Likewise.
18977 * hello/hello.c: Likewise.
18978 * script/sh/main.c: Likewise.
18979 * loader/xnu.c: Likewise.
18980 * term/terminfo.c: Likewise.
18981 * term/i386/pc/serial.c: Likewise.
18982 * term/usb_keyboard.c: Likewise.
18983
515b5079 189842009-05-03 David S. Miller <davem@davemloft.net>
18985
18986 * normal/menu.c: Include grub/parser.h
18987
dfc31a22 189882009-05-03 Pavel Roskin <proski@gnu.org>
18989
2fee74f1 18990 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
18991 not char*.
18992 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
18993 Suggested by Javier Martín <lordhabbit@gmail.com>
18994
dfc31a22 18995 * util/i386/pc/grub-mkrescue.in: Allow for the case when
18996 efiemu??.o doesn't exist.
18997 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
18998 copying.
18999
18f547ad 190002009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 19001
19002 FreeBSD 64-bit support
19003
18f547ad 19004 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 19005 and loader/i386/bsd_trampoline.S
19006 (bsd_mod_ASFLAGS): new variable
19007 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
19008 (FREEBSD_MODTYPE_KERNEL64): likewise
19009 (grub_bsd64_trampoline_start): likewise
19010 (grub_bsd64_trampoline_end): likewise
19011 (grub_bsd64_trampoline_selfjump): likewise
19012 (grub_bsd64_trampoline_gdt): likewise
19013 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
19014 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
19015 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
19016 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 19017 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 19018 of "attrib" member
19019 * loader/i386/bsd_pagetable.c: new file
19020 * loader/i386/bsd_trampoline.S: likewise
19021 * loader/i386/bsd.c (ALIGN_QWORD): new macro
19022 (ALIGN_VAR): likewise
19023 (entry_hi): new variable
19024 (kern_end_mdofs): likewise
19025 (is_64bit): likewise
19026 (grub_freebsd_add_meta): use ALIGN_VAR
19027 (grub_e820_mmap): new declaration
19028 (grub_freebsd_add_mmap): new function
19029 (grub_freebsd_add_meta_module): support 64 bit kernels
19030 (grub_freebsd_list_modules): use ALIGN_VAR
19031 (gdt_descriptor): new declaration
19032 (grub_freebsd_boot): support 64 bit kernels
19033 (grub_bsd_elf64_hook): new function
19034 (grub_bsd_load_elf): support elf64
19035
038c5720 190362009-05-03 Bean <bean123ch@gmail.com>
19037
19038 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
19039 after we get the result of if statement.
19040
fc45fb58 190412009-05-03 Bean <bean123ch@gmail.com>
19042
19043 * Makefile.in (enable_efiemu): New variable.
19044
19045 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
19046 set.
19047 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
19048 path.
19049 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
19050 path, add -mno-red-zone option.
19051 (efiemu64_s.o): Likewise.
19052 (efiemu64.o): Use macro $^ for source file.
19053
19054 * configure.ac (--enable-efiemu): New option.
19055
bbee0f2b 190562009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19057
19058 xnu support
19059
19060 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
19061 (pkglib_MODULES): add xnu.mod
19062 (xnu_mod_SOURCES): new variable
19063 (xnu_mod_CFLAGS): likewise
19064 (xnu_mod_LDFLAGS): likewise
19065 (xnu_mod_ASFLAGS): likewise
19066 * conf/i386-pc.rmk: likewise
19067 * conf/x86_64-efi.rmk: likewise
7dd4a573 19068 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 19069 new declaration
19070 * include/grub/i386/macho.h: new file
19071 * include/grub/i386/xnu.h: likewise
19072 * include/grub/macho.h: likewise
19073 * include/grub/machoload.h: likewise
19074 * include/grub/x86_64/macho.h: likewise
19075 * include/grub/x86_64/xnu.h: likewise
19076 * include/grub/xnu.h: likewise
19077 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
19078 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
19079 * loader/i386/efi/xnu.c: new file
19080 * loader/i386/pc/xnu.c: likewise
19081 * loader/i386/xnu.c: likewise
19082 * loader/i386/xnu_helper.S: likewise
19083 * loader/macho.c: likewise
19084 * loader/xnu.c: likewise
19085 * loader/xnu_resume.c: likewise
19086 * util/grub-dumpdevtree: likewise
19087 * include/grub/i386/pit.h: include grub/err.h
19088 (grub_pit_wait): export
19089 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 19090
5caf964d 190912009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19092
19093 Efiemu
7dd4a573 19094
5caf964d 19095 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 19096 _linux_efi, linux_efi.
19097 new files in grub-emu
5caf964d 19098 new targets efiemu32.o and efiemu64.o
19099 * loader/linux_normal_efiemu.c: likewise
19100 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 19101 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 19102 files to copy
19103 * include/grub/autoefi.h: new file
7dd4a573 19104 * include/grub/i386/efiemu.h: likewise
5caf964d 19105 * include/grub/i386/pc/efiemu.h: likewise
19106 * include/grub/efi/api.h: add LL suffix when necessary
19107 new definitions relating to tables
19108 * include/grub/efiemu/efiemu.h: new file
19109 * include/grub/efiemu/runtime.h: likewise
19110 * efiemu/prepare.c: likewise
19111 * efiemu/loadcore_common.c: likewise
19112 * efiemu/loadcore64.c: likewise
19113 * efiemu/runtime/efiemu.sh: likewise
19114 * efiemu/runtime/efiemu.S: likewise
19115 * efiemu/runtime/efiemu.c: likewise
19116 * efiemu/runtime/config.h: likewise
19117 * efiemu/prepare32.c: likewise
19118 * efiemu/main.c: likewise
19119 * efiemu/modules/pnvram.c: likewise
19120 * efiemu/modules/i386: likewise
19121 * efiemu/modules/i386/pc: likewise
19122 * efiemu/modules/acpi.c: likewise
19123 * efiemu/i386/pc/cfgtables.c: likewise
19124 * efiemu/i386/loadcore64.c: likewise
19125 * efiemu/i386/loadcore32.c: likewise
19126 * efiemu/prepare64.c: likewise
19127 * efiemu/loadcore.c: likewise
19128 * efiemu/symbols.c: likewise
19129 * efiemu/mm.c: likewise
19130 * efiemu/loadcore32.c: likewise
7dd4a573 19131
191322009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 19133
19134 ACPI spoofing
19135
19136 * commands/acpi.c: new file
19137 * commands/i386/pc/acpi.c: likewise
19138 * commands/efi/acpi.c: likewise
19139 * include/grub/acpi.h: likewise
19140 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
19141 (acpi_mod_SOURCES): new variable
19142 (acpi_mod_CFLAGS): likewise
19143 (acpi_mod_LDFLAGS): likewise
19144 * conf/i386-efi.rmk: likewise
19145 * conf/x86_64-efi.rmk: likewise
19146
7dd4a573 191472009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 19148
19149 Missing part from mmap patch
19150
19151 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
19152 (grub_mmap_unregister)
19153 (grub_mmap_free_and_unregister): use grub_mmap_register
19154
7dd4a573 191552009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 19156
19157 Mmap services
19158
19159 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
19160 * loader/i386/linux.c (find_mmap_size): likewise
19161 (allocate_pages): likewise
19162 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
19163 (grub_fill_multiboot_mmap): likewise
19164 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
19165 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
19166 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
19167 (OPENBSD_MMAP_RESERVED): likewise
19168 * include/grub/i386/pc/memory.h: include grub/memory.h
19169 (grub_lower_mem): removed
19170 (grub_upper_mem): likewise
19171 (GRUB_MACHINE_MEMORY_ACPI): new definition
19172 (GRUB_MACHINE_MEMORY_NVS): likewise
19173 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
19174 (GRUB_MACHINE_MEMORY_HOLE): likewise
19175 (grub_machine_mmap_register): likewise
19176 (grub_machine_mmap_unregister): likewise
19177 (grub_machine_get_upper): likewise
19178 (grub_machine_get_lower): likewise
19179 (grub_machine_get_post64): likewise
19180 * include/grub/i386/efi/memory.h: new file
19181 * include/grub/x86_64/efi/memory.h: likewise
19182 * include/grub/efi/memory.h: likewise
19183 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
19184 (mmap_mod_SOURCES): new variable
19185 (mmap_mod_LDFLAGS): likewise
19186 (mmap_mod_ASFLAGS): likewise
19187 * conf/i386-coreboot.rmk: likewise
19188 * conf/i386-ieee1275.rmk: likewise
19189 * conf/i386-efi.rmk: likewise
19190 * conf/x86_64-efi.rmk: likewise
19191 * include/grub/types.h (UINT_TO_PTR): new macro
19192 (PTR_TO_UINT32): likewise
19193 (PTR_TO_UINT64): likewise
19194 * include/grub/memory.h: new file
19195 * mmap/i386/pc/mmap.c: likewise
19196 * mmap/i386/pc/mmap_helper.S: likewise
19197 * mmap/i386/uppermem.c: likewise
19198 * mmap/mmap.c: likewise
19199 * mmap/efi/mmap.c: likewise
7dd4a573 19200 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 19201 grub_upper_mem
19202 * kern/i386/pc/init.c (grub_lower_mem): removed variable
19203 (grub_upper_mem): likewise
19204 (grub_machine_init): don't use grub_upper_mem,
19205 make grub_lower_mem local
19206 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
19207 grub_mmap_iterate and grub_mmap_get_upper
19208 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
19209
d558e6b5 192102009-05-02 Bean <bean123ch@gmail.com>
19211
19212 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
19213 script/sh/parser.y.
19214 (pkglib_MODULES): Add normal.mod and sh.mod.
19215 (normal_SOURCES): New variable.
19216 (normal_mod_CFLAGS): Likewise.
19217 (normal_mod_LDFLAGS): Likewise.
19218 (sh_mod_SOURCES): Likewise.
19219 (sh_mod_CFLAGS): Likewise.
19220 (sh_mod_LDFLAGS): Likewise.
19221
19222 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
19223 script/sh/lexer.c_DEPENDENCIES.
19224 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
19225 kern/rescue_reader.c and kern/rescue_parser.c.
19226 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
19227 (grub_emu_SOURCES): Change source files.
19228 (pkglib_MODULES): Remove normal.mod.
19229 (normal_SOURCES): Removed.
19230 (normal_mod_CFLAGS): Likewise.
19231 (normal_mod_LDFLAGS): Likewise.
19232 * conf/i386-coreboot.rmk: Likewise.
19233 * conf/i386-efi.rmk: Likewise.
19234 * conf/i386-ieee1276.rmk: Likewise.
19235 * conf/powerpc-ieee1275.rmk: Likewise.
19236 * conf/sparc64-ieee1275.rmk: Likewise.
19237 * conf/x86_64-efi.rmk: Likewise.
19238
19239 * include/grub/command.h (grub_command_execute): New inline function.
19240
19241 * include/grub/menu.h (grub_menu_entry): Removed commands field.
19242
19243 * include/grub/normal.h: Remove <grub/setjmp.h>.
19244 (grub_fs_module_list): Moved to normal/autofs.c.
19245 (grub_exit_env): Removed.
19246 (grub_command_execute): Likewise.
19247 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
19248 parameter script.
19249 (read_command_list): New function declaration.
19250 (read_fs_list): Likewise.
19251
19252 * include/parser.h: Include <grub/reader.h>.
19253 (grub_parser_split_cmdline): Change type of getline parameter.
19254 (grub_parser): New structure.
19255 (grub_parser_class): New variable.
19256 (grub_parser_execute): New function declaration.
19257 (grub_register_rescue_parser): Likewise.
19258 (grub_parser_register): New inline function.
19259 (grub_parser_unregister): Likewise.
19260 (grub_parser_get_current): Likewise.
19261 (grub_parser_set_current): Likewise.
19262
19263 * include/grub/reader.h: New file.
19264 * kern/reader.c: Likewise.
19265 * kern/rescue_parser.c: Likewise.
19266 * kern/rescue_reader.c: Likewise.
19267 * normal/autofs.c: Likewise.
19268 * normal/dyncmd.c: Likewise.
19269
19270 * include/grub/rescue.h: Removed.
19271 * normal/command.h: Likewise.
19272
19273 * include/grub/script.h: Moved to ...
19274 * include/grub/script_sh.h: ... Moved here.
19275 * normal/execute.c: Moved to ...
19276 * script/sh/execute.c: ... Moved here.
19277 * normal/function.c: Moved to ...
19278 * script/sh/function.c: ... Moved here.
19279 * normal/lexer.c: Moved to ...
19280 * script/sh/lexer.c: ... Moved here.
19281 * normal/parser.y: Moved to ...
19282 * script/sh/parser.y: ... Moved here.
19283 * normal/script.c: Moved to ...
19284 * script/sh/script.c: ... Moved here.
19285
19286 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
19287 <grub/reader.h>.
19288 (grub_exit_env): Removed.
19289 (fs_module_list): Moved to normal/autofs.c.
19290 (grub_file_getline): Don't handle comment here.
19291 (free_menu): Skip removed field entry->commands.
19292 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
19293 script parameter.
19294 (read_config_file): Removed nested parameter, change getline function.
19295 (grub_enter_normal_mode): Removed.
19296 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
19297 (read_command_list): Likewise.
19298 (autoload_fs_module): Moved to normal/autofs.c.
19299 (read_fs_list): Likewise.
19300 (reader_nested): New variable.
19301 (grub_normal_execute): Run parser.sh to switch to sh parser.
19302 (grub_cmd_rescue): Removed.
19303 (cmd_normal): Removed.
19304 (grub_cmd_normal): Unregister itself at the beginning. Don't register
19305 rescue command.
19306 (grub_cmdline_run): New function.
19307 (grub_normal_reader_init): Likewise.
19308 (grub_normal_read_line): Likewise.
19309 (grub_env_write_pager): Likewise.
19310 (cmdline): New variable.
19311 (grub_normal_reader): Likewise.
19312 (GRUB_MOD_INIT): Register normal reader and set as current, register
19313 pager hook, register normal command with grub_register_command_prio,
19314 so that it won't show up in command.lst.
19315 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
19316 grub_fs_autoload_hook.
19317
19318 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
19319 (grub_menu_execute_entry): Replace grub_script_execute with
19320 grub_parser_execute, change parameter to grub_command_execute.
19321
19322 * normal/menu_text.c: Remove <grub/script.h>.
19323
19324 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
19325 and <grub/parser.h>.
19326 (run): Change editor_getline to use new parser interface. Change
19327 parameter to grub_command_execute.
19328
19329 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
19330 <grub/reader.h> and <grub/parser.h>.
19331 (grub_load_normal_mode): Execute normal command.
19332 (grub_main): Call grub_register_core_commands,
19333 grub_register_rescue_parser and grub_register_rescue_reader, use
19334 grub_reader_loop to enter input loop.
19335
7dd4a573 19336 * kern/parser.c (grub_parser_split_cmdline): Change type of
19337 getline parameter.
d558e6b5 19338 (grub_parser_class): New variable.
19339 (grub_parser_execute): New function.
19340
19341 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
19342 * loader/multiboot2.c: Likewise.
19343 * loader/sparc64/ieee1275/linux.c: Likewise.
19344
19345 * util/grub-emu.c (read_command_list): New dummy function.
19346
18db813d 193472009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19348
19349 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
19350 count to 16 for CCISS and IDA.
19351
6c67de15 193522009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19353
19354 * normal/menu_text.c (grub_wait_after_message): Print a newline
19355 after waiting for user input.
19356
19357 * loader/i386/linux.c: Include `<grub/normal.h>'.
19358 (grub_cmd_linux): Improve the error message about `ask' mode, by
19359 waiting for user input so it's not missed (we can do this, since
19360 user requested interaction).
19361
d9dc87b0 193622009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19363
19364 Added missing lst to grub-mkrescue
19365
19366 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
19367 and ${input_dir}/parttool.lst
19368
ac8a2baa 193692009-04-30 David S. Miller <davem@davemloft.net>
19370
ad22a610 19371 * util/hostdisk.c (device_is_wholedisk): New function.
19372 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
19373 zero only if device_is_wholedisk() returns true.
19374
6966215d 19375 * util/hostdisk.c (convert_system_partition_to_system_disk):
19376 Handle virtual disk devices named /dev/vdiskX as found on sparc
19377 and powerpc.
19378
ac8a2baa 19379 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
19380 lettered partition specifier is found, convert to numbered.
19381
979b4fb4 193822009-04-29 David S. Miller <davem@davemloft.net>
19383
e2bf39b2 19384 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
19385 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19386
3c64e104 19387 * normal/command.c: Add missing newline at end of file.
19388
979b4fb4 19389 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
19390 warnings.
19391 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
19392 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
19393 grub_ofdisk_read): Likewise, and deal similarly with the fact that
19394 ihandles have a 32-bit type but need to be stored in a "void *".
19395
136d9f82 193962009-04-28 Pavel Roskin <proski@gnu.org>
19397
9459c306 19398 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
19399 not disk. Adjust all dependencies.
2e08a26a 19400 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 19401 grub_disk_close().
19402
136d9f82 19403 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
19404 parent's partition, don't copy it by reference, as it gets freed
19405 on close.
19406
7dd4a573 194072009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 19408
19409 Preboot hooks support
19410
19411 * commands/boot.c (struct grub_preboot_t): new declaration
19412 (preboots_head): new variable
19413 (preboots_tail): likewise
19414 (grub_loader_register_preboot_hook): new function
19415 (grub_loader_unregister_preboot_hook): likewise
19416 (grub_loader_set): launch preboot hooks
19417 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
19418 (grub_loader_register_preboot_hook): new declaration
19419 (grub_loader_unregister_preboot_hook): likewise
19420
5af922b5 194212009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19422
19423 Warning fix
19424
7dd4a573 19425 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 19426 calling grub_dprintf
19427
a5562c30 194282009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
19429
19430 Bug and warning fixes
19431
7dd4a573 19432 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 19433 declaration
19434 * commands/test.c (test_parse): fixed bug with file tests and corrected
19435 declaration of find_file
19436
4006f85c 194372009-04-26 Pavel Roskin <proski@gnu.org>
19438
19439 * Makefile.in: Don't install empty manual pages if help2man is
19440 missing. Use help2man option for output, not shell redirection.
19441
5c77c3de 194422009-04-26 David S. Miller <davem@davemloft.net>
19443
19444 * util/grub-mkdevicemap.c (make_device_map): Add missing
19445 NESTED_FUNC_ATTR to process_device().
19446
033b10a8 194472009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19448
19449 Test command
19450
19451 * commands/test.c: rewritten to use bash-like test
19452
e4343593 194532009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19454
19455 Parttool autoloading and improvements
19456
7dd4a573 19457 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 19458 (parttool.lst): new target
19459 * genmk.rb: generate parttool-*
19460 (CLEANFILES): add #{parttool}
19461 (PARTTOOLFILES): new variable
19462 * genparttoollist.sh: new file
7dd4a573 19463 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 19464 (grub_pcpart_type): likewise
19465 * commands/parttool.c (helpmsg): new variable
19466 (grub_cmd_parttool): output help if not enough arguments are supplied
19467 autoload modules
19468 (GRUB_MOD_INIT(parttool)): use helpmsg
19469
0d312500 194702009-04-24 David S. Miller <davem@davemloft.net>
19471
7dd4a573 19472 Avoiding opening same device multiple times in device iterator.
0d312500 19473
19474 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 19475 and use it to build a list of partitions in iterate_disk() and
0d312500 19476 iterate_partition().
19477
ac20caff 19478 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
19479 on disk->data.
19480
0dcf7495 19481 * disk/ieee1275/nand.c (grub_nand_iterate): Return
19482 grub_devalias_iterate() result instead of unconditional 0.
19483 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
19484 Also, capture hook return value, either directly or via
19485 grub_children_iterate(), and propagate to caller.
19486 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
19487 grub_children_iterate): Return value is now 'int' instead of
19488 'grub_err_t'.
19489 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
19490 like a proper iterator, stopping when hooks return non-zero.
19491 (grub_devalias_iterate): Likewise.
19492
c8c08833 194932009-04-23 David S. Miller <davem@davemloft.net>
19494
19495 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
19496
f01005a8 194972009-04-22 David S. Miller <davem@davemloft.net>
19498
19499 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
19500 is larger than address_cells, use that value for address_cells too.
19501
4e8269da 19502 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
19503 IEEE1275_MAX_PATH_LEN): Define.
19504 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
19505 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
19506 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
19507 'devtype'. Explicitly NULL terminate devalias expansion.
19508
a1447506 19509 * util/sparc64/ieee1275/misc.c: New file.
19510 * util/sparc64/ieee1275/grub-setup.c: New file.
19511 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
19512 * util/sparc64/ieee1275/grub-mkimage.c: New file.
19513 * util/sparc64/ieee1275/grub-install.in: New file.
19514 * util/ieee1275/ofpath.c: New file.
19515 * util/ieee1275/devicemap.c: New file.
19516 * util/devicemap.c: New file.
19517 * util/deviceiter.c: New file.
19518 * kern/sparc64/ieee1275/init.c: New file.
19519 * include/grub/util/ofpath.h: New file.
19520 * include/grub/util/deviceiter.h: New file.
19521 * util/grub-mkdevicemap.c: Include deviceiter.h.
19522 Implement using grub_util_emit_devicemap_entry and
19523 grub_util_iterate_devices.
19524 * conf/i386-corebook.rmk: Build util/deviceiter.c and
19525 util/devicemap.c into grub-mkdevicemap
19526 * conf/i386-efi.rmk: Likewise.
19527 * conf/i386-ieee1275.rmk: Likewise.
19528 * conf/i386-pc.rmk: Likewise.
19529 * conf/powerpc-ieee1275.rmk: Likewise.
19530 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
19531 images and installation utilities. Build kernel as image
19532 instead of as elf binary. Use common rules as much as possible.
19533
7dd4a573 195342009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 19535
19536 Correct GPT definition
19537
7dd4a573 19538 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 19539 of "attrib" member
19540
c6c5219f 195412009-04-19 Felix Zielcke <fzielcke@z-51.de>
19542
19543 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
19544
0552ff9f 195452009-04-19 David S. Miller <davem@davemloft.net>
19546
19547 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
19548 (grub_rescue_cmd_linux): Rename to...
19549 (grub_cmd_linux): and fix prototype.
19550 (grub_rescue_cmd_initrd): Rename to...
19551 (grub_cmd_initrd): and fix prototype.
19552 (cmd_linux, cmd_initrd): New.
19553 (GRUB_MOD_INIT(linux)): Use grub_register_command().
19554 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
19555
d1a282fc 195562009-04-17 Pavel Roskin <proski@gnu.org>
19557
07c5039f 19558 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
19559 format.
19560 (grub_ohci_transfer): Likewise.
19561
b012002d 19562 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
19563
1bc09c35 19564 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
19565 return without a value. Fix inconsistent indentation.
19566
e0ff9126 19567 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
19568 match struct grub_fs.
19569
d1a282fc 19570 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
19571 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
19572 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
19573 * commands/lspci.c (grub_lspci_iter): Likewise.
19574
a96df3f2 195752009-04-16 Bean <bean123ch@gmail.com>
19576
19577 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
19578 value.
19579
41bb0fe9 195802009-04-15 Pavel Roskin <proski@gnu.org>
19581
19582 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
19583 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
19584 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
19585 definitions.
19586
596c6970 195872009-04-15 Felix Zielcke <fzielcke@z-51.de>
19588
19589 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 19590 that no multiple data or metadata areas are supported and `Unknown
596c6970 19591 metadata header'.
19592
7dd4a573 195932009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 19594
19595 Move loader out of the kernel
19596
19597 * kern/loader.c: moved to ...
19598 * commands/boot.c: ... moved here
19599 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
19600 * commands/boot.c (grub_cmd_boot): moved here. All users updated
19601 * include/grub/kernel.h (grub_machine_fini): export
19602 * include/grub/loader.h (grub_loader_is_loaded): update declaration
19603 (grub_loader_set): likewise
19604 (grub_loader_unset): likewise
19605 (grub_loader_boot): likewise
19606 * conf/common.rmk: new module boot.mod
19607 (pkglib_MODULES): add boot.mod
19608 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
19609 (grub_emu_SOURCES): likewise
19610 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
19611 (grub_emu_SOURCES): likewise
19612 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
19613 (grub_emu_SOURCES): likewise
19614 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
19615 (grub_emu_SOURCES): likewise
19616 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
19617 (grub_emu_SOURCES): likewise
7dd4a573 19618 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
19619 (grub_emu_SOURCES): likewise
0d5d5653 19620 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 19621 (grub_emu_SOURCES): likewise
0d5d5653 19622
7dd4a573 196232009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 19624
19625 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 19626
5999d619 19627 * kern/misc.c (grub_itoa): Removed function
19628 (grub_ltoa): likewise
19629 (grub_vsprintf): use grub_lltoa
19630
7dd4a573 196312009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 19632
19633 Restore grub-emu
19634
19635 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
19636 * conf/i386-coreboot.rmk: likewise
19637 * conf/i386-ieee1275.rmk: likewise
19638 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 19639
20318222 196402009-04-15 Felix Zielcke <fzielcke@z-51.de>
19641
19642 * INSTALL: Add that `./autogen.sh' needs to be run before
19643 `./configure.'.
19644
d05f0df3 196452009-04-14 Bean <bean123ch@gmail.com>
19646
19647 * Makefile.in (pkglib_DATA): Add handler.lst.
19648 (handler.lst): New rule.
19649
19650 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
19651 * conf/i386-coreboot.rmk: Likewise.
19652 * conf/i386-ieee1275.rmk: Likewise.
19653 * conf/i386-efi.rmk: Likewise.
19654 * conf/x86_64-efi.rmk: Likewise.
19655 * conf/powerpc-ieee1275.rmk: Likewise.
19656 * conf/sparc64-ieee1275.rmk: Likewise.
19657
19658 * genhandlerlist.sh: New file.
19659
19660 * genmk.rb: Add rules to generate handler.lst.
19661
19662 * include/grub/normal.h (grub_file_getline): New function definition.
19663 (read_handler_list): Likewise.
19664 (free_handler_list): Likewise.
19665
19666 * include/grub/term.h (grub_term_register_input): Add name parameter
19667 for auto generation of handler.lst.
19668 (grub_term_register_output): Likewise.
19669
19670 * normal/handler.c: New file.
19671
19672 * normal/main.c (get_line): Renamed to grub_file_getline.
19673 (read_config_file): Use the newly renamed grub_file_getline.
19674 (read_command_list): Likewise.
19675 (read_fs_list): Likewise.
19676 (grub_normal_execute): Call read_handler_list to parse handler.lst.
19677 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
19678
19679 * term/efi/console.c (grub_console_init): Add name parameter for auto
19680 generation of handler.lst.
19681 * term/gfxterm.c: Likewise.
19682 * term/i386/pc/at_keyboard.c: Likewise.
19683 * term/i386/pc/console.c: Likewise.
19684 * term/i386/pc/serial.c: Likewise.
19685 * term/i386/pc/vesafb.c: Likewise.
19686 * term/i386/pc/vga.c: Likewise.
19687 * term/i386/pc/vga_text.c: Likewise.
19688 * term/ieee1275/ofconsole.c: Likewise.
19689 * term/usb_keyboard.c: Likewise.
19690
33c846be 196912009-04-14 Bean <bean123ch@gmail.com>
19692
19693 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
19694 properly with null character.
19695
4484e01e 196962009-04-14 Felix Zielcke <fzielcke@z-51.de>
19697
19698 * configure: Remove.
19699 * config.h.in: Likewise.
f93d668e 19700 * stamp-h.in: Likewise.
4484e01e 19701 * DISTLIST: Likewise.
19702 * conf/common.mk: Likewise.
19703 * conf/i386-coreboot.mk: Likewise.
19704 * conf/i386-efi.mk: Likewise.
19705 * conf/i386-ieee1275.mk: Likewise.
19706 * conf/i386.mk: Likewise.
19707 * conf/i386-pc.mk: Likewise.
19708 * conf/powerpc-ieee1275.mk: Likewise.
19709 * conf/sparc64-ieee1275.mk: Likewise.
19710 * conf/x86_64-efi.mk: Likewise.
19711
19712 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
19713 develop on GRUB.
19714
7dd4a573 197152009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 19716 David S. Miller <davem@davemloft.net>
19717
19718 * util/hostdisk.c (make_device_name): Fix buffer length
19719 calculations.
19720
e25b5a8c 197212009-04-14 Felix Zielcke <fzielcke@z-51.de>
19722
19723 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
19724 <sys/param.h> and <sys/sysctl.h>.
19725 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
19726 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
19727 opening the device and reset them afterwards.
19728
1f1f580c 197292009-04-13 Pavel Roskin <proski@gnu.org>
19730
19731 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
19732 Reported by John Stanley <jpsinthemix@verizon.net>
19733
7ebc2d6b 197342009-04-13 Robert Millan <rmh@aybabtu.com>
19735
19736 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 19737 that name for menuentries when appropriate.
7ebc2d6b 19738
d8ba3667 197392009-04-13 Felix Zielcke <fzielcke@z-51.de>
19740
19741 * util/grub.d/10_freebsd.in: Add a missing `fi'.
19742
cba416eb 197432009-04-13 Robert Millan <rmh@aybabtu.com>
19744
19745 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
19746 to Linux, simply abort telling the user it's no longer supported.
19747
a547a745 197482009-04-13 Felix Zielcke <fzielcke@z-51.de>
19749
19750 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 19751 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 19752 `freebsd_loadenv' only when devices.hints exist.
19753
232a769c 197542009-04-13 Pavel Roskin <proski@gnu.org>
19755
19756 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
19757
c3012039 197582009-04-13 Felix Zielcke <fzielcke@z-51.de>
19759
19760 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
19761 partition number.
19762 (grub_drive): Likewise.
19763
234022fe 197642009-04-13 David S. Miller <davem@davemloft.net>
19765
19766 * kern/sparc64/ieee1275/ieee1275.c: New file.
19767 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
19768 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
19769 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
19770 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
19771 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
19772 grub_ieee1275_alloc_physmem): Declare new exported functions.
19773
d8e1836c 19774 * include/grub/sparc64/ieee1275/loader.h: New file.
19775 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19776 * include/grub/sparc64/kernel.h: Likewise.
19777 * loader/sparc64/ieee1275/linux.c: Likewise.
19778
96bd81ec 19779 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
19780 (grub_fstest_SOURCES): Likewise.
19781
6a4737e5 19782 * util/hostdisk.c (make_device_name): Do not make any assumptions
19783 about the length of drive names.
19784
1d7a72fd 19785 * kern/dl.c (grub_dl_load_file): Close file immediately when
19786 we are done using it.
19787
56bc2471 197882009-04-12 David S. Miller <davem@davemloft.net>
19789
19790 * kern/misc.c (grub_ltoa): Fix cast when handling negative
19791 values. Noticed by Pavel Roskin.
19792
df38d0bb 19793 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
19794 target compiler.
7dd4a573 19795
e382e93a 19796 * genmk.rb: Add more flexible image type specification, also
19797 pass --strip-unneeded to objcopy.
19798 * conf/i386-pc.rmk: Use *_FORMAT.
19799 * conf/i386-pc.mk: Rebuilt.
19800
f5dbbca9 19801 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
19802 (OFDISK_HASH_SZ): Define.
19803 (ofdisk_hash): New hash table.
19804 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
19805 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
19806 instead of device phandle which is not unique.
19807
91c88b12 19808 * kern/sparc64/ieee1275/init.c: Delete, replace with...
19809 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
19810 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
19811 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
19812 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
19813 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
19814 GRUB_KERNEL_MACHINE_DATA_END): Define.
19815 (grub_kernel_image_size, grub_total_module_size): Declare.
19816
5b5d4aa5 198172009-04-12 Pavel Roskin <proski@gnu.org>
19818
7dd4a573 19819 * configure.ac: Change the logic when we check for target tools.
19820 Do it when the target is specified and it's different from the
19821 specified value of the host.
5b5d4aa5 19822
c91e1793 198232009-04-11 Felix Zielcke <fzielcke@z-51.de>
19824
19825 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
19826 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
19827 GNU/kFreeBSD. Check if a device is a character device. Use
19828 DIOCGMEDIASIZE to get the size.
19829 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
19830 support for GNU/kFreeBSD.
19831 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
19832 is a character device instead of a block device. Add support for
19833 FreeBSD device names.
19834
19835 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
19836 is a character device instead of a block device.
19837
19838 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
19839 is a character device instead of a block device.
19840
b1ac8644 198412009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
19842
19843 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
19844 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
19845 FreeBSD. Check if a device is a character device. Use
19846 DIOCGMEDIASIZE to get the size.
19847 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
19848 support for FreeBSD.
19849 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
19850 is a character device instead of a block device. Add support for
19851 FreeBSD device names.
19852
19853 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
19854 a character device instead of a block device.
19855 (grub_util_check_char_device): New function.
19856
19857 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
19858 a character device instead of a block device.
19859
19860 * include/grub/util/getroot.h (grub_util_check_char_device): New
19861 prototype.
19862
a3f7515a 198632009-04-11 David S. Miller <davem@davemloft.net>
19864
19865 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
19866 static libgcc.
19867 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
19868 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
19869 function, if present.
19870 (__bswapdi2): Likewise.
19871
0d44993d 19872 * include/grub/sparc64/ieee1275/boot.h: New file.
19873 * boot/sparc64/ieee1275/boot.S: Likewise.
19874 * boot/sparc64/ieee1275/diskboot.S: Likewise.
19875
ed3d2bc2 19876 * kern/misc.c (grub_ltoa): New function.
19877 (grub_vsprintf): Use it to format 'long' integers.
19878
d3bfb59c 198792009-04-10 David S. Miller <davem@davemloft.net>
19880
19881 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
19882 slots are of type grub_ieee1275_cell_t.
19883 (grub_nand_read): Likewise.
19884 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
19885 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
19886 macros are used to compare values in arg/ret block of the call.
19887 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19888 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
19889 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
19890 grub_ieee1275_instance_to_path, grub_ieee1275_write,
19891 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
19892 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
19893 grub_ieee1275_close, grub_ieee1275_set_property,
19894 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
19895 grub_ieee1275_cell_t.
19896 * kern/ieee1275/openfw.c (grub_map): Likewise.
19897 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
19898 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
19899
450e2238 19900 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
19901 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
19902 (grub_devalias_iterate): Likewise.
19903
7dd4a573 199042009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 19905
19906 UFS improvements
19907
19908 * fs/ufs.c (INODE_NBLOCKS): new definition
19909 (struct grub_ufs_dirent): added fields for non-BSD dirents
19910 (grub_ufs_get_file_block): fixed double indirect handling
19911 (grub_ufs_lookup_symlink): use more robust way to determine whether
19912 symlink is inline
19913 (grub_ufs_find_file): support for non-BSD dirents
19914 (grub_ufs_dir): support for non-BSD dirents
19915
e7e6862a 199162009-04-10 Bean <bean123ch@gnail.com>
19917
19918 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
19919 attribute, otherwise the size would be wrong for i386 platform.
19920
19921 * include/grub/pci.h (grub_pci_read_word): New inline function.
19922 (grub_pci_read_byte): Likewise.
19923 (grub_pci_write): Likewise.
19924 (grub_pci_write_word): Likewise.
19925 (grub_pci_write_byte): Likewise.
19926
19927 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
19928
19929 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
19930 (find_framebuf): Scan pci to locate the frame buffer address.
19931
19932 * commands/efi/fixvideo.c: New file.
19933
19934 * commands/efi/loadbios.c: Likewise.
19935
19936 * commands/memrw.c: Likewise.
19937
19938 * util/grub-dumpbios.in: Likewise.
19939
19940 * conf/common.rmk (grub-dumpbios): New utility.
19941 (pkglib_MODULES): New module memrw.mod.
19942 (memrw_mod_SOURCE): New macro.
19943 (memrw_mod_CFLAGS): Likewise.
19944 (memrw_mod_LDFLAGS): Likewise.
19945
7dd4a573 19946 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 19947 fixvideo.mod.
19948 (loadbios_mod_SOURCE): New macro.
19949 (loadbios_mod_CFLAGS): Likewise.
19950 (loadbios_mod_LDFLAGS): Likewise.
19951 (fixvideo_mod_SOURCE): Likewise.
19952 (fixvideo_mod_CFLAGS): Likewise.
19953 (fixvideo_mod_LDFLAGS): Likewise.
19954
7dd4a573 19955 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 19956 fixvideo.mod.
19957 (loadbios_mod_SOURCE): New macro.
19958 (loadbios_mod_CFLAGS): Likewise.
19959 (loadbios_mod_LDFLAGS): Likewise.
19960 (fixvideo_mod_SOURCE): Likewise.
19961 (fixvideo_mod_CFLAGS): Likewise.
19962 (fixvideo_mod_LDFLAGS): Likewise.
19963
af63ada2 199642009-04-08 Felix Zielcke <fzielcke@z-51.de>
19965
19966 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
19967
c2cdde70 199682009-04-07 David S. Miller <davem@davemloft.net>
19969
19970 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
19971 support for R_SPARC_OLO10 relocations. Fix compile warning for
19972 R_SPARC_WDISP30 case.
ea3f72cf 19973 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 19974
761319cf 199752009-04-06 Pavel Roskin <proski@gnu.org>
19976
1007d1f5 19977 * include/grub/misc.h (ARRAY_SIZE): New macro.
19978 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
19979 New macro.
19980 * loader/i386/linux.c (allocate_pages): Use free_pages().
19981 (grub_linux_unload): Don't use free_pages().
19982 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
19983 wrong index. Treat all other modes as text modes.
19984 (grub_cmd_linux): Initialize vid_mode unconditionally to
19985 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
19986
761319cf 19987 * commands/help.c (print_command_help): Use cmd->prio, not
19988 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
19989
ea761d40 199902009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 19991
ea761d40 19992 Parttool
19993
19994 * parttool/pcpart.c: new file
19995 * commands/parttool.c: likewise
19996 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
19997 (parttool_mod_SOURCES): new variable
19998 (parttool_mod_CFLAGS): likewise
19999 (parttool_mod_LDFLAGS): likewise
20000 (pcpart_mod_SOURCES): likewise
20001 (pcpart_mod_CFLAGS): likewise
20002 (pcpart_mod_LDFLAGS): likewise
7dd4a573 20003 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 20004 and parttool/pcpart.c
20005 * conf/i386-efi.rmk: likewise
20006 * conf/i386-ieee1275.rmk: likewise
20007 * conf/i386-pc.rmk: likewise
20008 * conf/powerpc-ieee1275.rmk: likewise
20009 * conf/sparc64-ieee1275.rmk: likewise
20010 * conf/x86_64-ieee1275.rmk: likewise
20011
05aaebfb 200122009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20013
20014 Support for mtime and further expandability of dir command
20015
20016 * include/grub/lib/datetime.h: moved to ...
7dd4a573 20017 * include/grub/datetime.h: ... moved here and added
05aaebfb 20018 declaration of grub_unixtime2datetime. All users updated
7dd4a573 20019 * include/grub/fs.h: new syntax for dir and mtime functions in
20020 struct grub_fs
05aaebfb 20021 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
20022 and GRUB_FSHELP_FLAGS_MASK
20023 * commands/ls.c (grub_ls_list_files): Write mtime in long format
20024 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
20025 (grub_ext2_mtime): new function
20026 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
20027 (grub_hfsplus_mtime): new function
20028 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
20029 (GRUB_UFS_ATTR_FILE): likewise
20030 (GRUB_UFS_ATTR_LNK): likewise
20031 (struct grub_ufs_sblock): new fields mtime
20032 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
20033 all users updated
20034 (grub_ufs_dir): mtime support
20035 (grub_ufs_mtime): new function
20036 * fs/affs.c (grub_affs_dir): use new dir syntax
20037 * fs/afs.c (grub_afs_dir): likewise
20038 * fs/cpio.c (grub_cpio_dir): likewise
20039 * fs/fat.c (grub_fat_find_dir): likewise
20040 * fs/hfs.c (grub_hfs_dir): likewise
20041 * fs/iso9660.c (grub_iso9660_dir): likewise
20042 * fs/jfs.c (grub_jfs_dir): likewise
20043 * fs/minix.c (grub_minix_dir): likewise
20044 * fs/ntfs.c (grub_ntfs_dir): likewise
20045 * fs/reiserfs.c (grub_reiserfs_dir): likewise
20046 * fs/sfs.c (grub_sfs_dir): likewise
20047 * fs/xfs.c (grub_xfs_dir): likewise
20048 * util/hostfs.c (grub_hostfs_dir): likewise
20049 * lib/datetime.c: moved to ...
20050 * normal/datetime.c: ... moved here
20051 (grub_unixtime2datetime): new function
20052 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 20053 * normal/completion.c (iterate_dir): use new dir syntax
20054 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 20055 last modification time of a volume
7dd4a573 20056 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 20057 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 20058 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 20059 (normal_mod_SOURCES): likewise
20060 (datetime_mod_SOURCES): Removed lib/datetime.c
20061 * conf/i386-efi.rmk: likewise
7dd4a573 20062 * conf/i386-ieee1275.rmk: likewise
05aaebfb 20063 * conf/i386-pc.rmk: likewise
20064 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 20065 * conf/sparc64-ieee1275.rmk: likewise
20066 * conf/x86_64-efi.rmk: likewise
05aaebfb 20067
8a7e1a14 200682009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20069
20070 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 20071
20072 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 20073 on grub_fat_find_dir
20074 (grub_fat_find_dir): use grub_fat_iterate_dir
20075 (grub_fat_label): likewise
20076
04186a9c 200772009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20078
7dd4a573 20079 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 20080 and command.h
20081 remove extraneous kernel_elf_HEADERS
20082
da4c0bb6 200832009-04-04 Bean <bean123ch@gnail.com>
20084
20085 * include/grub/util/misc.h: Add dummy function fsync for mingw.
20086
20087 * util/misc.c: Likewise.
20088
54ad9555 200892009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
20090
20091 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
20092 instead of grub_printf.
20093
7a6bf9f2 200942009-04-03 Robert Millan <rmh@aybabtu.com>
20095
20096 * loader/i386/linux.c (grub_linux_setup_video): Fill
20097 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
20098 values from `mode info' structure instead of hardcoded
20099 values.
20100
3fcc2083 201012009-04-01 Pavel Roskin <proski@gnu.org>
20102
20103 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
20104 unused now.
20105 * genmk.rb: Likewise.
20106 * configure.ac: Likewise.
20107
5ec9740b 201082009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
20109
20110 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
20111 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
20112
5270cec8 201132009-04-01 David S. Miller <davem@davemloft.net>
20114
20115 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 20116 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 20117 (grub_setjmp): Mark with 'returns_twice' attribute.
20118 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
20119 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
20120 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
20121
9c3dd854 201222009-04-01 Robert Millan <rmh@aybabtu.com>
20123
20124 Reapply fix from 2008-07-28 which was accidentally reverted; also
20125 perform the same fix to a similar check in same function.
20126
20127 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
20128 with the same number are found, just use issue a warning with
20129 grub_dprintf(), as this error has been reported to be non-fatal.
20130
0d818b7e 201312009-03-31 Pavel Roskin <proski@gnu.org>
20132
20133 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
20134 for cross-compilation.
20135
95646d92 201362009-03-30 Robert Millan <rmh@aybabtu.com>
20137
20138 Fix i386-ieee1275 build.
20139
20140 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
20141 Remove declaration.
20142
6a003ed1 201432009-03-30 Pavel Roskin <proski@gnu.org>
20144
20145 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
20146 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
20147 zero-terminated, rely only on the strlen value. Fix comparison
20148 of strings differing in length.
20149
92f33540 201502009-03-30 Robert Millan <rmh@aybabtu.com>
20151
20152 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
20153 checking for abi version. Improve error messages on BIOS to notify
20154 user about `linux16' command.
20155
a8c48fd5 201562009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20157
f968172e 20158 Leak fixes
a8c48fd5 20159
f968172e 20160 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
20161 in case of collision
20162 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 20163
9c323f09 201642009-03-29 Robert Millan <rmh@aybabtu.com>
20165
20166 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
20167 set `vid_mode' accordingly.
20168 (grub_linux_boot): Process `vid_mode' and set video mode.
20169
ae68f423 201702009-03-29 Robert Millan <rmh@aybabtu.com>
20171
20172 * util/grub.d/10_linux.in (linux_entry): New function.
20173 Factorize generation of Linux boot entries.
20174
5709cfc4 201752009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
20176
20177 Make the format of Environment Block plain text. The boot loader
20178 part is not tested well yet.
7dd4a573 20179
5709cfc4 20180 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
20181 (buffer): Removed.
20182 (envblk): Likewise.
20183 (usage): Remove "info" and "clear". Add "unset". Update the
20184 description of "set", as this does not delete variables any
20185 longer.
20186 (create_envblk_file): Complete rewrite.
20187 (open_envblk_file): Likewise.
20188 (cmd_info): Removed.
20189 (cmd_list): Likewise.
20190 (cmd_set): Likewise.
20191 (cmd_clear): Likewise.
20192 (list_variables): New function.
20193 (write_envblk): Likewise.
20194 (set_variables): Likewise.
20195 (unset_variables): Likewise.
20196 (main): Complete rewrite.
20197
20198 * commands/loadenv.c (buffer): Removed.
20199 (envblk): Likewise.
20200 (open_envblk_file): New function.
20201 (read_envblk_file): Complete rewrite.
20202 (grub_cmd_load_env): Likewise.
20203 (grub_cmd_list_env): Likewise.
20204 (struct blocklist): New struct.
20205 (free_blocklists): New function.
20206 (check_blocklists): Likewise.
20207 (write_blocklists): Likewise.
20208 (grub_cmd_save_env): Complete rewrite.
20209
20210 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
20211 a plain text signature.
20212 (GRUB_ENVBLK_MAXLEN): Removed.
20213 (struct grub_envblk): Complete rewrite.
20214 (grub_envblk_find): Removed.
20215 (grub_envblk_insert): Likewise.
20216 (grub_envblk_open): New prototype.
20217 (grub_envblk_set): Likewise.
20218 (grub_envblk_delete): Put const to VALUE.
20219 (grub_envblk_iterate): Put const to NAME and VALUE.
20220 (grub_envblk_close): New prototype.
20221 (grub_envblk_buffer): New inline function.
20222 (grub_envblk_size): Likewise.
20223
20224 * lib/envblk.c: Include grub/mm.h.
20225 (grub_env_find): Removed.
20226 (grub_envblk_open): New function.
20227 (grub_envblk_close): Likewise.
20228 (escaped_value_len): Likewise.
20229 (find_next_line): Likewise.
20230 (grub_envblk_insert): Removed.
20231 (grub_envblk_set): New function.
20232 (grub_envblk_delete): Complete rewrite.
20233 (grub_envblk_iterate): Likewise.
20234
a9368fd3 202352009-03-28 Robert Millan <rmh@aybabtu.com>
20236
20237 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
20238 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
20239 variables. Use 16-bit loader.
20240 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
20241 loader.
20242 * kern/i386/loader.S (grub_linux_boot): Rename to ...
20243 (grub_linux16_boot): ... this. Update all users.
20244 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
20245 (grub_linux_boot): ... this. Update all users.
20246
20247 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
20248 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
20249 commands to `linux16' and `initrd16'.
20250 (GRUB_MOD_FINI(linux)): Rename to ...
20251 (GRUB_MOD_FINI(linux16)): ... this.
20252
e4dd5a7e 202532009-03-24 Pavel Roskin <proski@gnu.org>
20254
20255 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
20256 not just for compilation.
20257
c04d6e05 202582009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
20259
20260 Move multiboot helper out of kernel
20261
20262 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
20263 `loader/i386/multiboot_helper.S'.
20264 * conf/i386-coreboot.rmk: Likewise
20265 * conf/i386-ieee1275.rmk: Likewise
20266
20267 * kern/i386/loader.S: Move multiboot helpers from here...
20268 * loader/i386/multiboot_helper.S: ...moved here
20269 * include/grub/i386/loader.h: Move declarations of multiboot
20270 helpers from here...
20271 * include/grub/i386/multiboot.h: ...moved here
20272 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
20273
42a5b3fc 202742009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20275
20276 * kern/env.c (grub_env_context_open): Added an argument to specify
20277 whether a new context inherits exported variables from current
20278 one. This is useful when making a sandbox to interpret a config
20279 file.
20280 All callers updated.
20281
20282 * include/grub/env.h (grub_env_context_open): Updated the prototype.
20283
b28bbc4e 202842009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20285
20286 * kern/env.c (grub_env_context_close): Fix memory leaks.
20287
f04f02e4 202882009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20289
20290 * normal/main.c (grub_normal_execute): Added an argument
20291 BATCH to specify if an interactive interface should be provided
20292 after reading a config file.
20293 All callers updated.
20294 (read_command_list): Prevent being executed twice.
20295 (read_fs_list): Likewise.
20296
42a5b3fc 20297 * include/grub/normal.h (grub_normal_execute): Updated the
20298 prototype.
f04f02e4 20299
41473ac2 203002009-03-22 Pavel Roskin <proski@gno.org>
20301
fbc00b0c 20302 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
20303 _start.
20304 * kern/i386/pc/startup.S: Likewise.
20305 * kern/i386/efi/startup.S: Likewise.
20306 * kern/i386/ieee1275/startup.S: Likewise.
20307 * kern/i386/coreboot/startup.S: Likewise.
20308 * kern/x86_64/efi/startup.S: Likewise.
20309
41473ac2 20310 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
20311 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
20312 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
20313
2274cc8f 203142009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
20315
20316 Bugfixes in multiboot for bugs uncovered by solaris kernel.
20317
20318 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
20319 limit detection.
20320 Use vaddr of correct segment for entry_point.
20321
b1b797cb 203222009-03-21 Bean <bean123ch@gmail.com>
20323
20324 * commands/blocklist.c: Add include file <grub/command.h>, remove
20325 <grub/normal.h> and <grub/arg.h>.
20326 (grub_cmd_blocklist): Use the new command interface.
20327 (GRUB_MOD_INIT): Likewise.
20328 (GRUB_MOD_FINI): Likewise.
20329 * commands/boot.c: Likewise.
20330 * commands/cat.c: Likewise.
20331 * commands/cmp.c: Likewise.
20332 * commands/configfile.c: Likewise.
20333 * commands/crc.c: Likewise.
20334 * commands/echo.c: Likewise.
20335 * commands/halt.c: Likewise.
20336 * commands/handler.c: Likewise.
20337 * commands/hdparm.c: Likewise.
20338 * commands/help.c: Likewise.
20339 * commands/hexdump.c: Likewise.
20340 * commands/loadenv.c: Likewise.
20341 * commands/ls.c: Likewise.
20342 * commands/lsmmap.c: Likewise.
20343 * commands/lspci.c: Likewise.
20344 * commands/loadenv.c: Likewise.
20345 * commands/read.c: Likewise.
20346 * commands/reboot.c: Likewise.
20347 * commands/search.c: Likewise.
20348 * commands/sleep.c: Likewise.
20349 * commands/test.c: Likewise.
20350 * commands/usbtest.c: Likewise.
20351 * commands/videotest.c: Likewise.
20352 * commands/i386/cpuid.c: Likewise.
20353 * commands/i386/pc/halt.c: Likewise.
20354 * commands/i386/pc/play.c: Likewise.
20355 * commands/i386/pc/pxecmd.c: Likewise.
20356 * commands/i386/pc/vbeinfo.c: Likewise.
20357 * commands/i386/pc/vbetest.c: Likewise.
20358 * commands/ieee1275/suspend.c: Likewise.
20359 * disk/loopback.c: Likewise.
20360 * font/font_cmd.c: Likewise.
20361 * hello/hello.c: Likewise.
20362 * loader/efi/appleloader.c: Likewise.
20363 * loader/efi/chainloader.c: Likewise.
20364 * loader/i386/bsd.c: Likewise.
20365 * loader/i386/efi/linux.c: Likewise.
20366 * loader/i386/ieee1275/linux.c: Likewise.
20367 * loader/i386/linux.c: Likewise.
20368 * loader/i386/pc/chainloader.c: Likewise.
20369 * loader/i386/pc/linux.c: Likewise.
20370 * loader/powerpc/ieee1275/linux.c: Likewise.
20371 * loader/multiboot_loader.c: Likewise.
20372 * term/gfxterm.c: Likewise.
20373 * term/i386/pc/serial.c: Likewise.
20374 * term/terminfo.c: Likewise.
20375
20376 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
20377 * term/i386/pc/vga.c: Likewise.
20378 * video/readers/jpeg.c: Likewise.
20379 * video/readers/png.c: Likewise.
20380 * video/readers/tga.c: Likewise.
20381
20382 * util/grub-fstest (cmd_loopback): Removed.
20383 (cmd_blocklist): Likewise.
20384 (cmd_ls): Likewise.
20385 (grub_register_command): Likewise.
20386 (grub_unregister_command): Likewise.
20387 (execute_command): Use grub_command_find to locate command and execute
20388 it.
20389
20390 * include/grub/efi/chainloader.h: Removed.
20391 * loader/efi/chainloader_normal.c: Likewise.
20392 * loader/i386/bsd_normal.c: Likewise.
20393 * loader/i386/pc/chainloader_normal.c: Likewise.
20394 * loader/i386/pc/multiboot_normal.c: Likewise.
20395 * loader/linux_normal.c: Likewise.
20396 * loader/multiboot_loader_normal.c: Likewise.
20397 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20398
20399 * gencmdlist.sh: Scan new registration command grub_register_extcmd
20400 and grub_register_command_p1.
20401
20402 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
20403 kern/command.c, lib/arg.c and commands/extcmd.c.
20404 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
20405 (minicmd_mod_SOURCES): New variable.
20406 (minicmd_mod_CFLAGS): Likewise.
20407 (minicmd_mod_LDFLAGS): Likewise.
20408 (extcmd_mod_SOURCES): Likewise.
20409 (extcmd_mod_CFLAGS): Likewise.
20410 (extcmd_mod_LDFLAGS): Likewise.
20411 (boot_mod_SOURCES): Removed.
20412 (boot_mod_CFLAGS): Likewise.
20413 (boot_mod_LDFLAGS): Likewise.
20414
20415 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
20416 kern/corecmd.c.
20417 (kernel_img_HEADERS): Add command.h.
20418 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
20419 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
20420 and lib/arg.c.
20421 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
20422 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
20423 remove the corresponding normal mode command.
20424 (normal_mod_SOURCES): Remove normal/arg.c.
20425 * conf/i386-coreboot.rmk: Likewise.
20426 * conf/i386-efi.rmk: Likewise.
20427 * conf/i386-ieee1275.rmk: Likewise.
20428 * conf/powerpc-ieee1275.rmk: Likewise.
20429 * conf/x86_64-efi.rmk: Likewise.
20430
20431 * include/grub/arg.h: Move from here ...
20432 * include/grub/lib/arg.h: ... to here.
20433
20434 * normal/arg.c: Move from here ...
20435 * lib/arg.c: ... to here.
20436
20437 * commands/extcmd.c: New file.
20438 * commands/minicmd.c: Likewise.
20439 * include/grub/command.h: Likewise.
20440 * include/grub/extcmd.h: Likewise.
20441 * kern/command.c: Likewise.
20442 * kern/corecmd.c: Likewise.
20443
20444 * kern/list.c (grub_list_iterate): Return int instead of void.
20445 (grub_list_insert): New function.
20446 (grub_prio_list_insert): Likewise.
20447
20448 * kern/rescue.c (grub_rescue_command): Removed.
20449 (grub_rescue_command_list): Likewise.
20450 (grub_rescue_register_command): Likewise.
20451 (grub_rescue_unregister_command): Likewise.
20452 (grub_rescue_cmd_boot): Move to minicmd.c
20453 (grub_rescue_cmd_help): Likewise.
20454 (grub_rescue_cmd_info): Likewise.
20455 (grub_rescue_cmd_boot): Likewise.
20456 (grub_rescue_cmd_testload): Likewise.
20457 (grub_rescue_cmd_dump): Likewise.
20458 (grub_rescue_cmd_rmmod): Likewise.
20459 (grub_rescue_cmd_lsmod): Likewise.
20460 (grub_rescue_cmd_exit): Likewise.
20461 (grub_rescue_print_devices): Moved to corecmd.c.
20462 (grub_rescue_print_files): Likewise.
20463 (grub_rescue_cmd_ls): Likewise.
20464 (grub_rescue_cmd_insmod): Likewise.
20465 (grub_rescue_cmd_set): Likewise.
20466 (grub_rescue_cmd_unset): Likewise.
7d074e3c 20467 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 20468 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 20469 commands, remove grub_rescue_register_command calls.
b1b797cb 20470
7d074e3c 20471 * normal/command.c (grub_register_command): Removed.
b1b797cb 20472 (grub_unregister_command): Likewise.
20473 (grub_command_find): Likewise.
20474 (grub_iterate_commands): Likewise.
20475 (rescue_command): Likewise.
20476 (export_command): Moved to corecmd.c.
20477 (set_command): Removed.
20478 (unset_command): Likewise.
20479 (insmod_command): Likewise.
20480 (rmmod_command): Likewise.
20481 (lsmod_command): Likewise.
20482 (grub_command_init): Likewise.
20483
20484 * normal/completion.c (iterate_command): Use cmd->prio to check for
20485 active command.
20486 (complete_arguments): Use grub_extcmd_t structure to find options.
20487 (grub_normal_do_completion): Change function grub_iterate_commands to
20488 grub_command_iterate.
20489
20490 * normal/execute.c (grub_script_execute_cmd): No need to parse
20491 argument here.
20492
20493 * normal/main.c (grub_dyncmd_dispatcher): New function.
20494 (read_command_list): Register unload commands as dyncmd.
20495 (grub_cmd_normal): Use new command interface, register rescue,
20496 unregister normal at entry, register normal, unregister rescue at exit.
20497
20498 * include/grub/list.h (grub_list_test_t): New type.
20499 (grub_list_iterate): Return int instead of void.
20500 (grub_list_insert): New function.
20501 (GRUB_AS_NAMED_LIST_P): New macro.
20502 (GRUB_AS_PRIO_LIST): Likewise.
20503 (GRUB_AS_PRIO_LIST_P): Likewise.
20504 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
20505 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
20506 (grub_prio_list): New structure.
20507 (grub_prio_list_insert): New function.
20508 (grub_prio_list_remove): New inline function.
20509
20510 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
20511 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
20512 (GRUB_COMMAND_FLAG_MENU): Likewise.
20513 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20514 (GRUB_COMMAND_FLAG_TITLE): Likewise.
20515 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20516 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
20517 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
20518 (grub_command): Likewise.
20519 (grub_register_command): Likewise.
20520 (grub_command_find): Likewise.
20521 (grub_iterate_commands): Likewise.
20522 (grub_command_init): Likewise.
20523 (grub_arg_parse): Likewise.
20524 (grub_arg_show_help): Likewise.
20525
20526 * include/grub/rescue.h (grub_rescue_register_command): Removed.
20527 (grub_rescue_unregister_command): Likewise.
20528
20529 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
20530 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
20531 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
20532
20533 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
20534 grub_rescue_cmd_initrd.
20535 * include/grub/i386/loader.h: Likewise.
20536 * include/grub/x86_64/loader.h: Likewise.
20537
20538 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
20539
1f4147aa 205402009-03-21 Bean <bean123ch@gmail.com>
20541
20542 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
20543 instead of stat in mingw environment.
20544
20545 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
20546
20547 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
20548
20549 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
20550 AC_CONFIG_LINKS.
20551
2156d5ba 205522009-03-21 Bean <bean123ch@gmail.com>
20553
20554 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
20555 out of range error.
20556
177b82ca 205572009-03-18 Michel Dänzer <michel@daenzer.net>
20558
20559 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
20560 checking inode flags for EXT4_EXTENTS_FLAG.
20561
14aad807 205622009-03-18 Robert Millan <rmh@aybabtu.com>
20563
20564 * loader/i386/linux.c: Include `<grub/video.h>' and
20565 `<grub/i386/pc/vbe.h>'..
20566 (grub_linux_setup_video): New function. Loosely based on the EFI one.
20567 (grub_linux32_boot): Attempt to configure video settings with
20568 grub_linux_setup_video().
20569 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
20570 to avoid grub_console_fini() which would step out of graphical mode
20571 unconditionally.
20572
8cf83a27 205732009-03-14 Robert Millan <rmh@aybabtu.com>
20574
20575 Fix build on powerpc.
20576 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
20577
40164e75 205782009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
20579
20580 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
20581 background image command.
20582
c58bc32a 205832009-03-12 Colin D Bennett <colin@gibibit.com>
20584
20585 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
20586 (grub_gfxterm_putchar): Extract pairs of identical calls to
20587 draw_cursor out of conditional blocks.
20588
5415144a 205892009-03-11 Pavel Roskin <proski@gnu.org>
20590
20591 * fs/hfs.c (grub_hfs_strncasecmp): New function.
20592 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
20593
6394042e 205942009-03-11 Robert Millan <rmh@aybabtu.com>
20595
20596 * loader/i386/multiboot_elfxx.c
20597 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
20598
b7b50e5f 205992009-03-11 Felix Zielcke <fzielcke@z-51.de>
20600
20601 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
20602 `kern/handler.c'.
20603
1ca7fc96 206042009-03-11 Robert Millan <rmh@aybabtu.com>
20605
20606 * loader/i386/multiboot.c (code_size): New variable.
20607 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 20608 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 20609 4-byte alignment to MBI and others by increasing
7d074e3c 20610 `boot_loader_name_length' appropriately.
1ca7fc96 20611
20612 * loader/i386/multiboot_elfxx.c
20613 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
20614
a83ea1d2 206152009-03-09 Felix Zielcke <fzielcke@z-51.de>
20616
20617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
20618 `fs/ext2.c'.
20619
aa9f3bff 206202009-03-08 Robert Millan <rmh@aybabtu.com>
20621
20622 Make loader/i386/linux.c usable on i386-pc again.
20623
20624 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
20625 memory to heap.
20626 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
20627 `#error' stanza.
20628
d8b3b60e 206292009-03-07 Bean <bean123ch@gmail.com>
20630
20631 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
20632 allocation.
20633
b362c9e9 206342009-03-06 Robert Millan <rmh@aybabtu.com>
20635
20636 Fix display issue on terminals with screen size other than 80x25
20637 (e.g. gfxterm with resolution higher than 640x480).
20638
20639 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 20640 position relative to the center of the terminal instead of relying
b362c9e9 20641 on a hardcoded offset.
20642
9304eef1 206432009-03-04 Robert Millan <rmh@aybabtu.com>
20644
20645 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
20646 installed.
20647
20648 * Makefile.in (host_kernel): New variable.
20649 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
20650 scripts instead of just the windows one.
20651 * configure.ac: Initialize and AC_SUBST `host_kernel'.
20652
eabc95fb 206532009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 20654
20655 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
20656 `kern/handler.c'.
20657 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20658 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20659 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20661 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20662 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20663
ceb1223c 206642009-03-04 Felix Zielcke <fzielcke@z-51.de>
20665
20666 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
20667 or if there's no space for the disk label and print the partition number on a
20668 invalid magic.
20669
4910684a 206702009-03-04 Felix Zielcke <fzielcke@z-51.de>
20671
20672 * util/misc.c: Include <time.h>.
20673 (grub_millisleep): New function.
20674
7e9ca17a 206752009-03-04 Bean <bean123ch@gmail.com>
20676
20677 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
20678 another option -mno-red-zone.
20679
20680 * commands/handler.c: Change module description.
20681
20682 * kern/handler.c: Add missing space at the end of description line.
20683
20684 * kern/list.c: Likewise.
20685
f501677c 206862009-03-03 Robert Millan <rmh@aybabtu.com>
20687
20688 Move more components to the relocation area, and fix mbi pointer
20689 handling to use the destination rather than the origin (thanks to
20690 Vladimir Serbinenko for spotting).
20691
20692 * loader/i386/multiboot.c (mbi_dest): New variable.
20693 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
20694 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
20695 relocation area.
20696
9902d047 206972009-03-01 Bean <bean123ch@gmail.com>
20698
50fb7002 20699 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 20700 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
20701 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
20702 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
20703
20704 * loader/i386/efi/linux.c (acpi_guid): New variable.
20705 (acpi_guid): Likewise.
20706 (EBDA_SEG_ADDR): New constant.
20707 (LOW_MEM_ADDR): Likewise.
20708 (FAKE_EBDA_SEG): Likewise.
20709 (fake_bios_data): New function.
20710 (grub_linux_boot): Call fake_bios_data.
20711
71b9f361 207122009-03-01 Bean <bean123ch@gmail.com>
20713
20714 * commands/terminal.c: Removed.
20715
20716 * commands/handler.c: New file.
20717
20718 * include/grub/list.h: Likewise.
20719
20720 * include/grub/handler.h: Likewise.
20721
20722 * kern/list.c: Likewise.
20723
20724 * kern/handler.c: Likewise.
20725
20726 * kern/term.h: Include header file <grub/handler.h>.
20727 (grub_term_input): Move next field to the beginning.
20728 (grub_term_output): Likewise.
20729 (grub_term_input_class): New variable.
20730 (grub_term_output_class): Likewise.
20731 (grub_term_register_input): Changed to inline function.
20732 (grub_term_register_output): Likewise.
20733 (grub_term_unregister_input): Likewise.
20734 (grub_term_unregister_output): Likewise.
20735 (grub_term_set_current_input): Likewise.
20736 (grub_term_set_current_output): Likewise.
20737 (grub_term_get_current_input): Likewise.
20738 (grub_term_get_current_output): Likewise.
20739 (grub_term_iterate_input): Removed.
20740 (grub_term_iterate_output): Likewise.
20741
20742 * kern/term.c (grub_term_list_input): Removed.
20743 (grub_term_list_output): Likewise.
20744 (grub_term_input_class): New variable.
20745 (grub_term_output_class): Likewise.
50fb7002 20746 (grub_cur_term_input): Change variable as macro.
71b9f361 20747 (grub_cur_term_output): Likewise.
20748 (grub_term_register_input): Removed.
20749 (grub_term_register_output): Likewise.
20750 (grub_term_unregister_input): Likewise.
20751 (grub_term_unregister_output): Likewise.
20752 (grub_term_set_current_input): Likewise.
20753 (grub_term_set_current_output): Likewise.
20754 (grub_term_iterate_input): Likewise.
20755 (grub_term_iterate_output): Likewise.
20756 (grub_term_get_current_input): Likewise.
20757 (grub_term_get_current_output): Likewise.
20758
20759 * util/grub-editenv.c: Include header file <grub/handler.h>.
20760 (grub_term_get_current_input): Removed.
20761 (grub_term_get_current_output): Likewise.
20762 (grub_term_input_class): New variable.
50fb7002 20763 (grub_term_output_class): Likewise.
71b9f361 20764
20765 * util/grub-fstest.c (grub_term_get_current_input): Removed.
20766 (grub_term_get_current_output): Likewise.
20767 (grub_term_input_class): New variable.
50fb7002 20768 (grub_term_output_class): Likewise.
71b9f361 20769
20770 * util/grub-probe.c (grub_term_get_current_input): Removed.
20771 (grub_term_get_current_output): Likewise.
20772 (grub_term_input_class): New variable.
50fb7002 20773 (grub_term_output_class): Likewise.
71b9f361 20774
20775 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
20776 (grub_term_get_current_output): Likewise.
20777 (grub_term_input_class): New variable.
50fb7002 20778 (grub_term_output_class): Likewise.
71b9f361 20779
20780 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
20781 (terminal_mod_SOURCES): Likewise.
20782 (terminal_mod_CFLAGS): Likewise.
20783 (terminal_mod_LDFLAGS): Likewise.
20784
20785 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
20786 handler.c.
20787 (kernel_img_SOURCES): Add list.c and handler.c.
20788 (kernel_img_HEADERS): Add list.h and handler.h.
20789
20790 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20791 handler.c.
20792 (kernel_mod_SOURCES): Add list.c and handler.c.
20793 (kernel_mod_HEADERS): Add list.h and handler.h.
20794
20795 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
20796 handler.c.
20797 (kernel_elf_SOURCES): Add list.c and handler.c.
20798 (kernel_elf_HEADERS): Add list.h and handler.h.
20799
20800 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20801 handler.c.
20802 (kernel_elf_SOURCES): Add list.c and handler.c.
20803 (kernel_elf_HEADERS): Add list.h and handler.h.
20804
20805 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20806 handler.c.
20807 (kernel_mod_SOURCES): Add list.c and handler.c.
20808 (kernel_mod_HEADERS): Add list.h and handler.h.
20809
20810 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20811 handler.c.
20812 (kernel_elf_SOURCES): Add list.c and handler.c.
20813 (kernel_elf_HEADERS): Add list.h and handler.h.
20814
8a31787f 208152009-02-27 Robert Millan <rmh@aybabtu.com>
20816
20817 Factorize elf32 / elf64 code in Multiboot loader. This will
20818 prevent it from getting out of sync again.
20819
20820 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
20821 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
20822 grub_multiboot_load_elf64): Move from here ...
20823 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
20824 grub_multiboot_load_elf): ... to here (new file).
20825
51cd3dfc 208262009-02-27 Robert Millan <rmh@aybabtu.com>
20827
20828 * util/grub.d/10_linux.in: Rename "single-user mode" to
20829 "recovery mode".
20830
6e8c9c3a 208312009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
20832
20833 Don't leak in SCSI code.
20834 * disk/scsi.c (grub_scsi_close): free `scsi'.
20835
4b6bf4f9 208362009-02-27 Robert Millan <rmh@aybabtu.com>
20837
20838 * loader/i386/pc/multiboot.c: Move from here ...
20839 * loader/i386/multiboot.c: ... to here. Update all users.
20840
b9413424 208412009-02-27 Robert Millan <rmh@aybabtu.com>
20842
20843 Patch from Alexandre Bique <bique.alexandre@gmail.com>
20844 * util/i386/pc/grub-setup.c (setup): Fix directory path.
20845
50fb7002 208462009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 20847
20848 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
20849 b-tree.
20850
8cc50345 208512009-02-27 Robert Millan <rmh@aybabtu.com>
20852
20853 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
20854 `0x' qualifier as 0 when base is specified as parameter).
20855
6e09b8b7 208562009-02-24 Bean <bean123ch@gmail.com>
20857
20858 * configure.ac: Check for -mcmodel=large in x86_64 target.
20859
20860 * include/grub/efi/api.h (efi_call_10): New macro.
20861 (efi_wrap_10): New function.
20862
20863 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
20864 (GRUB_PE32_REL_BASED_HIGH): Likewise.
20865 (GRUB_PE32_REL_BASED_LOW): Likewise.
20866 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
20867 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
20868 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
20869 (GRUB_PE32_REL_BASED_SECTION): Likewise.
20870 (GRUB_PE32_REL_BASED_REL): Likewise.
20871 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
20872 (GRUB_PE32_REL_BASED_DIR64): Likewise.
20873 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
20874
20875 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
20876 issue.
20877
20878 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
20879 (efi_wrap_10): New function.
20880
20881 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
20882
20883 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
20884 MB/MBP model (NV chipset).
20885 (devdata_devs): Add devpath_5 to the list.
20886
20887 * load/i386/efi/linux.c (video_base): Remove variable.
20888 (RGB_MASK): New macro.
20889 (RGB_MAGIC): Likewise.
20890 (LINE_MIN): Likewise.
20891 (LINE_MAX): Likewise.
20892 (FBTEST_STEP): Likewise.
20893 (FBTEST_COUNT): Likewise.
20894 (fb_list): New variable.
20895 (grub_find_video_card): Remove function.
20896 (find_framebuf): New function.
20897 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
20898 line length.
20899
20900 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
20901 problem for x86_64.
20902
74b21bee 209032009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
20904
20905 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
20906
20907 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
20908 coding tool name.
20909
a455f472 209102009-02-22 Robert Millan <rmh@aybabtu.com>
20911
20912 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
20913 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
20914 in our relocation, instead of using it directly from heap. Also
20915 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
20916
6374daf3 209172009-02-21 Robert Millan <rmh@aybabtu.com>
20918
20919 Implement USB keyboard support (based on patch by Marco Gerards)
20920
20921 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
20922 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
20923 (usb_keyboard_mod_LDFLAGS): New variables.
20924
20925 * term/usb_keyboard.c: New file.
20926
8fa4ea70 209272009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20928
20929 Corrected wrong declaration
20930
20931 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
20932
353976ac 209332009-02-14 Christian Franke <franke@computer.org>
20934
20935 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
20936 (grub_lspci_iter): Print class code and programming interface byte.
20937
6aa1169b 209382009-02-14 Christian Franke <franke@computer.org>
20939
20940 * gendistlist.sh: Ignore `.svn' directories.
20941
265372ca 209422009-02-14 Felix Zielcke <fzielcke@z-51.de>
20943
20944 * fs/fat.c: Add 2009 to Copyright line.
20945
9ff516f3 209462009-02-14 Christian Franke <franke@computer.org>
20947
20948 * commands/hdparm.c: New file. Provides `hdparm' command
20949 which sends ATA commands via grub_disk_ata_pass_through ().
20950
20951 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
20952
20953 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
20954 and <grub/cpu/io.h> to include/grub/ata.h.
20955 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
20956 (GRUB_CDROM_SECTOR_SIZE): Remove.
20957 (GRUB_ATA_*): Move to include/grub/ata.h.
20958 (GRUB_ATAPI_*): Likewise.
20959 (enum grub_ata_commands): Likewise.
20960 (enum grub_ata_timeout_milliseconds): Likewise.
20961 (struct grub_ata_device): Likewise.
20962 (grub_ata_regset): Likewise.
20963 (grub_ata_regget): Likewise.
20964 (grub_ata_regset2): Likewise.
20965 (grub_ata_regget2): Likewise.
20966 (grub_ata_check_ready): Likewise.
20967 (grub_ata_wait_not_busy): Remove static, exported in
20968 include/grub/ata.h.
20969 (grub_ata_wait_drq): Likewise.
20970 (grub_ata_pio_read): Likewise.
20971
20972 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
20973 function for hdparm.mod.
20974
20975 * include/grub/ata.h: New file, contains declarations from
20976 disk/ata.c.
20977 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
20978
20979 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
20980 (grub_disk_ata_pass_through): New exported variable.
20981
20982 * kern/disk.c (grub_disk_ata_pass_through): New variable.
20983
772e23da 209842009-02-13 Colin D Bennett <colin@gibibit.com>
20985
20986 Support multiple fallback entries, and provide an API to support
20987 executing default+fallback menu entries. Renamed the `terminal' menu
20988 viewer to `text'.
20989
20990 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
20991 variable declaration.
20992 (grub_menu_execute_callback): New structure declaration.
20993 (grub_menu_execute_callback_t): New typedef.
20994 (grub_menu_execute_with_fallback): New function declaration.
20995 (grub_menu_get_entry): Likewise.
20996 (grub_menu_get_timeout): Likewise.
20997 (grub_menu_set_timeout): Likewise.
20998
20999 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
21000
21001 * normal/menu.c (grub_wait_after_message): Moved to
21002 `normal/menu_text.c'.
21003 (draw_border): Likewise.
21004 (print_message): Likewise.
21005 (print_entry): Likewise.
21006 (print_entries): Likewise.
21007 (grub_menu_init_page): Likewise.
21008 (get_entry_number): Likewise.
21009 (print_timeout): Likewise.
21010 (run_menu): Likewise.
21011 (grub_menu_execute_entry): Likewise.
21012 (show_text_menu): Likewise.
21013 (get_and_remove_first_entry_number): New function.
21014 (grub_menu_execute_with_fallback): Likewise.
21015 (get_entry): Renamed to ...
21016 (grub_menu_get_entry): .. this and made it global.
21017 (get_timeout): Renamed to ...
21018 (grub_menu_get_timeout): ... this and made it global.
21019 (set_timeout): Renamed to ...
21020 (grub_menu_set_timeout): ... this and made it global.
21021 (grub_normal_terminal_menu_viewer): Renamed to ...
21022 (grub_normal_text_menu_viewer): ... this.
21023
21024 * normal/menu_text.c: New file. Extracted text-menu-specific code
21025 from normal/menu.c.
21026
21027 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
21028 (normal_mod_SOURCES): Likewise.
21029
21030 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21031 (normal_mod_SOURCES): Likewise.
21032
21033 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21034 (normal_mod_SOURCES): Likewise.
21035
21036 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
21037 (normal_mod_SOURCES): Likewise.
21038
21039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21040 (normal_mod_SOURCES): Likewise.
21041
21042 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21043 (normal_mod_SOURCES): Likewise.
21044
21045 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21046 (normal_mod_SOURCES): Likewise.
21047
16ac430e 210482009-02-11 Robert Millan <rmh@aybabtu.com>
21049
21050 * util/grub.d/00_header.in: Update old reference to `font' command.
21051
06ff20fc 210522009-02-10 Felix Zielcke <fzielcke@z-51.de>
21053
21054 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
21055
21056 Based on patch from Javier Martín.
21057
96da9407 210582009-02-09 Felix Zielcke <fzielcke@z-51.de>
21059
21060 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 21061 to avoid false positives with FAT.
96da9407 21062 (grub_fstest_SOURCES): Likewise.
21063 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21064 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21066 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21067 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21068 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21069
6dca6fe4 210702009-02-09 Felix Zielcke <fzielcke@z-51.de>
21071
06ff20fc 21072 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 21073 bpb.version_specific.fat12_or_fat16.fstype and
21074 bpb.version_specific.fat32.fstype.
21075
2550c62f 210762009-02-08 Robert Millan <rmh@aybabtu.com>
21077
be110b30 21078 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 21079
56978920 210802009-02-08 Robert Millan <rmh@aybabtu.com>
21081
21082 * Makefile.in (host_os, host_cpu): New variables.
21083 (target_os): Remove. Update all users.
21084
d64399b5 210852009-02-08 Marco Gerards <marco@gnu.org>
21086
21087 * Makefile.in (enable_grub_emu_usb): New variable.
21088 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
21089 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
21090 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
21091 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
21092 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
21093 `usbtest.mod' and `usbms.mod'.
21094 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
21095 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
21096 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
21097 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
21098 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
21099 variables.
21100
21101 * disk/usbms.c: New file.
21102
21103 * include/grub/usb.h: Likewise.
21104
21105 * include/grub/usbtrans.h: Likewise.
21106
21107 * include/grub/usbdesc.h: Likewise.
21108
21109 * bus/usb/usbtrans.c: Likewise.
21110
21111 * bus/usb/ohci.c: Likewise.
21112
21113 * bus/usb/uhci.c: Likewise.
21114
21115 * bus/usb/usbhub.c: Likewise.
21116
21117 * bus/usb/usb.c: Likewise.
21118
21119 * commands/usbtest.c: Likewise.
21120
21121 * util/usb.c: Likewise.
50fb7002 21122
d64399b5 21123 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
21124
21125 * configure.ac: Test for libusb presence.
50fb7002 21126
d64399b5 21127 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
21128
2b40d6bb 211292009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
21130
21131 * kern/mm.c: Add more comments.
21132
73a4ce81 211332009-02-08 Robert Millan <rmh@aybabtu.com>
21134
21135 Patch from Javier Martín.
21136 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
21137 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
21138
f821ce59 211392009-02-08 Robert Millan <rmh@aybabtu.com>
21140
21141 * fs/cpio.c: Split tar functionality to ...
21142 * fs/tar.c: ... here (new file). Update all users.
21143
aebfc4b0 211442009-02-07 Robert Millan <rmh@aybabtu.com>
21145
21146 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
21147 backward-incompatible features.
21148
21149 Based on patch from Javier Martín, with some adjustments.
21150
50fb7002 211512009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 21152
21153 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
21154
0bb5115e 211552009-02-07 Robert Millan <rmh@aybabtu.com>
21156
21157 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
21158 position of `disk/lvm.c' to ensure grub_init_all() always picks it
21159 after the RAID stuff.
21160
38a0f8e7 211612009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
21162
50fb7002 21163 Fixes problem when running vbetest command as reported by
38a0f8e7 21164 Vladimir Serbinenko <phcoder@gmail.com>.
21165
21166 * (grub_vbe_set_video_mode): Fixed problem with text modes.
21167
3143cc1c 211682009-02-04 Felix Zielcke <fzielcke@z-51.de>
21169
21170 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
21171 /dev/md/NpN style mdraid devices.
21172
9cba6fce 211732009-02-03 Felix Zielcke <fzielcke@z-51.de>
21174
21175 * util/unifont2pff.rb: Remove.
21176
e507a2c1 211772009-02-03 Felix Zielcke <fzielcke@z-51.de>
21178
21179 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
21180 `#'.
21181
d2c2b4cd 211822009-02-03 Felix Zielcke <fzielcke@z-51.de>
21183
21184 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
21185 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21186 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21187 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21189 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21190 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21191
b4315fb0 211922009-02-02 Christian Franke <franke@computer.org>
21193
21194 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
21195
de3aa260 211962009-02-01 Felix Zielcke <fzielcke@z-51.de>
21197
7c3ff286 21198 * INSTALL: Note that we now require at least autoconf 2.59 and
21199 that LZO is optional.
de3aa260 21200
825a182b 212012009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21202
21203 Base on patch on bug #24154 created by Tomas Tintera
21204 <trosos@seznam.cz>.
21205
21206 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
21207
a69ef770 212082009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21209
7c3ff286 21210 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 21211 <bero@arklinux.org>.
21212
21213 * normal/parser.y (script_init): Add missing semicolon.
21214
6fa42fa6 212152009-01-31 Colin D Bennett <colin@gibibit.com>
21216
7c3ff286 21217 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 21218 (free_menu_entry_classes): Added.
21219 (grub_normal_menu_addentry): Added class property handling.
21220 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
21221 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
21222
21223 * normal/menu_viewer.c: New file.
21224
21225 * normal/menu.c (run_menu_entry): Renamed to ...
21226 (grub_menu_execute_entry): ... this and made it as global.
21227 (grub_menu_run): Renamed to ...
21228 (show_text_menu): ... this and made it local.
21229 (show_text_menu): Adapt to new function names.
21230 (grub_normal_terminal_menu_viewer): New global variable.
21231
21232 * include/grub/menu.h: New file.
21233
21234 * include/grub/menu_viewer.h: New file.
21235
21236 * include/grub/normal.h: Added include to grub/menu.h.
21237 (grub_menu_entry): Moved to include/grub/menu.h.
21238 (grub_menu_entry_t): Likewise.
21239 (grub_menu): Likewise.
21240 (grub_menu_t): Likewise.
21241 (grub_normal_terminal_menu_viewer): Added.
21242 (grub_menu_execute_entry): Likewise.
21243 (grub_menu_run): Removed.
21244
21245 * DISTLIST: Added include/grub/menu.h.
21246 Added include/grub/menu_viewer.h.
21247 Added normal/menu_viewer.c.
21248
212492009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
21250
21251 * normal/execute.c (grub_script_execute_menuentry): Changed to use
21252 arglist for menutitle arguments.
21253
21254 * normal/main.c (grub_normal_menu_addentry): Likewise.
21255
21256 * normal/parser.y (menuentry): Likewise.
21257
21258 * normal/script.c (grub_script_create_cmdmenu): Likewise.
21259
21260 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
21261 (grub_script_create_cmdmenu): Likewise.
21262
21263 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
21264
21265 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
21266 changes.
21267
21268 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
21269
21270 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
21271
21272 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
21273
21274 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21275
21276 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21277
21278 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21279
56192c23 212802009-01-30 Christian Franke <franke@computer.org>
21281
21282 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
21283 in option help text.
21284
d72521b3 212852009-01-27 Pavel Roskin <proski@gnu.org>
21286
21287 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
21288
994b5e84 212892009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21290
21291 * commands/lsmmap.c: Add include to grub/machine/memory.h.
21292
21293 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
21294
21295 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
21296 unregister function.
21297
6a7eab2c 212982009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21299
21300 * disk/scsi.c (grub_scsi_read): Fix sign problem.
21301
21302 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
21303
21304 * util/grub-mkfont.c (usage): Fix typo.
21305
21306 * util/elf/grub-mkimage.c (load_modules): Fix warning.
21307
1806b56e 213082009-01-26 Daniel Mierswa <impulze@impulze.org>
21309
3fb18f09 21310 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
21311
336e1fb9 21312 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
21313
1806b56e 21314 * kern/misc.c (grub_strcasecmp): New function.
21315 (grub_strcasecmp): Use grub_size_t instead of int for length.
21316 Fix return value.
21317 * include/grub/misc.h: Update function prototypes.
21318
580b2a0f 213192009-01-26 Robert Millan <rmh@aybabtu.com>
21320
21321 * configure.ac: Fix cross-compilation check.
ef257b36 21322
d31c24f1 213232009-01-22 Christian Franke <franke@computer.org>
21324
21325 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
21326 (precision) digit string. Allow `.format2' without `format1' (width).
21327 Limit input chars for `%s' output to `format2' if specified. This is
21328 compatible with standard printf ().
21329
3138b44c 213302009-01-22 Christian Franke <franke@computer.org>
21331
21332 * disk/ata.c (grub_ata_wait_status): Replace by ...
21333 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
21334 other status bits may be invalid while BSY is asserted.
21335 (grub_ata_check_ready): New function.
21336 (grub_ata_cmd): Removed.
21337 (grub_ata_wait_drq): New function.
21338 (grub_ata_strncpy): Remove inline.
21339 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
21340 and error check now done by grub_ata_wait_drq ().
21341 (grub_ata_pio_write): Likewise.
21342 (grub_atapi_identify): Set DEV before check for !BSY. Use
21343 grub_ata_wait_drq () to wait for data.
21344 (grub_ata_device_initialize): Add status register check to
21345 detect missing SATA slave devices. Add debug messages.
21346 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
21347 (grub_atapi_packet): Set DEV before check for !BSY. Replace
21348 transfer loop by grub_ata_pio_write ().
21349 (grub_ata_identify): Set DEV before check for !BSY. Use
21350 grub_ata_wait_drq () to wait for data.
ef257b36 21351 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 21352 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
21353 read/write in one loop. Fix invalid command on write. Fix incomplete
21354 command on (size % batch) == 0. Add missing error check after write of
21355 last block. Add debug messages.
21356 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
21357
59a64ef6 213582009-01-19 Christian Franke <franke@computer.org>
21359
21360 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
21361 (GRUB_ATAPI_IREASON_*): Likewise.
21362 (grub_ata_pio_write): Fix timeout error return.
21363 (grub_atapi_identify): Add grub_ata_wait () after cmd.
21364 (grub_atapi_wait_drq): New function.
21365 (grub_atapi_packet): New parameter `size'.
21366 Use grub_atapi_wait_drq () and direct write instead of
21367 grub_ata_pio_write ().
21368 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
21369 reads the number of bytes requested by the device for each DRQ
21370 assertion.
21371 (grub_atapi_write): Remove old implementation, return not
21372 implemented instead.
21373
1cfe20b3 213742009-01-19 Christian Franke <franke@computer.org>
21375
21376 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
21377 of 512 to calculate data size.
21378 (grub_scsi_read12): Likewise.
21379 (grub_scsi_write10): Likewise.
21380 (grub_scsi_write12): Likewise.
21381 (grub_scsi_read): Adjust size according to blocksize.
21382 Add checks for invalid blocksize and unaligned transfer.
21383
bee5fe5d 213842009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
21385
21386 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
21387
ef257b36 21388 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 21389 width glyphs.
21390
3e643f8c 213912009-01-19 Robert Millan <rmh@aybabtu.com>
21392
21393 * config.guess: Update to latest version from config git.
21394 * config.sub: Likewise.
21395
4fa80998 213962009-01-17 Felix Zielcke <fzielcke@z-51.de>
21397
21398 * Makefile.in: Change font compilation to use new grub-mkfont instead
21399 of java version.
21400
21401 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
21402 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21403 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21404 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21405 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21406 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21407 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21408 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21409 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21410
7086085b 214112009-01-16 Christian Franke <franke@computer.org>
21412
21413 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
21414 (enum grub_ata_timeout_milliseconds): New enum.
21415 (grub_ata_wait_status): Add parameter milliseconds.
21416 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
21417 recovery from timed-out commands.
21418 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
21419 return grub_errno instead of REG_ERROR.
21420 (grub_ata_pio_write): Add parameter milliseconds.
21421 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
21422 Pass milliseconds to grub_ata_wait_status () and
21423 grub_ata_pio_read ().
21424 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
21425 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
21426 grub_ata_wait_status (). Fix IDENTIFY timeout check.
21427 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
21428 It is not suitable for device detection, because DEV bit is ignored,
21429 the command may run too long, and not all devices set the signature
21430 properly.
21431 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
21432 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
21433 Fix device selection, DEV bit must be set first to address the registers
21434 of the correct device.
21435 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
21436 grub_ata_pio_read/write ().
21437 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
21438 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
21439
4a412913 214402009-01-13 Carles Pina i Estany <carles@pina.cat>
21441
21442 * util/grub-editenv.c (main): Use fseeko(), not fseek().
21443
7795c55e 214442009-01-13 Bean <bean123ch@gmail.com>
d913988c 21445
21446 * util/grub-mkfont.c (write_font): forget to remove some debug code.
21447
7795c55e 214482009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 21449
21450 * Makefile.in: (enable_grub_mkfont): New variable.
21451 (freetype_cflags): Likewise.
21452 (freetype_libs): Likewise.
21453
21454 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
21455 (grub_mkfont_SOURCES): New variable.
21456 (grub_mkfont_CFLAGS): Likewise.
21457 (grub_mkfont_LDFLAGS): Likewise.
21458
21459 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
21460 library if `--enable-grub-mkfont' is requested.
21461 (enable_grub_mkfont): New variable.
21462 (freetype_cflags): Likewise.
21463 (freetype_libs): Likewise.
21464
21465 * util/grub-mkfont.c: New file.
21466
093af1fe 214672009-01-12 Christian Franke <franke@computer.org>
21468
21469 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
21470 mode check. Fix setting of compat_use[].
21471
f36cc108 214722009-01-10 Robert Millan <rmh@aybabtu.com>
21473
21474 Update a few copyright years which we forgot to do in 2008 (only for
21475 files whose changes made in 2008 were copyright-significant)
21476
21477 * Makefile.in: Add 2008 to Copyright line.
21478 * disk/ieee1275/ofdisk.c: Likewise.
21479 * disk/efi/efidisk.c: Likewise.
21480 * kern/dl.c: Likewise.
21481 * kern/sparc64/ieee1275/init.c: Likewise.
21482 * kern/mm.c: Likewise.
21483 * kern/efi/mm.c: Likewise.
21484 * boot/i386/pc/boot.S: Likewise.
21485 * genfslist.sh: Likewise.
21486 * fs/iso9660.c: Likewise.
21487 * fs/hfs.c: Likewise.
21488 * fs/jfs.c: Likewise.
21489 * fs/minix.c: Likewise.
21490 * fs/ufs.c: Likewise.
21491 * gensymlist.sh.in: Likewise.
21492 * genkernsyms.sh.in: Likewise.
21493 * include/grub/misc.h: Likewise.
21494 * include/grub/types.h: Likewise.
21495 * include/grub/symbol.h: Likewise.
21496 * include/grub/elf.h: Likewise.
21497 * include/grub/kernel.h: Likewise.
21498 * include/grub/disk.h: Likewise.
21499 * include/grub/dl.h: Likewise.
21500 * include/grub/i386/linux.h: Likewise.
21501 * include/grub/i386/pc/biosdisk.h: Likewise.
21502 * include/grub/efi/api.h: Likewise.
21503 * include/grub/efi/pe32.h: Likewise.
21504 * include/grub/util/misc.h: Likewise.
21505 * normal/execute.c: Likewise.
21506 * normal/arg.c: Likewise.
21507 * normal/completion.c: Likewise.
21508 * normal/lexer.c: Likewise.
21509 * normal/parser.y: Likewise.
21510 * normal/misc.c: Likewise.
21511 * commands/i386/pc/vbeinfo.c: Likewise.
21512 * commands/hexdump.c: Likewise.
21513 * commands/terminal.c: Likewise.
21514 * commands/ls.c: Likewise.
21515 * commands/help.c: Likewise.
21516 * partmap/pc.c: Likewise.
21517 * loader/efi/chainloader.c: Likewise.
21518 * loader/multiboot_loader.c: Likewise.
21519 * loader/i386/pc/multiboot2.c: Likewise.
21520 * term/efi/console.c: Likewise.
21521 * term/i386/pc/serial.c: Likewise.
21522 * util/lvm.c: Likewise.
21523 * util/console.c: Likewise.
21524 * util/i386/efi/grub-mkimage.c: Likewise.
21525 * util/raid.c: Likewise.
21526
7f02114b 215272009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
21528
21529 * commands/videotest.c: Removed include to grub/machine/memory.h.
21530
21531 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
21532 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
21533 (video_mod_SOURCES): Removed.
21534 (video_mod_CFLAGS): Likewise.
21535 (video_mod_LDFLAGS): Likewise.
21536 (gfxterm_mod_SOURCES): Likewise.
21537 (gfxterm_mod_CFLAGS): Likewise.
21538 (gfxterm_mod_LDFLAGS): Likewise.
21539 (videotest_mod_SOURCES): Likewise.
21540 (videotest_mod_CFLAGS): Likewise.
21541 (videotest_mod_LDFLAGS): Likewise.
21542 (bitmap_mod_SOURCES): Likewise.
21543 (bitmap_mod_CFLAGS): Likewise.
21544 (bitmap_mod_LDFLAGS): Likewise.
21545 (tga_mod_SOURCES): Likewise.
21546 (tga_mod_CFLAGS): Likewise.
21547 (tga_mod_LDFLAGS): Likewise.
21548 (jpeg_mod_SOURCES): Likewise.
21549 (jpeg_mod_CFLAGS): Likewise.
21550 (jpeg_mod_LDFLAGS): Likewise.
21551 (png_mod_SOURCES): Likewise.
21552 (png_mod_CFLAGS): Likewise.
21553 (png_mod_LDFLAGS): Likewise.
21554
21555 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
21556 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
21557 (video_mod_SOURCES): Added.
21558 (video_mod_CFLAGS): Likewise.
21559 (video_mod_LDFLAGS): Likewise.
21560 (videotest_mod_SOURCES): Likewise.
21561 (videotest_mod_CFLAGS): Likewise.
21562 (videotest_mod_LDFLAGS): Likewise.
21563 (bitmap_mod_SOURCES): Likewise.
21564 (bitmap_mod_CFLAGS): Likewise.
21565 (bitmap_mod_LDFLAGS): Likewise.
21566 (tga_mod_SOURCES): Likewise.
21567 (tga_mod_CFLAGS): Likewise.
21568 (tga_mod_LDFLAGS): Likewise.
21569 (jpeg_mod_SOURCES): Likewise.
21570 (jpeg_mod_CFLAGS): Likewise.
21571 (jpeg_mod_LDFLAGS): Likewise.
21572 (png_mod_SOURCES): Likewise.
21573 (png_mod_CFLAGS): Likewise.
21574 (png_mod_LDFLAGS): Likewise.
21575 (gfxterm_mod_SOURCES): Likewise.
21576 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 21577 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 21578
21579 * term/gfxterm.c: Removed include to grub/machine/memory.h,
21580 grub/machine/console.h.
21581
644fff97 215822009-01-04 Jerone Young <jerone@gmail.com>
21583
21584 Make on screen instructions clearer
21585
21586 Based on patch created by Jidanni <jidanni@jidanni.org>
21587
21588 * normal/menu.c: print clearer instructions on the screen
21589
1e901a75 215902009-01-02 Colin D Bennett <colin@gibibit.com>
21591
21592 New font engine.
34c44600 21593
1e901a75 21594 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
21595 build system and fixed gfxterm.c to work with different sized fonts.
21596
21597 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 21598
1e901a75 21599 * configure: Re-generated.
34c44600 21600
1e901a75 21601 * DISTLIST: Removed font/manager.c.
21602 Added font/font.c.
21603 Added font/font_cmd.c.
34c44600 21604
1e901a75 21605 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
21606 compilation.
34c44600 21607
1e901a75 21608 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 21609
21610 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 21611
21612 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 21613
1e901a75 21614 * normal/menu.c: Likewise.
34c44600 21615
1e901a75 21616 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
21617 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 21618
1e901a75 21619 * include/grub/font.h: Replaced with new file.
34c44600 21620
1e901a75 21621 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
21622 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
21623 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
21624 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
21625 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 21626 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 21627 fg_red, fg_green, fg_blue, fg_alpha.
21628 (grub_video_adapter): Removed blit_glyph.
34c44600 21629 (grub_video_blit_glyph): Removed.
21630
1e901a75 21631 * font/manager.c: Removed file.
34c44600 21632
21633 * font/font.c: New file.
21634
1e901a75 21635 * font/font_cmd.c: Likewise.
34c44600 21636
1e901a75 21637 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 21638
1e901a75 21639 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
21640 (grub_video_vbe_map_rgba): Likewise.
21641 (grub_video_vbe_unmap_color_int): Likewise.
21642 (grub_video_vbe_blit_glyph): Removed.
21643 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 21644
1e901a75 21645 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
21646 (get_pixel): Likewise.
34c44600 21647 (set_pixel): Likewise.
21648
1e901a75 21649 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 21650
1e901a75 21651 * term/gfxterm.c: Adapted to new font engine.
34c44600 21652
1e901a75 21653 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 21654
1e901a75 21655 * term/i386/pc/vga.c: Likewise.
34c44600 21656
1e901a75 21657 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 21658
1e901a75 21659 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 21660
1e901a75 21661 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 21662
1e901a75 21663 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 21664
1e901a75 21665 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 21666
1e901a75 21667 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 21668
1e901a75 21669 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 21670
1e901a75 21671 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 21672
1e901a75 21673 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21674
21675 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 21676
1e901a75 21677 * util/grub-mkconfig_lib.in: Changed font extension.
21678
278922e8 216792008-12-28 Felix Zielcke <fzielcke@z-51.de>
21680
21681 * util/getroot.c (grub_util_get_grub_dev): Add support for
21682 /dev/md/dNNpNN style partitionable mdraid devices.
21683
3ced05cf 216842008-12-12 Alex Smith <alex@alex-smith.me.uk>
21685
21686 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
21687 at a time limit of the PXE TFTP API correctly.
21688 (grub_pxefs_close): Likewise.
21689
7fd0ee30 216902008-11-29 Robert Millan <rmh@aybabtu.com>
21691
34c44600 21692 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 21693 grub_ata_device_initialize() calls.
21694
34c44600 216952008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 21696
21697 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
21698 iteration failed.
21699 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
21700
89313780 217012008-11-28 Robert Millan <rmh@aybabtu.com>
21702
21703 Fix build on powerpc-ieee1275. Based on patch created by
21704 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
21705 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21706 `kern/ieee1275/mmap.c'.
21707 * include/grub/powerpc/ieee1275/memory.h: New file.
21708
15257703 21709 Provide grub-install on coreboot.
21710 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
21711 (grub_install_SOURCES): New variable.
21712 * util/i386/pc/grub-install.in: Add a few condition checks to make it
21713 usable on coreboot.
21714
9fc5388a 217152008-11-25 Felix Zielcke <fzielcke@z-51.de>
21716
21717 * util/grub-fstest.c (grub_term_get_current_input): Change return type
21718 to `grub_term_input_t'.
21719 (grub_term_get_current_output): Change return type to
21720 `grub_term_output_t'.
21721
bc3a2f31 217222008-11-22 Robert Millan <rmh@aybabtu.com>
21723
34c44600 21724 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 21725 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
21726 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
21727 grub_vga_text_cls().
21728
80fc88f2 21729 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 21730 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 21731
cbf36fd3 21732 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
21733 to 0x200000 (avoids trouble with some OFW implementations, and matches
21734 with the one in Yaboot).
21735 Reported by Manoel Abranches
21736
73e8e268 217372008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 21738
21739 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
21740 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
21741
73e8e268 21742 * util/grub-mkconfig_lib.in (grub_warn): New function.
21743 (convert_system_path_to_grub_path): Use grub_warn() when issuing
21744 warnings, to obtain consistent formatting.
21745 * util/grub.d/00_header.in: Likewise.
21746 * util/update-grub_lib.in: Likewise.
21747
e94045a1 21748 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 21749 Move comment text to `#error' stanza.
e94045a1 21750
79d29fd7 21751 Harmonize ieee1275's grub_available_iterate() with the generic
21752 grub_machine_mmap_iterate() interface (fixes a recently-introduced
21753 build problem on i386-ieee1275):
21754 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
21755 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
21756 parameter `type'. Update all users of this function.
21757 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21758 `kern/ieee1275/mmap.c'.
21759 * kern/ieee1275/init.c
21760 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
21761 with ...
21762 (grub_machine_mmap_iterate): ... this.
21763 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
21764 return type to `grub_err_t'. Update all implementations of this
21765 function prototype.
21766 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
21767 Likewise.
21768
60d6b16e 21769 Add `lsmmap' command (lists firmware-provided memory map):
21770 * commands/lsmmap.c: New file.
21771 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
21772 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
21773 variables.
21774 * conf/powerpc-ieee1275.rmk: Likewise.
21775 * conf/i386-coreboot.rmk: Likewise.
21776 * conf/i386-ieee1275.rmk: Likewise.
21777
ebaaf49b 217782008-11-19 Robert Millan <rmh@aybabtu.com>
21779
21780 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 21781 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
21782 constraints to initrd allocation (based on code from
21783 loader/i386/pc/linux.c). Without them, initrd was allocated too high
21784 for Linux to find it.
ebaaf49b 21785
dfab719f 217862008-11-14 Robert Millan <rmh@aybabtu.com>
21787
21788 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
21789 order to cope with duplicate slashes.
21790
10fc3eb9 217912008-11-14 Robert Millan <rmh@aybabtu.com>
21792
21793 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
21794 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
21795 don't want to mess with lower memory, because it is used in the Linux
21796 loader.
21797
21798 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 21799 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 21800 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
21801 is in our heap (probably as a result of it being corrupted during
2f2a3442 21802 decompression). Add #error instance with comment to explain why this
21803 loader isn't currently usable on PC/BIOS.
10fc3eb9 21804
e2e07847 218052008-11-14 Robert Millan <rmh@aybabtu.com>
21806
21807 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 21808 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 21809
fe8e8d69 218102008-11-12 Robert Millan <rmh@aybabtu.com>
21811
21812 Make loader/i386/linux.c buildable on i386-pc (although disabled).
21813
21814 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
21815 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
21816 from here ...
21817 * include/grub/i386/pc/memory.h: ... to here.
21818
976b07d0 218192008-11-12 Robert Millan <rmh@aybabtu.com>
21820
21821 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
21822 split).
21823
21824 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
21825 (grub_console_cur_color, grub_console_real_putchar)
21826 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21827 (grub_console_setcolorstate, grub_console_setcolor)
21828 (grub_console_getcolor): Move from here ...
21829 * include/grub/i386/vga_common.h: ... to here (new file).
21830
21831 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
21832 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
21833 `<grub/i386/io.h>'.
21834 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
21835 `<grub/i386/vga_common.h>'.
21836
76679cd3 218372008-11-12 Robert Millan <rmh@aybabtu.com>
21838
21839 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
21840 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
21841 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
21842 variables.
21843 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21844 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
21845
21846 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
21847 grub_console_init() with call to grub_vga_text_init().
21848 (grub_machine_fini): Replace call to
21849 grub_console_fini() with call to grub_vga_text_fini() and
21850 grub_at_keyboard_fini().
21851
21852 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
21853 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21854 (grub_console_setcolorstate, grub_console_setcolor)
21855 (grub_console_getcolor): New function prototypes.
21856
21857 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
21858 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
21859 (grub_vga_text_setcursor): Static-ize.
21860 (grub_vga_text_term): New structure.
21861 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
21862
21863 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
21864 (grub_console_cur_color, grub_console_standard_color)
21865 (grub_console_normal_color, grub_console_highlight_color)
21866 (map_char, grub_console_putchar, grub_console_getcharwidth)
21867 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
21868 (grub_console_getcolor): Move from here ...
21869 * term/i386/vga_common.c: ... to here (same function names).
21870
95b841d3 218712008-11-12 Robert Millan <rmh@aybabtu.com>
21872
21873 Use newly-added Multiboot support in coreboot.
21874
21875 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21876 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
21877
21878 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
21879 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
21880 (codestart): Store the MBI in `startup_multiboot_info' when we're
21881 being loaded using Multiboot.
21882
21883 * kern/i386/coreboot/init.c (grub_machine_init): Move
21884 grub_at_keyboard_init() call to beginning of function (useful for
21885 debugging). Call grub_machine_mmap_init() before attempting to use
21886 grub_machine_mmap_iterate().
21887 (grub_lower_mem, grub_upper_mem): Move from here ...
21888 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
21889 here (new file).
21890
21891 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
21892 function prototype.
21893
761ca975 218942008-11-12 Robert Millan <rmh@aybabtu.com>
21895
21896 Fix a regression introduced by the at_keyboard.mod split. Because
21897 some terminals are default on some platforms and non-default on
21898 others, the first terminal being registered determines which is
21899 going to be default.
21900
21901 * kern/term.c (grub_term_register_input): If this is the first
21902 terminal being registered, set it as the current one.
21903 (grub_term_register_output): Likewise.
21904
21905 * term/efi/console.c (grub_console_init): Do not call
21906 grub_term_set_current_output() or grub_term_set_current_input().
21907 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
21908 * term/i386/pc/console.c (grub_console_init): Likewise.
21909 (grub_console_fini): Do not call grub_term_set_current_input()
21910 (but leave grub_term_set_current_output() to restore text mode).
21911
6c529df7 219122008-11-10 Robert Millan <rmh@aybabtu.com>
21913
21914 * util/grub.d/00_header.in: Add backward compatibility check for
21915 versions of terminal.mod that don't understand `terminal_input' or
21916 `terminal_output'.
21917
132e4113 219182008-11-09 Robert Millan <rmh@aybabtu.com>
21919
21920 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
21921 `terminal_input' / `terminal_output', not `terminal'.
21922
ac293d50 219232008-11-08 Robert Millan <rmh@aybabtu.com>
21924
21925 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 21926 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 21927
0025933a 219282008-11-08 Robert Millan <rmh@aybabtu.com>
21929
21930 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 21931 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 21932 members. Update all users.
21933 * util/console.c (grub_ncurses_term): Split in ...
21934 (grub_ncurses_term_input): ... this, and ...
21935 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 21936 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 21937
37c86336 219382008-11-08 Robert Millan <rmh@aybabtu.com>
21939
21940 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
21941 (PKGDATA): Add $(pkgdata_SRCDIR).
21942 (pkglib_BUILDDIR): New variable.
21943 (pkgdata_SRCDIR): New variable.
21944 (build_env.mk): New target.
21945 (include_DATA): New variable.
21946 (install-local): Install $(include_DATA) files in $(includedir).
21947
b6c15a2d 219482008-11-07 Pavel Roskin <proski@gnu.org>
21949
d99d46f1 21950 * gendistlist.sh: Use C locale for sorting to ensure consistent
21951 output on all systems.
21952
b6c15a2d 21953 * util/grub.d/00_header.in: Remove incorrect space before
21954 "serial".
21955
c32ee8c9 219562008-11-07 Robert Millan <rmh@aybabtu.com>
21957
21958 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
21959 per specification.
21960 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
21961 * loader/multiboot_loader.c (find_multi_boot2_header): New function
21962 (based on find_multi_boot1_header).
21963 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
21964 using find_multi_boot2_header(), and abort if neither Multiboot or
21965 Multiboot headers were found.
21966
651c29b7 219672008-11-07 Robert Millan <rmh@aybabtu.com>
21968
21969 Modularize at_keyboard.mod:
21970
21971 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
21972 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21973 (at_keyboard_mod_LDFLAGS): New variables.
21974
21975 Actual terminal split:
21976
21977 * include/grub/term.h (struct grub_term): Split in ...
21978 (struct grub_term_input): ... this, and ...
21979 (struct grub_term_output): ... this. Update all users.
21980 (grub_term_set_current): Split in ...
21981 (grub_term_set_current_input): ... this, and ...
21982 (grub_term_set_current_output): ... this.
21983 (grub_term_get_current): Split in ...
21984 (grub_term_get_current_input): ... this, and ...
21985 (grub_term_get_current_output): ... this.
21986 (grub_term_register): Split in ...
21987 (grub_term_register_input): ... this, and ...
21988 (grub_term_register_output): ... this.
21989 (grub_term_unregister): Split in ...
21990 (grub_term_unregister_input): ... this, and ...
21991 (grub_term_unregister_output): ... this.
21992 (grub_term_iterate): Split in ...
21993 (grub_term_iterate_input): ... this, and ...
21994 (grub_term_iterate_output): ... this.
21995
21996 * kern/term.c (grub_term_list): Split in ...
21997 (grub_term_list_input): ... this, and ...
21998 (grub_term_list_output): ... this. Update all users.
21999 (grub_cur_term): Split in ...
22000 (grub_cur_term_input): ... this, and ...
22001 (grub_cur_term_output): ... this. Update all users.
22002 (grub_term_set_current): Split in ...
22003 (grub_term_set_current_input): ... this, and ...
22004 (grub_term_set_current_output): ... this.
22005 (grub_term_get_current): Split in ...
22006 (grub_term_get_current_input): ... this, and ...
22007 (grub_term_get_current_output): ... this.
22008 (grub_term_register): Split in ...
22009 (grub_term_register_input): ... this, and ...
22010 (grub_term_register_output): ... this.
22011 (grub_term_unregister): Split in ...
22012 (grub_term_unregister_input): ... this, and ...
22013 (grub_term_unregister_output): ... this.
22014 (grub_term_iterate): Split in ...
22015 (grub_term_iterate_input): ... this, and ...
22016 (grub_term_iterate_output): ... this.
22017
22018 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
22019 a check for input and one for output (and only attempt to get keys
22020 from user when input works).
22021
22022 * util/grub-probe.c (grub_term_get_current): Split in ...
22023 (grub_term_get_current_input): ... this, and ...
22024 (grub_term_get_current_output): ... this.
22025 * util/grub-fstest.c: Likewise.
22026 * util/i386/pc/grub-setup.c: Likewise.
22027 * util/grub-editenv.c: Likewise.
22028
22029 Portability adjustments:
22030
22031 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
22032 `term/i386/pc/at_keyboard.c'.
22033 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
22034 grub_keyboard_controller_init() (now handled by terminal .init).
22035 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
22036 grub_at_keyboard_init().
22037 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
22038 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
22039 at_keyboard.mod via input terminal interface).
22040 * include/grub/i386/coreboot/console.h: Convert into a stub for
22041 `<grub/i386/pc/console.h>'.
22042
22043 Migrate full terminals to new API:
22044
22045 * term/efi/console.c (grub_console_term): Split into ...
22046 (grub_console_term_input): ... this, and ...
22047 (grub_console_term_output): ... this. Update all users.
22048 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
22049 (grub_ofconsole_init): Split into ...
22050 (grub_ofconsole_init_input): ... this, and ...
22051 (grub_ofconsole_init_output): ... this.
22052 (grub_ofconsole_term): Split into ...
22053 (grub_ofconsole_term_input): ... this, and ...
22054 (grub_ofconsole_term_output): ... this. Update all users.
22055 * term/i386/pc/serial.c (grub_serial_term): Split into ...
22056 (grub_serial_term_input): ... this, and ...
22057 (grub_serial_term_output): ... this. Update all users.
22058 * term/i386/pc/console.c (grub_console_term): Split into ...
22059 (grub_console_term_input): ... this, and ...
22060 (grub_console_term_output): ... this. Update all users.
22061 (grub_console_term_input): Only enable it on PC/BIOS platform.
22062 (grub_console_init): Remove grub_keyboard_controller_init() call.
22063
22064 Migrate input terminals to new API:
22065
22066 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
22067 `i386' and `i386/pc' to enable build on x86_64 (this driver is
22068 i386-specific anyway).
22069 (grub_console_checkkey): Rename to ...
22070 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
22071 users.
22072 (grub_keyboard_controller_orig): New variable.
22073 (grub_console_getkey): Rename to ...
22074 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
22075 users.
22076 (grub_keyboard_controller_init): Static-ize. Save original
22077 controller value so that it can be restored ...
22078 (grub_keyboard_controller_fini): ... here (new function).
22079 (grub_at_keyboard_term): New structure.
22080 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
22081 functions.
22082
22083 Migrate output terminals to new API:
22084
22085 * term/i386/pc/vga.c (grub_vga_term): Change type to
22086 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
22087 members. Update all users.
22088 * term/gfxterm.c (grub_video_term): Change type to
22089 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
22090 members. Update all users.
22091 * include/grub/i386/pc/console.h (grub_console_checkkey)
22092 (grub_console_getkey): Do not export (no longer needed by gfxterm,
22093 etc).
22094
22095 Migrate `terminal' command and userland tools to new API:
22096
22097 * commands/terminal.c (grub_cmd_terminal): Split into ...
22098 (grub_cmd_terminal_input): ... this, and ...
22099 (grub_cmd_terminal_output): ... this.
22100 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
22101 `terminal_input' and `terminal_output'.
22102 * util/grub.d/00_header.in: Adjust `terminal' calls to new
22103 `terminal_input' / `terminal_output' API.
22104 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
22105 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
22106 provided ${GRUB_TERMINAL}, convert it).
22107
96e5d876 221082008-11-04 Robert Millan <rmh@aybabtu.com>
22109
22110 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
22111 for FreeBSD.
22112 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
22113
556f3775 221142008-11-03 Bean <bean123ch@gmail.com>
22115
22116 * kern/elf.c (grub_elf32_load): Revert to previous code.
22117 (grub_elf64_load): Likewise.
22118
22119 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
22120
926b9823 221212008-11-01 Robert Millan <rmh@aybabtu.com>
22122
22123 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
22124 (TARGET_CPPFLAGS): Likewise.
22125 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
22126
1432e958 221272008-11-01 Carles Pina i Estany <carles@pina.cat>
22128
22129 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
22130
dba3f844 221312008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 22132
22133 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
22134 addition of objects until the code is not going to be able to fail.
22135
dba3f844 221362008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 22137
22138 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
22139 (add a missing NULL check, and correct them by moving the pointer
22140 operations after the actual check).
22141
7ab28c21 221422008-10-29 Robert Millan <rmh@aybabtu.com>
22143
22144 * util/i386/pc/grub-install.in: Handle empty string as output from
22145 make_system_path_relative_to_its_root().
22146
1b7748eb 221472008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
22148
22149 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
22150 circular metadata worst case scenario. If the metadata is circular
22151 then copy the wrap in place.
22152 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
22153 project lib/format_text/layout.h
22154 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
22155
c9618ab2 221562008-10-03 Felix Zielcke <fzielcke@z-51.de>
22157
7a36edca 22158 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 22159
bf981c62 221602008-10-03 Felix Zielcke <fzielcke@z-51.de>
22161
22162 * util/update-grub_lib.in: Mention filename in warning message.
22163
6d994591 221642008-09-29 Felix Zielcke <fzielcke@z-51.de>
22165
22166 * NEWS: Update for rename of update-grub to grub-mkconfig.
22167
18ade780 221682008-09-29 Felix Zielcke <fzielcke@z-51.de>
22169
22170 * util/update-grub_lib.in: Copy to ...
22171 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 22172 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 22173 * util/update-grub.in: Rename to ...
22174 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
22175 option. Add `--output' option to allow users to specify the generated
22176 configuration file. Default to stdout.
22177 (update_grub_dir): Rename to ...
22178 (grub_mkconfig_dir): ... this.
22179 (grub_cfg): Default to an empty string.
22180 * conf/common.rmk (update-grub): Rename to ...
22181 (grub-mkconfig): ... this.
22182 (update-grub_lib): Copy to ...
22183 (grub-mkconfig_lib): ... this.
22184 (update-grub_SCRIPTS): Copy to ...
22185 (grub-mkconfig_SCRIPTS): ... this. Update all users.
22186 (update-grub_DATA): Rename to ...
22187 (grub-mkconfig_DATA): ... this.
22188
556ce6ac 221892008-09-28 Robert Millan <rmh@aybabtu.com>
22190
22191 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
22192 to `modified'. Add the real `created' field.
22193 (grub_iso9660_uuid): Use `modified' rather than `created' for
22194 constructing the UUID.
22195
221962008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 22197
22198 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
22199 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
22200
92274e85 222012008-09-28 Bean <bean123ch@gmail.com>
22202
22203 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
22204 Thanks to Christian Franke for finding this bug.
22205
add6f17a 222062008-09-25 Robert Millan <rmh@aybabtu.com>
22207
22208 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
22209 instances of grub_util_get_disk_name() (see previous commit).
22210
d2a367b8 222112008-09-25 Robert Millan <rmh@aybabtu.com>
22212
22213 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
22214 `util/i386/get_disk_name.c'.
22215 * conf/i386-efi.rmk: Likewise.
22216 * conf/x86_64-efi.rmk: Likewise.
22217 * conf/i386-coreboot.rmk: Likewise.
22218 * conf/i386-ieee1275.rmk: Likewise.
22219 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
22220 `util/ieee1275/get_disk_name.c'.
22221 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
22222 * util/ieee1275/get_disk_name.c: Remove file.
22223 * util/i386/get_disk_name.c: Remove file.
22224 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
22225 "hd%d" for device.map entries, rather than using
22226 grub_util_get_disk_name().
22227
81a06771 222282008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 22229
22230 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
22231 warning.
22232 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
22233
5a004279 222342008-09-24 Carles Pina i Estany <carles@pina.cat>
22235
22236 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
22237 Changed to 0x5100.
22238 (GRUB_TERM_PPAGE): Changed to 0x4900.
22239
397093d3 222402008-09-24 Robert Millan <rmh@aybabtu.com>
22241
22242 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
22243 macros (they were i386-pc specific).
22244 * include/grub/sparc64/ieee1275/console.h: Likewise.
22245 * include/grub/efi/console.h: Likewise.
22246
a91b6c7c 222472008-09-22 Bean <bean123ch@gmail.com>
22248
22249 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
22250 resident and in attribute list.
22251
22252 * include/grub/ntfs.h (BMP_LEN): Removed.
22253
c40fd116 222542008-09-22 Bean <bean123ch@gmail.com>
22255
81a06771 22256 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 22257 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
22258
22259 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
22260 error occurs, as grub_disk_open will call grub_disk_close, which will
22261 call p->close (scsi).
22262
81a06771 222632008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 22264
22265 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
22266 (AC_PREREQ): Bumped to 2.59.
22267 (AC_TRY_COMPILE): Replace obsolete macro with ...
22268 (AC_COMPILE_IFELSE): ... this.
22269 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
22270 (AC_LINK_IFELSE): ... this.
22271
5dc43410 222722008-09-21 Felix Zielcke <fzielcke@z-51.de>
22273
22274 * autogen.sh: Add a call to `gendistlist.sh'.
22275
9035dce4 222762008-09-19 Christian Franke <franke@computer.org>
22277
22278 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
22279 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
22280 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
22281 Export __enable_execute_stack() to modules.
22282 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
22283 New function.
22284
7fd75377 222852008-09-09 Felix Zielcke <fzielcke@z-51.de>
22286
040030b3 22287 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
22288 Sort the list.
22289
222902008-09-09 Felix Zielcke <fzielcke@z-51.de>
22291
22292 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 22293 #include <grub/util/hostdisk.h>.
22294
89d5ffcf 222952008-09-08 Robert Millan <rmh@aybabtu.com>
22296
22297 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
22298 segments when their filesz is zero (grub_file_read() interprets
81a06771 22299 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 22300 Use `lowest_segment' rather than 0 for calculating the current
22301 segment load address.
22302
40da438f 223032008-09-08 Robert Millan <rmh@aybabtu.com>
22304
22305 * util/hostdisk.c (open_device): Replace a grub_util_info() call
22306 with grub_dprintf("hostdisk", ...), as it was so verbose that it
22307 clobbered useful information.
22308
ddbf5556 223092008-09-08 Robert Millan <rmh@aybabtu.com>
22310
22311 * include/grub/util/biosdisk.h: Move to ...
22312 * include/grub/util/hostdisk.h: ... here. Update all users.
22313 * util/biosdisk.c: Move to ...
22314 * util/hostdisk.c: ... here. Update all users.
22315
783d0f48 223162008-09-07 Robert Millan <rmh@aybabtu.com>
22317
22318 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
22319 variables.
22320 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
22321 and length can be stored directly in the `mbi->mmap_addr' and
22322 `mbi->mmap_length' struct fields.
22323
548e2ea5 223242008-09-07 Robert Millan <rmh@aybabtu.com>
22325
22326 * conf/i386.rmk: New file. Provides declaration for building
22327 `cpuid.mod'.
22328 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
22329 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
22330 variables.
22331 Include `conf/i386.mk'.
22332 * conf/i386-efi.rmk: Likewise.
22333 * conf/x86_64-efi.rmk: Likewise.
22334 * conf/i386-coreboot.rmk: Likewise.
22335 * conf/i386-ieee1275.rmk: Likewise.
22336
0ea85a37 223372008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
22338
22339 Based on patch created by Colin D Bennett <colin@gibibit.com>.
22340 Adds optimization support for BGR based modes.
22341
22342 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
22343 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22344 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22345 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22346 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22347 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22348 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22349 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22350 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22351 (grub_video_i386_vbeblit_index_index): Likewise.
22352 (grub_video_i386_vbeblit_replace_directN): Added.
22353 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22354 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22355 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22356 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22357 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22358 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 22359 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 22360 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22361 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22362 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22363 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22364 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22365 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22366
22367 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
22368 (grub_video_i386_vbefill_R8G8B8): Likewise.
22369 (grub_video_i386_vbefill_index): Likewise.
22370 (grub_video_i386_vbefill_direct32): Added.
22371 (grub_video_i386_vbefill_direct24): Likewise.
22372 (grub_video_i386_vbefill_direct16): Likewise.
22373 (grub_video_i386_vbefill_direct8): Likewise.
22374
81a06771 22375 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 22376 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
22377 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
22378 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
22379 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
22380 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 22381
0ea85a37 22382 * video/video.c (grub_video_get_blit_format): Updated to use new
22383 blit formats. Added handling for 16 bit color modes.
81a06771 22384
22385 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 22386 fillers.
22387 (common_blitter): Updated to use new blitters.
22388
22389 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
22390 Removed.
22391 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22392 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22393 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22394 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22395 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22396 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22397 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22398 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22399 (grub_video_i386_vbeblit_index_index): Likewise.
22400 (grub_video_i386_vbeblit_replace_directN): Added.
22401 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22402 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22403 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22404 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22405 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22406 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22407 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22408 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22409 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22410 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22411 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22412 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22413 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 22414
0ea85a37 22415 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
22416 (grub_video_i386_vbefill_R8G8B8): Likewise.
22417 (grub_video_i386_vbefill_index): Likewise.
22418 (grub_video_i386_vbefill_direct32): Added.
22419 (grub_video_i386_vbefill_direct24): Likewise.
22420 (grub_video_i386_vbefill_direct16): Likewise.
22421 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 22422
0ea85a37 22423 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
22424 types.
81a06771 22425
0ea85a37 22426 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
22427 types.
81a06771 22428
0ea85a37 22429 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
22430 blitter types.
81a06771 22431
0ea85a37 22432 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
22433 types.
22434
e8a83df6 224352008-09-06 Felix Zielcke <fzielcke@z-51.de>
22436
22437 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
22438 RAID level 1.
22439
6bcd8ee5 224402008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 22441
6bcd8ee5 22442 * fs/iso9660.c (grub_iso9660_date): New structure.
22443 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
22444 (grub_iso9660_uuid): New function.
c375ae58 22445
59261157 224462008-09-05 Bean <bean123ch@gmail.com>
22447
22448 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
22449
22450 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
22451 insensitive bit for names in Win32 and Win32 & DOS namespace.
22452
22453 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
22454
22455 * include/grub/types.h (LONG_MAX): Likewise.
22456
58b6645a 224572008-09-04 Felix Zielcke <fzielcke@z-51.de>
22458
4ee55921 22459 * util/getroot.c: Include <config.h>.
22460 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
22461 add support for /dev/md/N devices and handle LVM double dash escaping.
22462
224632008-09-04 Felix Zielcke <fzielcke@z-51.de>
22464
22465 * config.guess: Update to latest version from config git.
22466 * config.sub: Likewise.
58b6645a 22467
9124f65d 224682008-09-03 Robert Millan <rmh@aybabtu.com>
22469
22470 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
22471 `disk->total_sectors'.
22472
81a06771 224732008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 22474
22475 * include/grub/normal.h: Fixed incorrect comment for
22476 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
22477
81a06771 224782008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 22479
22480 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
22481 values with defines.
22482
22483 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
22484 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
22485 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
22486 (GRUB_VBE_MODEATTR_COLOR): Likewise.
22487 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
22488 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
22489 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
22490 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
22491 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
22492 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
22493 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
22494 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
22495 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
22496 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
22497 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
22498 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
22499 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
22500 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
22501 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
22502
93d5cbf8 225032008-08-31 Robert Millan <rmh@aybabtu.com>
22504
22505 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
22506 declaration.
22507 (grub_multiboot): Fix a few warnings.
22508
21751d50 225092008-08-31 Robert Millan <rmh@aybabtu.com>
22510
22511 * loader/i386/pc/multiboot.c: Update comment not to say that
22512 boot_device support is unimplemented.
22513
e27a75c5 225142008-08-31 Robert Millan <rmh@aybabtu.com>
22515
22516 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
22517 or memory map support are unimplemented.
22518
81a06771 225192008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 22520
22521 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
22522
81a06771 225232008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 22524
22525 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
22526 total video memory in 'vbeinfo' output; show color format details for
22527 each video mode.
22528
7c5d8d95 225292008-08-30 Pavel Roskin <proski@gnu.org>
22530
22531 * util/genmoddep.c: Remove for real this time.
22532 * DISTLIST: Remove util/genmoddep.c.
22533
4cebd25a 225342008-08-30 Robert Millan <rmh@aybabtu.com>
22535
22536 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
22537 as required by Multiboot spec (it was already 4-byte aligned, but
22538 only by chance).
22539
b497a269 225402008-08-29 Pavel Roskin <proski@gnu.org>
22541
e3925185 22542 * kern/powerpc/ieee1275/crt0.S: Rename to ...
22543 * kern/powerpc/ieee1275/startup.S: ... this.
22544 * conf/powerpc-ieee1275.rmk: Adjust for the above.
22545 * DISTLIST: Likewise.
22546
b497a269 22547 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
22548 grub/cpu/kernel.h. Add start label for consistency with other
22549 platforms. Add grub_prefix immediately after start. Add jump
22550 to the code after grub_prefix.
22551 * include/grub/powerpc/kernel.h: Provide valid values for
22552 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
22553
6e5a42fe 225542008-08-29 Bean <bean123ch@gmail.com>
22555
22556 * configure.ac: Change host_os to cygwin for mingw.
22557 (asprintf): New check for function.
22558
22559 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
22560 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
22561
22562 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 22563 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 22564 sync, sleep and grub_util_get_disk_size for mingw.
22565
22566 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
22567 to get size in mingw.
22568 (open_device): Use flag O_BINARY if it's defined.
22569 (find_root_device): Add dummy code for mingw.
22570
22571 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
22572 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
22573 (get_scsi_disk_name): Return 0 for mingw.
22574
22575 * util/hostfs.c: #include <grub/util/misc.h>.
22576 (grub_hostfs_open): Use "rb" flag to open file, use
22577 grub_util_get_disk_size to get disk size for mingw.
22578
22579 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
22580 (asprintf): New function if HAVE_ASPRINTF is not set.
22581 (sync): New function for mingw.
22582 (sleep): Likewise.
22583 (grub_util_get_disk_size): Likewise.
22584
ab3f2673 225852008-08-28 Pavel Roskin <proski@gnu.org>
22586
22587 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22588 kern/time.c.
22589
1c282483 225902008-08-28 Robert Millan <rmh@aybabtu.com>
22591
22592 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
22593
678e849c 225942008-08-28 Robert Millan <rmh@aybabtu.com>
22595
22596 Change find_grub_drive() syntax so it doesn't prevent it from
22597 detecting NULL names as errors.
22598
22599 * util/biosdisk.c (find_grub_drive): Move free slot search code
22600 from here ...
22601 (find_free_slot): ... to here.
22602 (read_device_map): Use find_free_slot() to search for free slots.
22603
965c75ca 226042008-08-27 Marco Gerards <marco@gnu.org>
22605
22606 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
22607 (scsi_mod_SOURCES): New variable.
22608 (scsi_mod_CFLAGS): Likewise
22609 (scsi_mod_LDFLAGS): Likewise.
22610
22611 * disk/scsi.c: New file.
22612
22613 * include/grub/scsi.h: Likewise.
22614
22615 * include/grub/scsicmd.h: Likewise.
22616
22617 * disk/ata.c: Include <grub/scsi.h>.
22618 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
22619 instead.
22620 (grub_ata_iterate): Skip ATAPI devices.
22621 (grub_ata_open): Only handle ATAPI devices.
22622 (struct grub_atapi_read): Removed.
22623 (grub_atapi_readsector): Likewise.
22624 (grub_ata_read): No longer handle ATAPI devices.
22625 (grub_ata_write): Likewise.
22626 (grub_atapi_iterate): New function.
22627 (grub_atapi_read): Likewise.
22628 (grub_atapi_write): Likewise.
22629 (grub_atapi_open): Likewise.
22630 (grub_atapi_close): Likewise.
22631 (grub_atapi_dev): New variable.
22632 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
22633 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
22634
22635 * include/grub/disk.h (enum grub_disk_dev_id): Add
22636 `GRUB_DISK_DEVICE_SCSI_ID'.
22637
c07ae501 226382008-08-26 Robert Millan <rmh@aybabtu.com>
22639
22640 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
22641 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
22642 descriptive.
22643
5ed20adc 226442008-08-23 Bean <bean123ch@gmail.com>
22645
22646 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
22647 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22648 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
22649 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
22650 dm_nv.mod.
22651 (raid5rec_mod_SOURCES): New macro.
22652 (raid5rec_mod_CFLAGS): Likewise.
22653 (raid5rec_mod_LDFLAGS): Likewise.
22654 (raid6rec_mod_SOURCES): Likewise.
22655 (raid6rec_mod_CFLAGS): Likewise.
22656 (raid6rec_mod_LDFLAGS): Likewise.
22657 (mdraid_mod_SOURCES): Likewise.
22658 (mdraid_mod_CFLAGS): Likewise.
22659 (mdraid_mod_LDFLAGS): Likewise.
22660 (dm_nv_mod_SOURCES): Likewise.
22661 (dm_nv_mod_CFLAGS): Likewise.
22662 (dm_nv_mod_LDFLAGS): Likewise.
22663
22664 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
22665 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22666 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22667
22668 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
22669 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22670
22671 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22672
22673 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22674
22675 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22676
22677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22678
22679 * disk/raid5_recover.c: New file.
22680
22681 * disk/raid6_recover.c: Likewise.
22682
22683 * disk/mdraid_linux.c: Likewise.
22684
22685 * disk/dmraid_nvidia.c: Likewise.
22686
22687 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
22688 ULONG_MAX.
22689
22690 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
22691 calculate the size of raid device.
22692 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
22693 different layout of raid5.
22694 (grub_raid_scan_device): Remove code specific to mdraid.
22695 (grub_raid_list): New variable.
22696 (free_array): New function.
22697 (grub_raid_register): Likewise.
22698 (grub_raid_unregister): Likewise.
22699 (grub_raid_rescan): Likewise.
22700 (GRUB_MOD_INIT): Don't iterate device here.
22701 (GRUB_MOD_FINI): Use free_array to release resource.
22702
22703 * include/grub/raid.h: Remove macro and structure specific to mdraid.
22704 (grub_raid5_recover_func_t): New function variable type.
22705 (grub_raid6_recover_func_t): Likewise.
22706 (grub_raid5_recover_func): New variable.
22707 (grub_raid6_recover_func): Likewise.
22708 (grub_raid_register): New function.
22709 (grub_raid_unregister): Likewise.
22710 (grub_raid_rescan): Likewise.
22711 (grub_raid_block_xor): Likewise.
22712
22713 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
22714 (CMD_CRC): New macro.
22715 (part): Removed.
22716 (read_file): Handle device as well as file.
22717 (cmd_crc): New function.
22718 (fstest): Handle multiple disks.
22719 (options): Remove part, raw and long, add root and diskcount.
22720 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 22721 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 22722 add handling for the new options, support multiple disks.
22723
22724 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
22725
29c18915 227262008-08-23 Bean <bean123ch@gmail.com>
22727
22728 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
22729
22730 * genfslist.sh: Ignore kernel.mod.
22731
22732 * genpartmaplist.sh: Likewise.
22733
8415f261 227342008-08-23 Robert Millan <rmh@aybabtu.com>
22735
22736 * util/getroot.c (find_root_device): Skip anything that starts with
22737 a dot, not just directories. This avoids things like /dev/.tmp.md0.
22738
d5a7dc5b 227392008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 22740
d5a7dc5b 22741 * util/update-grub.in (GRUB_GFXMODE): Export variable.
22742 * util/grub.d/00_header.in: Allow the administrator to change default
22743 gfxmode via ${GRUB_GFXMODE}.
22744
380cfbb4 227452008-08-21 Felix Zielcke <fzielcke@z-51.de>
22746
22747 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
22748
c9baafe7 227492008-08-21 Robert Millan <rmh@aybabtu.com>
22750
22751 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
22752 loader.
22753 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
22754 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
22755
e290bef2 227562008-08-20 Carles Pina i Estany <carles@pina.cat>
22757
22758 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
22759 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
22760
f9dbfc96 227612008-08-19 Robert Millan <rmh@aybabtu.com>
22762
22763 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
22764 (struct grub_virtual_screen): Remove `cursor_color'.
22765 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
22766 initialization.
22767 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
22768
dd6bd6ab 227692008-08-18 Robert Millan <rmh@aybabtu.com>
22770
22771 Unify (identical) linux_normal.c files.
22772 * loader/i386/efi/linux_normal.c: Move from here ...
22773 * loader/linux_normal.c: ... to here. Update all users.
22774 * loader/i386/pc/linux_normal.c: Delete. Update all users.
22775 * loader/i386/ieee1275/linux_normal.c: Likewise.
22776
7f42f83e 227772008-08-18 Robert Millan <rmh@aybabtu.com>
22778
22779 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
22780 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
22781 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
22782 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
22783 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
22784 New macros.
22785 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
22786 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
22787 (GRUB_LINUX_CL_END_OFFSET): ... to here.
22788 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
22789 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
22790 (GRUB_EFI_CL_END_OFFSET): Rename to ...
22791 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
22792 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
22793 Initialize `params->video_cursor_x' and `params->video_cursor_y'
22794 portably using grub_getxy().
22795 Replace `-EFI' with `-bzImage' in boot message.
22796
38487ddb 227972008-08-17 Robert Millan <rmh@aybabtu.com>
22798
22799 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
22800
deceb3ec 228012008-08-17 Robert Millan <rmh@aybabtu.com>
22802
22803 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
22804
22805 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
22806 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
22807 (grub_machine_mmap_iterate): New function declaration.
22808 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
22809 structure.
22810 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
22811 macros.
22812
22813 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
22814 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
22815 Move e820 parsing from here ...
22816 * kern/i386/pc/mmap.c: New file.
22817 (grub_machine_mmap_iterate): ... to here.
22818
22819 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
22820 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
22821 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
22822 (grub_available_iterate): Redeclare to return `void', and redeclare
22823 its hook to use grub_uint64_t as addr and size parameters, and rename
22824 to ...
22825 (grub_machine_mmap_iterate): ... this. Update all users.
22826
22827 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
22828 to make it more readable. Rename to ...
22829 (grub_machine_mmap_iterate): ... this.
22830
22831 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
22832 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
22833 (grub_multiboot): Allocate an extra region after the payload, and fill
22834 it with a Multiboot memory map. Adjust a.out loader to calculate size
22835 with the extra space.
22836 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
22837 with the extra space.
22838
f8aa0f43 228392008-08-17 Carles Pina i Estany <carles@pina.cat>
22840
9807deb9 22841 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 22842
605f5bb6 228432008-08-17 Felix Zielcke <fzielcke@z-51.de>
22844
22845 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
22846 mdate-sh to the list `find' searches for.
22847 * DISTLIST: Regenerated.
22848
210db6c6 228492008-08-16 Felix Zielcke <fzielcke@z-51.de>
22850
22851 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
22852 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 22853 genmoddep.awk, gensymlist.sh.in.
22854 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 22855 * DISTLIST: Regenerated.
48cdbfd4 22856 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 22857
1082b929 228582008-08-16 Robert Millan <rmh@aybabtu.com>
22859
22860 * disk/raid.c (grub_raid_init): Handle/report errors set by
22861 grub_device_iterate().
22862 * disk/lvm.c (grub_lvm_init): Likewise.
22863
42ce5170 228642008-08-15 Bean <bean123ch@gmail.com>
22865
22866 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22867 and datehook.mod.
22868 (datetime_mod_SOURCES): New macro.
22869 (datetime_mod_CFLAGS): Likewise.
22870 (datetime_mod_LDFLAGS): Likewise.
22871 (date_mod_SOURCES): Likewise.
22872 (date_mod_CFLAGS): Likewise.
22873 (date_mod_LDFLAGS): Likewise.
22874 (datehook_mod_SOURCES): Likewise.
22875 (datehook_mod_CFLAGS): Likewise.
22876 (datehook_mod_LDFLAGS): Likewise.
22877
22878 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22879 and datehook.mod.
22880 (datetime_mod_SOURCES): New macro.
22881 (datetime_mod_CFLAGS): Likewise.
22882 (datetime_mod_LDFLAGS): Likewise.
22883 (date_mod_SOURCES): Likewise.
22884 (date_mod_CFLAGS): Likewise.
22885 (date_mod_LDFLAGS): Likewise.
22886 (datehook_mod_SOURCES): Likewise.
22887 (datehook_mod_CFLAGS): Likewise.
22888 (datehook_mod_LDFLAGS): Likewise.
22889
22890 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22891 and datehook.mod.
22892 (datetime_mod_SOURCES): New macro.
22893 (datetime_mod_CFLAGS): Likewise.
22894 (datetime_mod_LDFLAGS): Likewise.
22895 (date_mod_SOURCES): Likewise.
22896 (date_mod_CFLAGS): Likewise.
22897 (date_mod_LDFLAGS): Likewise.
22898 (datehook_mod_SOURCES): Likewise.
22899 (datehook_mod_CFLAGS): Likewise.
22900 (datehook_mod_LDFLAGS): Likewise.
22901
22902 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22903 and datehook.mod.
22904 (datetime_mod_SOURCES): New macro.
22905 (datetime_mod_CFLAGS): Likewise.
22906 (datetime_mod_LDFLAGS): Likewise.
22907 (date_mod_SOURCES): Likewise.
22908 (date_mod_CFLAGS): Likewise.
22909 (date_mod_LDFLAGS): Likewise.
22910 (datehook_mod_SOURCES): Likewise.
22911 (datehook_mod_CFLAGS): Likewise.
22912 (datehook_mod_LDFLAGS): Likewise.
22913
22914 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22915 and datehook.mod.
22916 (datetime_mod_SOURCES): New macro.
22917 (datetime_mod_CFLAGS): Likewise.
22918 (datetime_mod_LDFLAGS): Likewise.
22919 (date_mod_SOURCES): Likewise.
22920 (date_mod_CFLAGS): Likewise.
22921 (date_mod_LDFLAGS): Likewise.
22922 (datehook_mod_SOURCES): Likewise.
22923 (datehook_mod_CFLAGS): Likewise.
22924 (datehook_mod_LDFLAGS): Likewise.
22925
22926 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
22927
22928 * commands/date.c: New file.
22929
22930 * hook/datehook.c: Likewise.
22931
22932 * include/grub/lib/datetime.h: Likewise.
22933
22934 * include/grub/i386/cmos.h: Likewise.
22935
22936 * lib/datetime.c: Likewise.
22937
22938 * lib/i386/datetime.c: Likewise.
22939
22940 * lib/efi/datetime.c: Likewise.
22941
0e9242da 229422008-08-14 Robert Millan <rmh@aybabtu.com>
22943
22944 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
22945 (grub_mkelfimage_SOURCES): New variable.
22946 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
22947
22948 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
22949 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
22950 * conf/powerpc-ieee1275.rmk: Likewise.
22951 * conf/i386-ieee1275.rmk: Likewise.
22952
22953 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
22954 * kern/i386/coreboot/init.c: Likewise.
22955
22956 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
22957 with `<grub/cpu/kernel.h>'.
22958 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
22959 to ...
22960 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
22961 * kern/i386/coreboot/startup.S: Likewise.
22962
22963 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
22964 (GRUB_MOD_GAP): Remove.
22965 * include/grub/powerpc/kernel.h: New file.
22966 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
22967 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22968 * include/grub/i386/kernel.h: New file.
22969 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
22970 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
22971 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22972
22973 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
22974 `grub-mkelfimage'.
22975 Use --directory when invoking grub_mkimage.
22976
22977 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
22978 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
22979 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
22980 and GRUB_KERNEL_CPU_PREFIX.
22981
b86408f8 229822008-08-14 Felix Zielcke <fzielcke@z-51.de>
22983
d5e619ca 22984 * include/grub/err.h (grub_err_printf): New function prototype.
22985 * util/misc.c (grub_err_printf): New function.
22986 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
22987 grub_printf.
22988 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 22989
7161f0e0 229902008-08-13 Robert Millan <rmh@aybabtu.com>
22991
22992 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
22993
a1967522 229942008-08-13 Robert Millan <rmh@aybabtu.com>
22995
22996 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
22997 boot entry.
22998
371458b5 229992008-08-12 Robert Millan <rmh@aybabtu.com>
23000
23001 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
23002 of the relocation code from here ...
23003 (grub_multiboot): ... to here.
23004 (forward_relocator, backward_relocator): Move from here ...
23005 * kern/i386/loader.S (grub_multiboot_forward_relocator)
23006 (grub_multiboot_backward_relocator): ... to here.
23007 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
23008 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
23009 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
23010 (grub_multiboot_forward_relocator_end)
23011 (grub_multiboot_backward_relocator)
23012 (grub_multiboot_backward_relocator_end): New variables.
23013
05f9452b 230142008-08-12 Bean <bean123ch@gmail.com>
23015
23016 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
23017
20024ab0 230182008-08-11 Robert Millan <rmh@aybabtu.com>
23019
23020 * kern/i386/linuxbios/startup.S: Move from here ...
23021 * kern/i386/coreboot/startup.S: ... to here.
23022
23023 * kern/i386/linuxbios/init.c: Move from here ...
23024 * kern/i386/coreboot/init.c: ... to here.
23025
23026 * kern/i386/linuxbios/table.c: Move from here ...
23027 * kern/i386/coreboot/mmap.c: ... to here.
23028
23029 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
23030
e352e9cd 230312008-08-11 Robert Millan <rmh@aybabtu.com>
23032
23033 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
23034 errors. Leave it to the upper layer to handle them.
23035
2d05bc6a 230362008-08-09 Christian Franke <franke@computer.org>
23037
23038 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
23039 * conf/common.rmk: Install `grub-pe2elf' only if requested.
23040 Install `grub.d/10_windows' only on Cygwin.
23041 * configure.ac: Add subst of `target_os'.
23042 Check `target_os' also before setting TARGET_OBJ2ELF.
23043 Add `--enable-grub-pe2elf'.
23044
042bd419 230452008-08-08 Robert Millan <rmh@aybabtu.com>
23046
23047 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
23048 (grub_last_time): Change type to grub_uint64_t.
23049 (grub_disk_open): Migrate code from to using grub_get_time_ms().
23050 (grub_disk_close): Likewise.
23051
23052 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
23053 (run_menu): Migrate code from to using grub_get_time_ms().
23054
23055 * util/misc.c (grub_get_time_ms): New function.
23056
7f280db5 230572008-08-08 Marco Gerards <marco@gnu.org>
23058
23059 * disk/ata.c (grub_ata_regget): Change return type to
23060 `grub_uint8_t'.
23061 (grub_ata_regget2): Likewise.
23062 (grub_ata_wait_status): New function.
23063 (grub_ata_wait_busy): Removed function, updated all users to use
23064 `grub_ata_wait_status'.
23065 (grub_ata_wait_drq): Likewise.
23066 (grub_ata_cmd): New function.
23067 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
23068 error handling.
23069 (grub_ata_pio_write): Add error handling.
23070 (grub_atapi_identify): Likewise.
23071 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
23072 handling.
23073 (grub_ata_identify): Use `grub_ata_cmd' and improve error
23074 handling. Actually use the detected registers. Reorder the
23075 detection logic such that it is easier to read.
23076 (grub_ata_pciinit): Do not assign the same ID to each controller.
23077 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
23078 handling.
23079 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
23080
23081 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
23082
1fbc5e66 230832008-08-08 Marco Gerards <marco@gnu.org>
23084
23085 * NEWS: Update.
23086
819ce6c0 230872008-08-07 Bean <bean123ch@gmail.com>
23088
23089 * include/grub/x86_64/pci.h: New file.
23090
5c41d44d 230912008-08-07 Christian Franke <franke@computer.org>
23092
23093 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
23094 (TIMER2_GATE): Likewise.
23095 (grub_pit_wait): Add enable/disable of the timer2 gate
23096 bit of port 0x61. This fixes a possible infinite loop.
23097
5ebc275d 230982008-08-07 Bean <bean123ch@gmail.com>
23099
23100 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
23101 kern/i386/tsc.c and kern/i386/pit.c.
23102
23103 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
23104 x86_64 platform.
23105
23106 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
23107 <grub/i386/tsc.h>.
23108
23109 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
23110
e383b3d0 231112008-08-07 Bean <bean123ch@gmail.com>
23112
23113 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
23114
23115 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
23116
23117 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
23118 multiple inclusion. Add #include <grub/types.h>.
23119
1cbb58ac 231202008-08-06 Christian Franke <franke@computer.org>
23121
23122 * conf/common.rmk: Build and install `10_windows'.
23123 * util/grub.d/10_windows.in: New script.
23124
337f5a1e 231252008-08-06 Pavel Roskin <proski@gnu.org>
23126
23127 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
23128
057bc4ac 231292008-08-06 Robert Millan <rmh@aybabtu.com>
23130
23131 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
23132 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
23133
2b99f123 231342008-08-06 Bean <bean123ch@gmail.com>
23135
23136 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
23137 (grub_pxefs_fs_int): Remove dummy definition.
23138 (grub_pxefs_open): Use data->block_size to store the current block
23139 size setting.
23140 (grub_pxefs_read): Use block size stored in data->block_size. As the
23141 value of grub_pxe_blksize can be changed after the file is opened.
23142
9f0234cb 231432008-08-06 Bean <bean123ch@gmail.com>
23144
23145 * fs/i386/pc/pxe.c (curr_file): new variable.
23146 (grub_pxefs_open): Simply the handling of pxe file system. Don't
23147 require the dummy internal file system anymore.
23148 (grub_pxefs_read): Removed.
23149 (grub_pxefs_close): Likewise.
23150 (grub_pxefs_fs_int): Likewise.
23151 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
23152 connection when we switch file.
23153 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
23154
a55d42e0 231552008-08-06 Robert Millan <rmh@aybabtu.com>
23156
23157 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
23158 `halt.mod'.
23159 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
23160 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
23161
23162 * kern/i386/halt.c: New file.
23163 * kern/i386/reboot.c: Likewise.
23164 * include/grub/i386/reboot.h: Likewise.
23165 * include/grub/i386/halt.h: Likewise.
23166
23167 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
23168 Include `<grub/cpu/halt.h>'.
23169 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
23170 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
23171
23172 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
23173 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
23174 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
23175 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
23176 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
23177 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
23178 from here ...
23179 * include/grub/i386/at_keyboard.h: ... to here.
23180
24371d26 231812008-08-05 Robert Millan <rmh@aybabtu.com>
23182
23183 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
23184 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
23185 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
23186 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23187 `kern/generic/millisleep.c'.
23188
23189 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
23190 instead of grub_get_rtc().
23191 (grub_tsc_init): Initialize `tsc_boot_time'.
23192
23193 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
23194 (grub_machine_init): Use grub_tsc_init() rather than
23195 installing an RTC-based handler via grub_install_get_time_ms().
23196
23197 * kern/i386/pit.c: New file.
23198 * include/grub/i386/pit.h: Likewise.
23199
9e7007b3 232002008-08-05 Bean <bean123ch@gmail.com>
23201
23202 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
23203
23204 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
23205 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
23206 (pxe_mod_SOURCES): New macro.
23207 (pxe_mod_CFLAGS): Likewise.
23208 (pxe_mod_LDFLAGS): Likewise.
23209 (pxecmd_mod_SOURCES): Likewise.
23210 (pxecmd_mod_CFLAGS): Likewise.
23211 (pxecmd_mod_LDFLAGS): Likewise.
23212
23213 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
23214 (grub_pxe_call): Likewise.
23215
23216 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
23217
23218 * commands/i386/pc/pxecmd.c: New file.
23219
9f0234cb 23220 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 23221
23222 * include/grub/i386/pc/pxe.h: Likewise.
23223
6977d49f 232242008-08-05 Bean <bean123ch@gmail.com>
23225
23226 * util/console.c (grub_console_cur_color): New variable.
23227 (grub_console_standard_color): Likewise.
23228 (grub_console_normal_color): Likewise.
23229 (grub_console_highlight_color): Likewise.
23230 (color_map): Likewise.
23231 (use_color): Likewise.
23232 (NUM_COLORS): New macro.
23233 (grub_ncurses_setcolorstate): Handle color properly.
23234 (grub_ncurses_setcolor): Don't change color here, just remember the
23235 settings, color will be set in grub_ncurses_setcolorstate.
23236 (grub_ncurses_getcolor): New function.
23237 (grub_ncurses_init): Initialize color pairs.
23238 (grub_ncurses_term): New member grub_ncurses_getcolor.
23239
9c2ff3ee 232402008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 23241
9c2ff3ee 23242 High resolution timer support. Implemented for x86 CPUs using TSC.
23243 Extracted generic grub_millisleep() so it's linked in only as needed.
23244 This requires a Pentium compatible CPU; if the RDTSC instruction is
23245 not supported, then it falls back on the generic grub_get_time_ms()
23246 implementation that uses the machine's RTC.
23247
23248 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
23249 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23250 `kern/generic/millisleep.c'.
23251
23252 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
23253 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
23254
23255 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
23256 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
23257
23258 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23259
23260 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23261 `kern/generic/millisleep.c'.
23262
23263 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23264
23265 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
23266
23267 * kern/generic/rtc_get_time_ms.c: New file.
23268
23269 * kern/generic/millisleep.c: New file.
337f5a1e 23270
9c2ff3ee 23271 * kern/misc.c: Don't include
23272 <kern/time.h> anymore.
23273 (grub_millisleep_generic): Removed.
23274
23275 * commands/sleep.c (grub_interruptible_millisleep): Uses
23276 grub_get_time_ms() instead of grub_get_rtc().
23277
23278 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
23279 function.
23280 (grub_cpu_is_cpuid_supported): New inline function.
23281 (grub_cpu_is_tsc_supported): New inline function.
23282 (grub_tsc_init): New function prototype.
23283 (grub_tsc_get_time_ms): New function prototype.
23284
23285 * kern/i386/tsc.c (grub_get_time_ms): New file.
23286
23287 * include/grub/time.h: Include <grub/types.h.
23288 (grub_millisleep_generic): Removed.
23289 (grub_get_time_ms): New prototype.
23290 (grub_install_get_time_ms): New prototype.
23291 (grub_rtc_get_time_ms): New prototype.
23292
23293 * kern/time.c (grub_get_time_ms): New function.
23294 (grub_install_get_time_ms): New function.
23295
23296 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
23297 <grub/time.h> anymore.
23298 (grub_millisleep): Removed.
23299 (grub_machine_init): Call grub_tsc_init.
23300
23301 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
23302 get_time_ms() implementation.
23303
23304 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
23305 (ieee1275_get_time_ms): New function.
23306 (grub_machine_init): Install get_time_ms() implementation.
23307
23308 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
23309 (grub_machine_init): Call grub_tsc_init().
23310 (grub_millisleep): Removed.
bf06a93f 23311
9c2ff3ee 23312 * kern/ieee1275/init.c (grub_millisleep): Removed.
23313 (grub_machine_init): Install ieee1275_get_time_ms()
23314 implementation.
23315 (ieee1275_get_time_ms): New function.
23316 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
23317 real work.
23318
9ec92aaf 233192008-08-05 Marco Gerards <marco@gnu.org>
23320
23321 * disk/ata.c: Include <grub/pci.h>.
23322 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
23323 (grub_ata_initialize): Rewritten.
23324 (grub_ata_device_initialize): New function.
23325
8d23f507 233262008-08-04 Pavel Roskin <proski@gnu.org>
23327
23328 * kern/main.c: Include grub/mm.h.
23329
5e15ee3d 233302008-08-04 Robert Millan <rmh@aybabtu.com>
23331
23332 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
23333 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
23334 corruption problem).
23335
a9053f8f 233362008-08-04 Robert Millan <rmh@aybabtu.com>
23337
23338 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
23339 warnings introduced in my last commit.
23340
dd19c7d7 233412008-08-03 Robert Millan <rmh@aybabtu.com>
23342
23343 Make PCI available on all i386 architectures.
23344
23345 * include/grub/i386/pc/pci.h: Move from here ...
23346 * include/grub/i386/pci.h: ... to here.
23347
23348 * include/grub/i386/pc/pci.h: Remove.
23349 * include/grub/i386/efi/pci.h: Remove.
23350 * include/grub/x86_64/efi/pci.h: Remove.
23351
23352 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
23353 `<grub/cpu/pci.h>'.
23354
23355 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
23356 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
23357 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
23358
23359 * conf/i386-ieee1275.rmk: Likewise.
23360
e14a6184 233612008-08-03 Robert Millan <rmh@aybabtu.com>
23362
23363 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
23364 (grub_console_setcursor): Make it possible to set cursor off.
23365
52768e37 233662008-08-03 Robert Millan <rmh@aybabtu.com>
23367
23368 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
23369 of modules instead of assuming which platform provides what.
23370 * util/update-grub.in: Likewise.
23371
2d52f57f 233722008-08-03 Robert Millan <rmh@aybabtu.com>
23373
23374 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
23375 instead of `grub_install_dos_part' to determine whether a drive needs
23376 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 23377 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 23378
2a5cd121 233792008-08-02 Robert Millan <rmh@aybabtu.com>
23380
23381 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
23382
93808428 233832008-08-02 Robert Millan <rmh@aybabtu.com>
23384
23385 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
23386 of informational grub_dprintf() calls.
23387
3bd0a12a 233882008-08-02 Robert Millan <rmh@aybabtu.com>
23389
23390 * disk/memdisk.c (memdisk_size): Don't initialize.
23391 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
23392
23393 * include/grub/i386/pc/kernel.h
23394 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
23395 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
23396 (grub_memdisk_image_size, grub_arch_memdisk_addr)
23397 (grub_arch_memdisk_size): Remove.
23398
23399 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
23400 field (was only used to transfer a constant). Add `type' field to
23401 support multiple module types.
23402 (grub_module_iterate): New function.
23403
23404 * kern/device.c (grub_device_open): Do not hide error messages
23405 when grub_disk_open() fails. Use grub_print_error() instead.
23406
23407 * kern/i386/pc/init.c (grub_arch_modules_addr)
23408 (grub_arch_memdisk_size): Remove functions.
23409 (grub_arch_modules_addr): Return the module address in high memory
23410 (now that it isn't copied anymore).
23411
23412 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
23413 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
23414 decompression routine (grub_total_module_size already includes that
23415 now). Don't copy modules back to low memory.
23416
23417 * kern/main.c: Include `<grub/mm.h>'.
23418 (grub_load_modules): Split out (and use) ...
23419 (grub_module_iterate): ... this function, which iterates through
23420 module objects and runs a hook.
23421 Comment out grub_mm_init_region() call, as it would cause non-ELF
23422 modules to be overwritten.
23423
23424 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
23425 the memdisk image in its own region, make it part of the module list.
23426 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
23427 (main): Parse --memdisk|-m option, and pass user-provided path as
23428 parameter to generate_image().
23429 (add_segments): Pass `memdisk_path' down to load_modules().
23430 (load_modules): Embed memdisk image in module section when requested.
23431 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
23432 `header.type' instead of `header.offset'.
23433
23434 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
23435 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
23436 (memdisk_mod_LDFLAGS): New variables.
23437 * conf/i386-coreboot.rmk: Likewise.
23438 * conf/i386-ieee1275.rmk: Likewise.
23439
a927cc73 234402008-08-02 Robert Millan <rmh@aybabtu.com>
23441
23442 * loader/i386/pc/multiboot.c (playground, forward_relocator)
23443 (backward_relocator): New variables. Used to allocate and relocate
23444 the payload, respectively.
23445 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 23446 address, install the appropriate relocator code in each bound of
a927cc73 23447 the payload, and set the entry point such that
23448 grub_multiboot_real_boot() will jump to one of them.
23449
23450 * kern/i386/loader.S (grub_multiboot_payload_size)
23451 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23452 (grub_multiboot_payload_entry_offset): New variables.
23453 (grub_multiboot_real_boot): Set cpu context to what the relocator
23454 expects, and jump to the relocator instead of the payload.
23455
23456 * include/grub/i386/loader.h (grub_multiboot_payload_size)
23457 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23458 (grub_multiboot_payload_entry_offset): Export.
23459
b15d8a0c 234602008-08-01 Bean <bean123ch@gmail.com>
23461
23462 * normal/menu_entry.c (editor_getline): Don't return the original
23463 string as result, as it will be released by lexer once it has done
23464 using it.
23465
cdfb3d22 234662008-08-01 Robert Millan <rmh@aybabtu.com>
23467
23468 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
23469 within menuentries, not before them.
23470 util/grub.d/10_hurd.in: Likewise.
23471
9175e93d 234722008-08-01 Bean <bean123ch@gmail.com>
23473
23474 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
23475 (bufio_mod_SOURCES): New macro.
23476 (bufio_mod_CFLAGS): Likewise.
23477 (bufio_mod_LDFLAGS): Likewise.
23478
23479 * include/grub/bufio.h: New file.
23480
23481 * io/bufio.c: Likewise.
23482
23483 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
23484 (grub_video_reader_png): Use grub_buffile_open to open file.
23485
23486 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
23487 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
23488
23489 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
23490 (grub_video_reader_tga): Use grub_buffile_open to open file.
23491
23492 * font/manager.c: Include <grub/bufio.h>.
23493 (add_font): Use grub_buffile_open to open file.
23494
3d8383e7 234952008-07-31 Robert Millan <rmh@aybabtu.com>
23496
23497 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
23498 ELF segments, use a macro for arbitrarily accessing any of them instead
23499 of preparing a pointer that allows access to one at a time.
23500 (grub_multiboot_load_elf64): Likewise.
23501
16e641b6 235022008-07-31 Bean <bean123ch@gmail.com>
23503
23504 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
23505 GRUB_KERNEL_MACHINE_DATA_END.
23506
59198b72 235072008-07-30 Robert Millan <rmh@aybabtu.com>
23508
23509 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
23510 Increase from 0x50 to 0x60.
23511 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
23512 use UUIDs to identify the root drive for them. If that's not
23513 possible, abort.
23514 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
23515 check, for cross-disk installs.
23516
ae88bca3 235172008-07-30 Robert Millan <rmh@aybabtu.com>
23518
23519 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
23520 is non-empty, use it to set the `prefix' environment variable instead
23521 of the usual approach.
23522 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
23523 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
23524 environment variable instead of dummy make_install_device().
23525
23526 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
23527 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 23528 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 23529
23530 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
23531 New variable reference.
23532 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
23533 New macro. Defines offset of `grub_prefix' within startup.S (relative
23534 to `start').
23535 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
23536 section within startup.S (relative to `start').
23537 * include/grub/i386/coreboot/kernel.h: Likewise.
23538
23539 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
23540 Overwrite grub_prefix with its contents, at the beginning of the
23541 first segment.
23542 (main): Understand -p|--prefix.
23543
14f41dd1 235442008-07-30 Robert Millan <rmh@aybabtu.com>
23545
23546 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
23547
4ca049a3 235482008-07-30 Robert Millan <rmh@aybabtu.com>
23549
23550 * term/i386/pc/vga_text.c (grub_console_cls): Use
23551 grub_console_gotoxy() to go back to beginning of the screen.
23552 Found by Patrick Georgi <patrick.georgi@coresystems.de>
23553
2921d337 235542008-07-29 Christian Franke <franke@computer.org>
23555
23556 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23557 Add conversion of emulated mount points on Cygwin.
23558
b609876d 235592008-07-29 Christian Franke <franke@computer.org>
23560
23561 * util/update-grub.in: Add a check for admin
23562 group on Cygwin.
23563 Remove old `grub.cfg.new' before creation.
23564 Add `-f' to `mv' to handle the different filesystem
23565 semantics of Windows.
23566
e93e4679 235672008-07-29 Bean <bean123ch@gmail.com>
23568
23569 * normal/main.c (get_line): Fix buffer overflow bug.
23570
41694fd0 235712008-07-28 Robert Millan <rmh@aybabtu.com>
23572
23573 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
23574 (struct grub_apple_header): New struct. Describes the layout of
23575 the partmap header.
23576 (apple_partition_map_iterate): Check the header magic as well as the
23577 partition magic (which was already being checked).
23578
cfd0b4e6 235792008-07-28 Pavel Roskin <proski@gnu.org>
23580
23581 * genmk.rb: Add a warning to the beginning of the output that
23582 it's a generated file and should not be edited.
23583
93cce016 235842008-07-28 Robert Millan <rmh@aybabtu.com>
23585
23586 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23587 with the same number are found, just use issue a warning with
23588 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 23589
cd1df915 235902008-07-27 Robert Millan <rmh@aybabtu.com>
23591
23592 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
23593 information.
23594
b70a8427 235952008-07-27 Bean <bean123ch@gmail.com>
23596
23597 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
23598 (grub_fat_find_dir): Ignore case when comparing filename.
23599
8f5e379f 236002008-07-27 Bean <bean123ch@gmail.com>
23601
23602 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
23603 smallino, as it's more descriptive, and i8count can be confused with
23604 the other field count.
23605 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
23606 inode type.
23607
a85cd5a0 236082008-07-27 Bean <bean123ch@gmail.com>
23609
23610 * commands/crc.c: New file.
23611
23612 * lib/crc.c: Likewise.
23613
23614 * include/grub/lib/crc.h: Likewise.
23615
23616 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
23617
23618 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
23619 (hexdump): Move this function to ...
23620
23621 * lib/hexdump.c: ... here.
23622
23623 * include/grub/hexdump.h: Renamed to ...
23624
23625 * include/grub/lib/hexdump.h: ... this.
23626
23627 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
23628
23629 * util/grub-editenv.c: Likewise.
23630
23631 * include/envblk.h: Renamed to ...
23632
23633 * include/lib/envblk.h: ... this.
23634
23635 * util/envblk.c: Renamed to ...
23636
23637 * lib/envblk.c: ... this.
23638
23639 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
23640 lib/hexdump.c.
23641 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
23642 (pkglib_MODULES): Add crc.mod.
23643 (hexdump_mod_SOURCES): Add lib/hexdump.c.
23644 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
23645 (crc_mod_SOURCES): New macro.
23646 (crc_mod_CFLAGS): Likewise.
23647 (crc_mod_LDFLAGS): Likewise.
23648
23649 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
23650
23651 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23652
23653 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23654
23655 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23656
23657 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23658
c298def0 236592008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 23660
23661 * commands/help.c: Include <grub/term.h>.
23662 (TERM_WIDTH): Removed. Updated all users.
23663
cc349fb3 236642008-07-27 Pavel Roskin <proski@gnu.org>
23665
23666 * util/getroot.c (find_root_device): Rephrase a comment to avoid
23667 spurious warnings about a comment within a comment.
23668
9051607e 236692008-07-25 Robert Millan <rmh@aybabtu.com>
23670
23671 * util/getroot.c (find_root_device): Skip devices that match
23672 /dev/dm-[0-9]. This lets the real device be found for any type of
23673 abstraction (LVM, EVMS, RAID..).
23674 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
23675 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
23676 device is found first, find_root_device() will now skip it.
23677
01453bfc 236782008-07-24 Pavel Roskin <proski@gnu.org>
23679
23680 * include/grub/types.h: Use __builtin_bswap32() and
23681 __builtin_bswap64() with gcc 4.3 and newer.
23682
6af9849f 236832008-07-24 Christian Franke <franke@computer.org>
23684
3a0fa256 23685 * util/i386/pc/grub-install.in: If `--debug' is specified,
23686 pass `--verbose' to grub-setup.
23687 Abort script if make_system_path_relative_to_its_root() fails.
23688
7810e747 236892008-07-24 Bean <bean123ch@gmail.com>
23690
23691 * configure.ac: Fixed a bug caused by the previous cygwin patch,
23692 variable `target_platform' should be `platform'.
23693
42290e17 236942008-07-24 Bean <bean123ch@gmail.com>
23695
51cc5193 23696 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 23697 (grub_png_init_fixed_block): New function.
23698 (grub_png_decode_image_data): Handle fixed huffman code compression.
23699
2a8a80e4 237002008-07-24 Bean <bean123ch@gmail.com>
23701
23702 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
23703 (grub_pe2elf_SOURCES): New macro.
23704 (CLEANFILES): Add grub-pe2elf.
23705
23706 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
23707 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
23708 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
23709 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
23710 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
23711 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
23712 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
23713 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
23714 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
23715 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
23716 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
23717 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
23718 (GRUB_PE32_DT_FUNCTION): Likewise.
23719 (GRUB_PE32_REL_I386_DIR32): Likewise.
23720 (GRUB_PE32_REL_I386_REL32): Likewise.
23721 (grub_pe32_symbol): New structure.
23722 (grub_pe32_reloc): Likewise.
23723
23724 * util/grub-pe2elf.c: New file.
23725
23726 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
23727 start symbol in non pc platform.
23728
23729 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
23730
23731 The following patches are from Christian Franke.
23732
23733 * include/grub/dl.h: Remove .previous, gas supports this only
23734 for ELF format.
23735
23736 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
23737 Remove .type, gas supports this only for ELF format.
23738
23739 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
23740 nullbytes in symbol table. This fixes an infinite loop if table is
23741 zero filled.
23742
23743 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
23744 TARGET_IMG_LDFLAGS and EXEEXT.
23745
23746 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
23747 TARGET_IMG_LDFLAGS_AC.
23748 (grub_CHECK_STACK_ARG_PROBE): New function.
23749
23750 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
23751
23752 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
23753
23754 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
23755 to set TARGET_IMG_LD* accordingly.
23756 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
23757 Add call to grub_CHECK_STACK_ARG_PROBE.
23758 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
23759
23760 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
23761
23762 * genmk.rb: Add EXEEXT to CLEANFILES.
23763
12ccdb75 237642008-07-23 Robert Millan <rmh@aybabtu.com>
23765
23766 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
23767 define the codes for arrows and lines used for the menu).
23768 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
23769 as well.
23770
23771 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
23772 fonts, because the latter are too slow.
23773
18eeaf04 237742008-07-21 Bean <bean123ch@gmail.com>
23775
23776 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
23777 a20. Run keyboard test last, as it will cause macbook to halt.
23778
b095e2ad 237792008-07-18 Pavel Roskin <proski@gnu.org>
23780
23781 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
23782 load foreign architecture modules correctly anyway. Keep
23783 support for loading host architecture modules, whether we
23784 compile them or not.
23785
737feb35 237862008-07-17 Pavel Roskin <proski@gnu.org>
23787
3f4ce737 23788 * configure.ac: Use -m32 or -m64 regardless of whether we had to
23789 change target_cpu. The compiler default can mismatch target_cpu
23790 in any case.
23791
4ad2d049 23792 * disk/efi/efidisk.c: Fix format warnings on x86_64.
23793 * kern/efi/efi.c: Likewise.
23794
f6130a12 23795 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
23796 target compiler is functional.
23797 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
23798 are set up.
23799
58393a2d 23800 * configure.ac: Default to efi platform for x86_64-apple. Allow
23801 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
23802 adjustments from the rest, only do them if target is not
23803 explicitly given. Merge other adjustments with the final sanity
23804 check. Remove an extraneous check for supported CPU. Be
23805 specific which CPU and which platform is not supported.
23806
737feb35 23807 * configure.ac: Default to pc platform for x86_64.
23808
546f966a 238092008-07-17 Robert Millan <rmh@aybabtu.com>
23810
23811 Partial LinuxBIOS -> Coreboot rename.
23812
23813 * conf/i386-linuxbios.rmk: Renamed to ...
23814 * conf/i386-coreboot.rmk: ... this.
23815 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
23816 * configure.ac: Accept "coreboot" as input platform (but maintain
23817 compatibility with "linuxbios").
23818 * include/grub/i386/linuxbios: Renamed to ...
23819 * include/grub/i386/coreboot: ... this.
23820
20011694 238212008-07-17 Bean <bean123ch@gmail.com>
23822
23823 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 23824 (appleldr_mod_SOURCE): New variable.
20011694 23825 (appleldr_mod_CFLAGS): Likewise.
23826 (appleldr_mod_LDFLAGS): Likewise.
23827 (pci_mod_SOURCES): Likewise.
23828 (pci_mod_CFLAGS): Likewise.
23829 (pci_mod_LDFLAGS): Likewise.
23830 (lspci_mod_SOURCES): Likewise.
23831 (lspci_mod_CFLAGS): Likewise.
23832 (lspci_mod_LDFLAGS): Likewise.
23833
23834 * conf/x86_64-efi.rmk: New file.
23835
23836 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
23837 macro.
23838 (grub_efidisk_write): Likewise.
23839
23840 * include/efi/api.h (efi_call_0): New macro.
23841 (efi_call_1): Likewise.
23842 (efi_call_2): Likewise.
23843 (efi_call_3): Likewise.
23844 (efi_call_4): Likewise.
23845 (efi_call_5): Likewise.
23846 (efi_call_6): Likewise.
23847
23848 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
23849 grub_rescue_cmd_chainloader.
23850
23851 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
23852 (grub_pe32_optional_header): Change some fields based on i386 or
23853 x86_64 platform.
23854 (GRUB_PE32_PE32_MAGIC): Likewise.
23855
23856 * include/grub/efi/uga_draw.h: New file.
23857
23858 * include/grub/elf.h (STN_ABS): New constant.
23859 (R_X86_64_NONE): Relocation constant for x86_64.
23860 (R_X86_64_64): Likewise.
23861 (R_X86_64_PC32): Likewise.
23862 (R_X86_64_GOT32): Likewise.
23863 (R_X86_64_PLT32): Likewise.
23864 (R_X86_64_COPY): Likewise.
23865 (R_X86_64_GLOB_DAT): Likewise.
23866 (R_X86_64_JUMP_SLOT): Likewise.
23867 (R_X86_64_RELATIVE): Likewise.
23868 (R_X86_64_GOTPCREL): Likewise.
23869 (R_X86_64_32): Likewise.
23870 (R_X86_64_32S): Likewise.
23871 (R_X86_64_16): Likewise.
23872 (R_X86_64_PC16): Likewise.
23873 (R_X86_64_8): Likewise.
23874 (R_X86_64_PC8): Likewise.
23875
23876 * include/grub/i386/efi/pci.h: New file.
23877
23878 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
23879 Change it value based on platform.
23880 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
23881 (GRUB_E820_RAM): Likewise.
23882 (GRUB_E820_RESERVED): Likewise.
23883 (GRUB_E820_ACPI): Likewise.
23884 (GRUB_E820_NVS): Likewise.
23885 (GRUB_E820_EXEC_CODE): Likewise.
23886 (GRUB_E820_MAX_ENTRY): Likewise.
23887 (grub_e820_mmap): New structure.
23888 (linux_kernel_header): Change the efi field according to different
23889 kernel version, also field from linux_kernel_header.
23890
23891 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
23892
23893 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
23894 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
23895 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
23896 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
23897 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
23898 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
23899 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
23900 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
23901 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
23902 (GRUB_PCI_ADDR_IO_MASK): Likewise.
23903
23904 * include/grub/x86_64/efi/kernel.h: New file.
23905
23906 * include/grub/x86_64/efi/loader.h: Likewise.
23907
23908 * include/grub/x86_64/efi/machine.h: Likewise.
23909
23910 * include/grub/x86_64/efi/pci.h: Likewise.
23911
23912 * include/grub/x86_64/efi/time.h: Likewise.
23913
23914 * include/grub/x86_64/linux.h: Likewise.
23915
23916 * include/grub/x86_64/setjmp.h: Likewise.
23917
23918 * include/grub/x86_64/time.h: Likewise.
23919
23920 * include/grub/x86_64/types.h: Likewise.
23921
23922 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
23923 GRUB_TARGET_SIZEOF_VOID_P.
23924
23925 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
23926 (grub_efi_locate_handle): Likewise.
23927 (grub_efi_open_protocol): Likewise.
23928 (grub_efi_set_text_mode): Likewise.
23929 (grub_efi_stall): Likewise.
23930 (grub_exit): Likewise.
23931 (grub_reboot): Likewise.
23932 (grub_halt): Likewise.
23933 (grub_efi_exit_boot_services): Likewise.
23934 (grub_get_rtc): Likewise.
23935
23936 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
23937 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
23938 (grub_efi_allocate_pages): Wrap efi calls.
23939 (grub_efi_free_pages): Wrap efi calls.
23940 (grub_efi_get_memory_map): Wrap efi calls.
23941
23942 * kern/x86_64/dl.c: New file.
23943
23944 * kern/x86_64/efi/callwrap.S: Likewise.
23945
23946 * kern/x86_64/efi/startup.S: Likewise.
23947
23948 * loader/efi/appleloader.c: Likewise.
23949
23950 * loader/efi/chainloader.c (cmdline): New variable.
23951 (grub_chainloader_unload): Wrap efi calls.
23952 (grub_chainloader_boot): Likewise.
23953 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
23954 command line.
23955
23956 * loader/efi/chainloader_normal.c (chainloader_command):
23957 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
23958 command line.
23959
23960 * loader/i386/efi/linux.c (allocate_pages): Change allocation
23961 method.
23962 (grub_e820_add_region): New function.
23963 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
23964 booting.
23965 (grub_find_video_card): New function.
23966 (grub_linux_setup_video): New function.
23967 (grub_rescue_cmd_linux): Probe for video information.
23968
23969 * normal/x86_64/setjmp.S: New file.
23970
23971 * term/efi/console.c (map_char): New function.
23972 (grub_console_putchar): Map unicode char.
23973 (grub_console_checkkey): Wrap efi calls.
23974 (grub_console_getkey): Likewise.
23975 (grub_console_getwh): Likewise.
23976 (grub_console_gotoxy): Likewise.
23977 (grub_console_cls): Likewise.
23978 (grub_console_setcolorstate): Likewise.
23979 (grub_console_setcursor): Likewise.
23980
23981 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
23982
59652a20 239832008-07-16 Pavel Roskin <proski@gnu.org>
23984
ef294055 23985 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
23986 format strings.
23987
59652a20 23988 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
23989 pointer, not an integer. This fixes a warning and prevents
23990 precision loss on 64-bit systems.
23991 (relocate_addresses): Remove unneeded cast.
23992
afc3b5d7 239932008-07-15 Pavel Roskin <proski@gnu.org>
23994
506b2b3e 23995 * kern/i386/ieee1275/init.c: Include grub/cache.h.
23996
62ead89c 23997 * term/ieee1275/ofconsole.c: Disable code unused on i386.
23998
c4cd51d7 23999 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
24000 Fix comparison between signed and unsigned.
24001
0d3d8f28 24002 * include/grub/i386/ieee1275/console.h: Declare
24003 grub_console_init() and grub_console_fini().
24004
8804b286 24005 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
24006 It's empty and unused.
24007
ee01cf35 24008 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
24009 beginning to avoid warnings with some compilers.
24010
afc3b5d7 24011 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
24012 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
24013
e4e8eaa5 240142008-07-14 Pavel Roskin <proski@gnu.org>
24015
407aceb4 24016 * kern/env.c (grub_register_variable_hook): Don't copy empty
24017 string, it leaks memory. Pass "" to grub_env_set(), it should
24018 handle constant strings.
24019
e4e8eaa5 24020 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
24021 * commands/cmp.c (grub_cmd_cmp): Likewise.
24022 * kern/dl.c (grub_dl_flush_cache): Likewise.
24023 (grub_dl_load_core): Likewise.
24024 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
24025 (grub_elf64_load_phdrs): Likewise.
24026
d4e2dad3 240272008-07-13 Pavel Roskin <proski@gnu.org>
24028
24029 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
24030 between signed and unsigned.
24031 (LzmaEnc_Finish): Fix warning about an unused parameter.
24032
aa24b516 240332008-07-13 Bean <bean123ch@gmail.com>
24034
24035 * Makefile.in (enable_lzo): New rule.
24036
24037 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
24038
24039 * configure.ac (ENABLE_LZO): New option --enable-lzo.
24040
24041 * boot/i386/pc/lnxboot.S: #include <config.h>.
24042
24043 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 24044 its value according to the compression algorithm used, lzo or lzma.
aa24b516 24045
24046 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
24047 compression algorithm according to configure macro.
24048
24049 * kern/i386/pc/startup.S (codestart): Likewise.
24050
24051 * kern/i386/pc/lzma_decode.S: New file.
24052
24053 * include/grub/lib/LzFind.h: Likewise.
24054
24055 * include/grub/lib/LzHash.h: Likewise.
24056
24057 * include/grub/lib/LzmaDec.h: Likewise.
24058
24059 * include/grub/lib/LzmaEnc.h: Likewise.
24060
24061 * include/grub/lib/LzmaTypes.h: Likewise.
24062
24063 * lib/LzFind.c: Likewise.
24064
24065 * lib/LzmaDec.c: Likewise.
24066
24067 * lib/LzmaEnc.c: Likewise.
24068
4ae821ac 240692008-07-13 Bean <bean123ch@gmail.com>
24070
24071 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
24072 (grub_ext4_extent_header): New structure.
24073 (grub_ext4_extent): Likewise.
24074 (grub_ext4_extent_idx): Likewise.
24075 (grub_ext4_find_leaf): New function.
24076 (grub_ext2_read_block): Handle extents.
24077
9a745147 240782008-07-12 Robert Millan <rmh@aybabtu.com>
24079
24080 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
24081
d49a4cf6 240822008-07-11 Robert Millan <rmh@aybabtu.com>
24083
24084 * util/grub.d/40_custom.in: New file. Example on how to add custom
24085 entries to /etc/grub.d.
24086 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
24087 40_custom (implicitly, by merging all the grub.d rules).
24088
947414b4 240892008-07-11 Pavel Roskin <proski@gnu.org>
24090
0059cf6f 24091 * commands/read.c (grub_getline): Fix invalid memory access.
24092 Don't add newline to the variable value.
24093
947414b4 24094 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
24095 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
24096 (serial_hw_get_port): Check validity of the port number.
24097 (grub_cmd_serial): Check return value of serial_hw_get_port().
24098
62a02d00 240992008-07-07 Pavel Roskin <proski@gnu.org>
24100
24101 * boot/i386/pc/diskboot.S (notification_string): Replace
24102 "Loading kernel" with just "loading". This is shorter, less
24103 confusing and saves a few bytes for possible future changes.
24104
3e5581b0 241052008-07-05 Pavel Roskin <proski@gnu.org>
24106
ea387a48 24107 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
24108 size for ATAPI devices, they are undefined. Output sector
24109 number in decimal form.
24110
3e5581b0 24111 * disk/ata.c: Use named constants for status bits.
24112
fdecb8fd 241132008-07-04 Pavel Roskin <proski@gnu.org>
24114
bcd35b90 24115 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
24116 grub_addr_t before casting it to the void pointer to fix a
24117 warning. Non-addressable regions are discarded earlier.
24118 (grub_arch_modules_addr): Cast _end to grub_addr_t.
24119 * kern/i386/linuxbios/table.c: Include grub/misc.h.
24120 (check_signature): Don't shadow table_header.
24121 (grub_linuxbios_table_iterate): Cast numeric constants to
24122 grub_linuxbios_table_header_t.
24123 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
24124 grub_stop().
24125
af58ab3d 24126 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
24127 prevent warnings.
24128
1759aa57 24129 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
24130 pointer, which can cause warnings. Support 64-bit addresses.
24131
fdecb8fd 24132 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
24133 of sizeof(long). This fixes PowerPC image generation on x86_64.
24134
8516d2a8 241352008-07-04 Robert Millan <rmh@aybabtu.com>
24136
24137 This fixes a performance issue when pc & gpt partmap iterators
24138 didn't abort iteration even after our hook found what it was
fe987087 24139 looking for (often causing expensive probes of non-existent drives).
8516d2a8 24140
24141 Some callers relied on previous buggy behaviour, since they would
34c44600 24142 raise an error when their own hooks caused early abortion of its
8516d2a8 24143 iteration.
24144
24145 * kern/device.c (grub_device_open): Improve error message.
24146 * disk/lvm.c (grub_lvm_open): Likewise.
24147 * disk/raid.c (grub_raid_open): Likewise.
24148
24149 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
24150 when hook requests it, independently of grub_errno.
24151 (pc_partition_map_probe): Do not fail when find_func() caused
24152 early abortion of pc_partition_map_iterate().
24153
24154 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
24155 when hook requests it, independently of grub_errno.
24156 (gpt_partition_map_probe): Do not fail when find_func() caused
24157 early abortion of gpt_partition_map_iterate().
24158
24159 * kern/partition.c (grub_partition_iterate): Abort parent iteration
24160 when hook requests it, independently of grub_errno. Do not fail when
24161 part_map_iterate_hook() caused early abortion of p->iterate().
24162
24163 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
24164 when grub_partition_iterate() returned with non-zero.
24165
277d0de9 241662008-07-03 Pavel Roskin <proski@gnu.org>
24167
24168 * disk/ata.c (grub_ata_pio_write): Check status before writing,
24169 like we do in grub_ata_pio_read().
24170 (grub_ata_readwrite): Always write individual sectors. Fix the
24171 sector count for the remainder.
24172 (grub_ata_write): Enable writing to ATA devices. Correctly
24173 report error for ATAPI devices.
24174
d4c9b428 241752008-07-02 Pavel Roskin <proski@gnu.org>
24176
e43fc690 24177 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
24178 warning.
24179
f707af42 24180 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
24181 for every read sector, we already increment it for the whole
24182 batch. This fixes reading more than 256 sectors at once.
24183
11e16b15 24184 * util/grub-editenv.c (cmd_info): Cast argument to long
24185 explicitly. ptrdiff_t reduces to int on i386.
24186
cbabfdd4 24187 * util/grub-editenv.c (main): Be specific which parameter is
24188 missing.
24189
b8fbce0a 24190 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
24191 (memdisk): Make memdisk_orig_addr a pointer.
24192
c9c8e606 24193 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
24194 for file offsets, use grub_off_t instead. Fix printf format
24195 warnings.
24196
ca62e598 24197 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
24198 there. Real unexpected warnings should not drown in the noise
24199 about known problems.
24200
ce8d1766 24201 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
24202 grub_disk_addr_t for memory addresses.
24203
00c7a56a 24204 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
24205 explicitly to fix a warning.
24206
08d3ef09 24207 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
24208
cb71ba20 24209 * Makefile.in (MODULE_LDFLAGS): New variable.
24210 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
24211 the linker accepts --build-id=none.
24212 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
24213 MODULE_LDFLAGS.
24214 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
24215
d4c9b428 24216 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
24217 those in Linux XFS code. Provide a way to access 64-bit parent
24218 inode.
24219 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
24220 the end of struct grub_xfs_dir_header.
24221
d4156eee 242222008-07-02 Bean <bean123ch@gmail.com>
24223
24224 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
24225 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24226 and GRUB_IEEE1275_FLAG_NO_ANSI.
24227
24228 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
24229 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24230 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
24231
24232 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
24233 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
24234
24235 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
24236 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
24237
24238 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
24239 esc sequence on non ANSI terminal.
24240 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
24241
24242 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
24243 beginning of file.
24244
2270f77b 242452008-07-02 Bean <bean123ch@gmail.com>
24246
24247 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
24248 (grub_editenv_SOURCES): New variable.
24249 (pkglib_MODULES): Add loadenv.mod.
24250 (loadenv_mod_SOURCES): New variable.
24251 (loadenv_mod_CFLAGS): Likewise.
24252 (loadenv_mod_LDFLAGS): Likewise.
24253
24254 * include/grub/envblk.h: New file.
24255
24256 * util/envblk.c: New file.
24257
24258 * util/grub-editenv.c: New file.
24259
24260 * commands/loadenv.c: New file.
24261
0e9e51ec 242622008-07-01 Pavel Roskin <proski@gnu.org>
24263
d89b7634 24264 * include/multiboot2.h (struct multiboot_tag_module): Use char,
24265 not unsigned char. This fixes warnings and is consistent with
24266 other tags.
24267
bf1835b1 24268 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
24269
8222a04b 24270 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
24271
6a42d99d 24272 * term/tparm.c (analyze): Always set *popcount.
24273
10b159d1 24274 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
24275 cast to fix a warning.
24276
b8789f6c 24277 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
24278 cast to suppress a warning.
24279
29d7e38a 24280 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
24281 grub_fshelp_read_file() expects.
24282
f341f669 24283 * fs/fat.c: Fix UUID calculation on big-endian systems. We
24284 write uuid as a 32-bit value in CPU byte order, so declare and
24285 use it as such.
24286
0e9e51ec 24287 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
24288 long if the format specifier expects it.
24289 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
24290 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24291 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
24292 long to fix a warning.
24293 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
24294 grub_dprintf() arguments to fix warnings.
24295
3aefa857 242962008-06-30 Pavel Roskin <proski@gnu.org>
24297
56c7668b 24298 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
24299 install_bsd_part immediately before core.img is embedded or
24300 modified on disk. This fixes core.img verification if core.img
24301 cannot be embedded.
24302
3aefa857 24303 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
24304 core_path to calculate the blocklist.
24305 Patch from Javier Martín <lordhabbit@gmail.com>
24306
5444088d 243072008-06-29 Robert Millan <rmh@aybabtu.com>
24308
24309 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
24310 block to disk block.
24311 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
24312 Patch from Niels Böhm <bitbucket@arcor.de>
24313
674835c8 243142008-06-29 Robert Millan <rmh@aybabtu.com>
24315
24316 * util/update-grub_lib.in (font_path): Search for fonts in
24317 /boot/grub first, which is more likely to be readable (we aren't
24318 deciding where fonts live, just looking for them).
24319
f527dbc8 243202008-06-26 Pavel Roskin <proski@gnu.org>
24321
6c2d8df6 24322 * util/biosdisk.c (read_device_map): Don't leave dead map
24323 entries for devices failing stat() check.
24324
f527dbc8 24325 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
24326 core_path_dev for the core.img path on the target device.
24327
aebe3d13 243282008-06-26 Robert Millan <rmh@aybabtu.com>
24329
24330 * disk/fs_uuid.c: New file.
24331 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
24332 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
24333 (fs_uuid_mod_LDFLAGS): New variables.
24334 * include/grub/disk.h (grub_disk_dev_id): Add
24335 `GRUB_DISK_DEVICE_UUID_ID'.
24336 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
24337 implement iterate().
24338
37aaf354 243392008-06-26 Robert Millan <rmh@aybabtu.com>
24340
24341 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
24342 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
24343 Linux image includes no initrd.
24344
25ff262a 243452008-06-21 Javier Martín <lordhabbit@gmail.com>
24346
24347 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
24348 call to resolve the core image location that effectively appended the
24349 name twice.
24350
76a2bd44 243512008-06-21 Robert Millan <rmh@aybabtu.com>
24352
24353 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
24354 call from here ...
24355
24356 * util/grub.d/10_hurd.in: ... to here ...
24357 * util/grub.d/10_linux.in: ... and here.
24358
650e1c79 243592008-06-19 Robert Millan <rmh@aybabtu.com>
24360
fe987087 24361 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 24362 after it has been set by grub_machine_set_prefix().
24363
6ce63911 243642008-06-19 Robert Millan <rmh@aybabtu.com>
24365
24366 * commands/search.c (search_label, search_fs_uuid, search_file): Print
24367 search result when not saving to variable, not the other way around.
24368 When saving to variable, abort iteration as soon as a match is found.
24369
73940cec 243702008-06-19 Robert Millan <rmh@aybabtu.com>
24371
24372 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
24373 check for partition that provides /boot/grub. Its logic is flawed,
24374 as it prevents prepare_grub_to_access_device() from being called
24375 multiple times.
24376
3c62a39d 243772008-06-19 Robert Millan <rmh@aybabtu.com>
24378
24379 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
24380 "insmod" command directly when abstraction modules are needed,
fe987087 24381 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 24382 since it had already been processed).
24383
47395a42 243842008-06-19 Pavel Roskin <proski@gnu.org>
24385
24386 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
24387 changed. This is needed in case GRUB_LIBDIR changes.
24388 * conf/i386-ieee1275.rmk: Likewise.
24389 * conf/i386-linuxbios.rmk: Likewise.
24390 * conf/i386-pc.rmk: Likewise.
24391 * conf/powerpc-ieee1275.rmk: Likewise.
24392
a145ac2d 243932008-06-18 Pavel Roskin <proski@gnu.org>
24394
24395 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
24396 kernel_elf_symlist.c to symlist.c for consistency with other
24397 architectures. Update all users.
24398 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
24399
7847c51e 244002008-06-18 Robert Millan <rmh@aybabtu.com>
24401
24402 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
24403 it in prefix.
24404
24405 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
24406 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
24407 a RAID device, run setup() for all members independently on whether
24408 LVM abstraction is being used.
24409 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
24410 If grub-mkimage has set `*install_dos_part == -2', don't override this
24411 value.
24412 Perform *install_dos_part adjustments independently on whether
24413 we're embedding or not.
24414 Clarify error message when image is too big for embedding.
24415 Remove duplicate *install_dos_part stanza.
24416
b23e5644 244172008-06-17 Robert Millan <rmh@aybabtu.com>
24418
24419 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
24420 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
24421 variables.
24422 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
24423 values in grub_ofconsole_normal_color and
24424 grub_ofconsole_highlight_color (they're not directly related to
24425 background and foreground).
24426 (grub_ofconsole_setcolorstate): Extract background and foreground
24427 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
24428
0aac2f79 244292008-06-17 Robert Millan <rmh@aybabtu.com>
24430
24431 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
24432 /boot/grub for the check in last commit, not /boot (they could be
24433 different partitions).
24434
3cca7ef3 244352008-06-16 Robert Millan <rmh@aybabtu.com>
24436
24437 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
24438 asked to setup access for the same partition that provides /boot,
24439 don't bother using UUIDs since our root already has the value we
24440 want.
24441
347396d8 244422008-06-16 Robert Millan <rmh@aybabtu.com>
24443
24444 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
24445 I2O devices.
24446 Patch from Sven Mueller <sven@debian.org>.
24447
991477f8 244482008-06-16 Robert Millan <rmh@aybabtu.com>
24449
24450 * util/update-grub.in: Check for $EUID instead of $UID.
24451 Reported by Vincent Zweije.
24452
d31a32a1 244532008-06-16 Bean <bean123ch@gmail.com>
24454
fe987087 24455 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 24456 (grub_ext2_read_block): Likewise.
24457 (grub_ext2_read_inode): Likewise.
24458 (grub_ext2_mount): Likewise.
24459 (grub_ext2_close): Likewise.
24460 (grub_ext3_get_journal): Removed.
24461
fe987087 24462 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 24463 (grub_reiserfs_read_symlink): Likewise.
24464 (grub_reiserfs_mount): Likewise.
24465 (grub_reiserfs_open): Likewise.
24466 (grub_reiserfs_read): Likewise.
24467 (grub_reiserfs_close): Likewise.
24468 (grub_reiserfs_get_journal): Removed.
24469
24470 * fs/fshelp.c (grub_fshelp_read): Removed.
24471 (grub_fshelp_map_block): Likewise.
24472
24473 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
24474 (grub_fshelp_journal): Likewise.
24475 (grub_fshelp_read): Likewise.
24476 (grub_fshelp_map_block): Likewise.
24477
3540a760 244782008-06-16 Pavel Roskin <proski@gnu.org>
24479
24480 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
24481 floating point anymore.
24482 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
24483
95614c84 244842008-06-15 Pavel Roskin <proski@gnu.org>
24485
24486 * commands/ls.c (grub_ls_list_files): Use integer calculations
24487 for human readable format, avoid floating point use.
24488 * kern/misc.c (grub_ftoa): Remove.
24489 (grub_vsprintf): Remove floating point support.
24490
50465dd6 244912008-06-15 Robert Millan <rmh@aybabtu.com>
24492
fe6b695a 24493 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 24494 devices.
24495 Reported by Max Vozeler.
24496
a9207284 244972008-06-15 Robert Millan <rmh@aybabtu.com>
24498
24499 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
24500 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
24501 skipped later.
24502 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
24503 the beginning of the prefix.
24504
24505 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
24506 It is assumed that if we have a memdisk, grub-mkimage has set
24507 grub_prefix to include the "(memdisk)" drive in it.
24508
a7cbd45a 245092008-06-15 Robert Millan <rmh@aybabtu.com>
24510
24511 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
24512 Initialize keyboard controller after registering the terminal, so that
24513 grub_printf() can be called from grub_keyboard_controller_init().
24514
21cf716a 245152008-06-15 Robert Millan <rmh@aybabtu.com>
24516
24517 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
24518 extent-btree which is written as big endian on disk.
24519 Reported by Alain Greppin <al@chilibi.org>.
24520
23a64d8e 245212008-06-14 Robert Millan <rmh@aybabtu.com>
24522
24523 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
24524 * util/i386/pc/grub-install.in (modules): Likewise.
24525
d687651c 245262008-06-13 Pavel Roskin <proski@gnu.org>
24527
24528 * commands/ls.c (grub_ls_list_files): Fix format warnings.
24529
dfe9ddd4 245302008-06-13 Bean <bean123ch@gmail.com>
24531
24532 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
24533
24534 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
24535
24536 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
24537 to indicate sparse block.
24538
16ae7781 245392008-06-12 Pavel Roskin <proski@gnu.org>
24540
e6d1a308 24541 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
24542 number, grub_fshelp_read() does it for us.
24543
16ae7781 24544 * fs/fshelp.c (grub_fshelp_read): New function. Implement
24545 linear disk read with journal translation.
24546 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
24547 * include/grub/fshelp.h: Declare grub_fshelp_read().
24548
40fd3a2b 245492008-06-09 Pavel Roskin <proski@gnu.org>
24550
24551 * fs/minix.c (grub_minix_mount): Handle error reading
24552 superblock.
24553
f5679726 245542008-06-08 Robert Millan <rmh@aybabtu.com>
24555
24556 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
24557 don't append the RAID prefix afterwards.
24558 Reported by Clint Adams.
24559
ce525529 245602008-06-08 Robert Millan <rmh@aybabtu.com>
24561
24562 Based on description from Pavel:
24563 * kern/disk.c (grub_disk_check_range): Rename to ...
24564 (grub_disk_adjust_range): ... this. Add a comment explaining the
24565 tasks performed by this function.
24566
ad4936a0 245672008-06-08 Robert Millan <rmh@aybabtu.com>
24568
24569 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
24570 `num_serial' (for consistency with other variables).
24571 (struct grub_ntfs_data): Add `uuid' member.
24572 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
24573 (grub_ntfs_uuid): New function.
24574 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
24575
dc20b0f9 245762008-06-07 Pavel Roskin <proski@gnu.org>
24577
24578 * util/biosdisk.c (open_device): Revert last change to the
24579 function, it broke installation. The sector needs to be
24580 different dependent on which device is opened.
24581
c5e3cfba 245822008-06-06 Robert Millan <rmh@aybabtu.com>
24583
24584 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
24585 rest of GRUB, and breakage doesn't happen if its value were modified.
24586
24587 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24588 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
24589 a constant (same value).
24590 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
24591 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
24592
26a1f8c4 245932008-06-06 Robert Millan <rmh@aybabtu.com>
24594
24595 * util/biosdisk.c (open_device): Do not modify sector offset when
24596 accessing a partition. kern/disk.c already handles this for us.
24597
25d6b327 245982008-06-06 Robert Millan <rmh@aybabtu.com>
24599
24600 * util/grub-emu.c (grub_machine_init): Move code in this function from
24601 here ...
24602 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
24603 segfault in case grub_printf() is called).
24604
24605 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
24606 grub_probe. Update all users not to explicitly add it again.
24607 (grub_device): New variable; contains corresponding device for grubdir.
24608 (fs_module, partmap_module, devabstraction_module): Pass
24609 `--device ${grub_device}' to grub_probe to avoid traversing /dev
24610 every time.
24611
9ece62fb 246122008-06-05 Robert Millan <rmh@aybabtu.com>
24613
24614 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
24615 is found, print it (same layout as with labels).
24616
1ad36d37 246172008-06-04 Robert Millan <rmh@aybabtu.com>
24618
24619 * util/biosdisk.c (get_drive): Rename to ...
24620 (find_grub_drive): ... this. Update all users.
24621
24622 (get_os_disk): Rename to ...
24623 (convert_system_partition_to_system_disk): ... this. Update all users.
24624
24625 (find_drive): Rename to ...
24626 (find_system_device): ... this. Update all users.
24627
e6a30859 246282008-06-04 Robert Millan <rmh@aybabtu.com>
24629
24630 * util/biosdisk.c (get_os_disk): Handle IDA devices.
24631 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24632 (make_device_map): Likewise.
24633
00c108a4 246342008-06-01 Robert Millan <rmh@aybabtu.com>
24635
24636 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
24637 before dereferencing it.
24638
24639 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
24640 union with fat12/fat16-specific ones. Add some new fields, including
24641 `num_serial' for both versions.
24642 (struct grub_fat_data): Add `uuid' member.
24643 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
24644 names. Initialize `data->uuid' using `num_serial'.
24645 (grub_fat_uuid): New function.
24646 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
24647
24648 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
24649 (grub_reiserfs_uuid): New function.
24650 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
24651 member.
24652
24653 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
24654 (grub_xfs_uuid): New function.
24655 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
24656
1385c5bb 246572008-06-01 Robert Millan <rmh@aybabtu.com>
24658
24659 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
24660 code that is backward compatible with pre-uuid search command.
24661
c682dfd7 246622008-05-31 Robert Millan <rmh@aybabtu.com>
24663
24664 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
24665 floppies after everything else, to ensure floppy drive isn't accessed
24666 unnecessarily (patch from Bean).
24667
b7db5d47 246682008-05-31 Robert Millan <rmh@aybabtu.com>
24669
24670 * commands/search.c (search_label, search_fs_uuid, search_file): Do
24671 not print device names when we were asked to set a variable.
24672
6e037aa9 246732008-05-31 Robert Millan <rmh@aybabtu.com>
24674
24675 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
24676 using "cursor-on" and "cursor-off" commands (understood at least by
24677 the Open Firmware flavour on OLPC).
24678
41305bc8 246792008-05-31 Michael Gorven <michael@gorven.za.net>
24680
24681 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
24682 on and off sequences.
24683
69ba137e 246842008-05-31 Robert Millan <rmh@aybabtu.com>
24685
24686 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
24687 * util/update-grub.in: Likewise.
24688
520ae21b 246892008-05-30 Pavel Roskin <proski@gnu.org>
24690
24691 * util/biosdisk.c (linux_find_partition): Simplify logic and
24692 make the code more universal. Keep special processing for
24693 devfs, but use a simple rule for all other devices. If the
24694 device ends with a number, append 'p' and the partition number.
24695 Otherwise, append only the partition number.
24696
5786569b 246972008-05-30 Robert Millan <rmh@aybabtu.com>
24698
24699 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
24700 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
24701 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
24702 the `root' parameter to Linux.
24703
51500452 247042008-05-30 Robert Millan <rmh@aybabtu.com>
24705
24706 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
24707 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
24708 --fs_uuid with --fs-uuid.
24709 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
24710 all filesystems support them).
24711
811d3878 247122008-05-30 Robert Millan <rmh@aybabtu.com>
24713
24714 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 24715 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 24716
cab63c95 247172008-05-30 Robert Millan <rmh@aybabtu.com>
24718
24719 * util/grub.d/00_header.in: Remove obsolete comment referencing
24720 convert_system_path_to_grub_path().
24721 * util/update-grub.in: Likewise.
24722 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
24723 (convert_system_path_to_grub_path): Add a warning message explaining
24724 that this function is deprecated. Rely on is_path_readable_by_grub()
24725 for the readability checks.
24726 (font_path): Use is_path_readable_by_grub() for the readability
24727 check rather than convert_system_path_to_grub_path().
24728
972e2f7a 247292008-05-30 Robert Millan <rmh@aybabtu.com>
24730
24731 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
24732 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
24733 converting it first.
24734 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
24735 grub.cfg for access to font file, and afterwards call it again to set
24736 the root device.
24737
62191274 247382008-05-30 Robert Millan <rmh@aybabtu.com>
24739
24740 * commands/search.c (options): Add --fs_uuid option.
24741 (search_fs_uuid): New function.
24742 (grub_cmd_search): Fix --set argument passing.
24743 Use search_fs_uuid() when requested via --fs_uuid.
24744 (grub_search_init): Update help message.
24745 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
24746 and redeclare it as an array of 16-bit words.
24747 (grub_ext2_uuid): New function.
24748 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
24749 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
24750 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
24751 (GRUB_DEVICE_BOOT_UUID): New variables.
24752 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
24753 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
24754 whenever possible.
24755 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
24756 just assume `root' variable has the right value.
24757 * util/grub.d/10_linux.in: Likewise.
24758 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
24759 via PRINT_FS_UUID.
24760 (main): Recognise `-t fs_uuid' argument.
24761
01b73ec8 247622008-05-30 Robert Millan <rmh@aybabtu.com>
24763
24764 * util/biosdisk.c (map): Redefine structure to hold information
24765 about GRUB drive name.
fe6b695a 24766 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 24767 drive names.
24768 (call_hook): Remove.
24769 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
24770 member. Assume drive has partitions.
24771 (grub_util_biosdisk_open): Access device names via `.device' struct
24772 member.
24773 (open_device): Likewise.
24774 (find_drive): Likewise.
24775 (read_device_map): Adjust map[] usage to match the new struct
24776 definition. Don't check for duplicates (still possible, but not cheap
24777 anymore).
24778 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
24779 (make_device_name): Remove assumption of BIOS-like drive names.
24780
22f16596 247812008-05-30 Pavel Roskin <proski@gnu.org>
24782
24783 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
24784 compiling execute.c doesn't need grub_script.tab.h anymore.
24785 (normal/command.c_DEPENDENCIES): Likewise.
24786 (normal/function.c_DEPENDENCIES): Likewise.
24787 * conf/i386-ieee1275.rmk: Likewise.
24788 * conf/i386-linuxbios.rmk: Likewise.
24789 * conf/i386-pc.rmk: Likewise.
24790 * conf/powerpc-ieee1275.rmk: Likewise.
24791 * conf/sparc64-ieee1275.rmk: Likewise.
24792
528ad8f2 247932008-05-29 Pavel Roskin <proski@gnu.org>
24794
d1dff95d 24795 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
24796 when scanning metadata for volume group name.
24797
528ad8f2 24798 * include/grub/script.h: Don't include grub_script.tab.h. It's
24799 a generated file, which may only be included from the files with
24800 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
24801 use union YYSTYPE, as the later allows forward declaration.
24802 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
24803
47248e08 248042008-05-29 Robert Millan <rmh@aybabtu.com>
24805
24806 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
24807 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
24808 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
24809 (grub_console_checkkey): Add grub_dprintf() call to report unknown
24810 scan codes.
24811
ee632529 248122008-05-29 Robert Millan <rmh@aybabtu.com>
24813
24814 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
24815 control key combinations.
24816
eee96e08 248172008-05-29 Robert Millan <rmh@aybabtu.com>
24818
24819 * util/powerpc/ieee1275/grub-install.in: Move from here ...
24820 * util/ieee1275/grub-install.in: ... to here.
24821 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
24822 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
24823 (grub_install_SOURCES): Likewise.
24824
da9a6a94 248252008-05-29 Robert Millan <rmh@aybabtu.com>
24826
24827 * fs/affs.c: Update copyright year.
24828 * fs/ext2.c: Likewise.
24829 * fs/fshelp.c: Likewise.
24830 * fs/hfsplus.c: Likewise.
24831 * fs/ntfs.c: Likewise.
24832 * fs/xfs.c: Likewise.
24833 * include/grub/fshelp.h: Likewise.
24834 * util/grub-mkdevicemap.c: Likewise.
24835
12e65f3a 248362008-05-28 Robert Millan <rmh@aybabtu.com>
24837
24838 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
24839 might need to be fatfs to support some firmware implementations
24840 (e.g. OFW or EFI).
24841
23023641 248422008-05-28 Robert Millan <rmh@aybabtu.com>
24843
24844 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
24845 devices.
24846 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24847 (make_device_map): Likewise.
24848
887d2619 248492008-05-20 Bean <bean123ch@gmail.com>
24850
24851 * fs/fshelp.c (grub_fshelp_map_block): New function.
24852 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
24853 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
24854
24855 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
24856 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
24857 (grub_fshelp_journal): New structure.
24858 (grub_fshelp_map_block): New function prototype.
24859 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
24860 (grub_fshelp_map_block): Likewise.
24861
24862 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
24863 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
24864 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
24865 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
24866 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
24867 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
24868 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
24869 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
24870 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
24871 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
24872 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
24873 (grub_ext2_sblock): New members for journal support.
24874 (grub_ext3_journal_header): New structure.
24875 (grub_ext3_journal_revoke_header): Likewise.
24876 (grub_ext3_journal_block_tag): Likewise.
24877 (grub_ext3_journal_sblock): Likewise.
24878 (grub_fshelp_node): New members logfile and journal.
24879 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
24880 grub_fshelp_map_block to get real block number.
24881 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
24882 number.
24883 (grub_ext2_read_inode): Likewise.
24884 (grub_ext3_get_journal): New function.
24885 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
24886 (grub_ext2_close): Release memory used by journal.
24887
24888 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
24889 (REISERFS_MAGIC_DESC_BLOCK): New macro.
24890 (grub_reiserfs_transaction_header): Renamed to
24891 grub_reiserfs_description_block, replace field data with real_blocks.
24892 (grub_reiserfs_commit_block): New structure.
24893 (grub_reiserfs_data): New member journal.
24894 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
24895 number.
24896 (grub_reiserfs_read_symlink): Likewise.
24897 (grub_reiserfs_iterate_dir): Likewise.
24898 (grub_reiserfs_open): Likewise.
24899 (grub_reiserfs_read): Likewise.
24900 (grub_reiserfs_get_journal): New function.
24901 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
24902 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
24903 using grub_reiserfs_get_journal.
24904 (grub_reiserfs_close): Release memory used by journal.
24905
24906 * fs/affs.c (grub_affs_read_block): Change block type to
24907 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
24908
24909 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
24910
24911 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
24912
24913 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
24914
24915 * fs/udf.c (grub_udf_read_block): Change block type to
24916 grub_disk_addr_t. Use type cast to avoid warning.
24917
24918 * fs/xfs.c (grub_xfs_read_block): Likewise.
24919
b7c6bed5 249202008-05-16 Christian Franke <franke@computer.org>
24921
24922 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
24923 to ensure that break with ESC will always work.
24924 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
24925 Remove ESC from keyboard queue.
24926
eedf167f 249272008-05-16 Christian Franke <franke@computer.org>
24928
24929 * util/biosdisk.c: [__CYGWIN__] Add includes.
24930 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
24931 (get_os_disk): Move variable declarations to OS specific
24932 parts to avoid warning.
24933 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
24934 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
24935 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
24936 Cygwin.
24937 * util/getroot.c: [__CYGWIN__] Add includes.
24938 (strip_extra_slashes): Fix "/" case.
24939 [__CYGWIN__] (get_win32_path): New function.
24940 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
24941 [__CYGWIN__] (find_root_device): Disable.
24942 [__CYGWIN__] (get_bootsec_serial): New function.
24943 [__CYGWIN__] (find_cygwin_root_device): Likewise.
24944 [__linux__] (grub_guess_root_device): Add early returns to simplify
24945 structure.
24946 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
24947 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
24948 check for Linux only.
24949
a079699e 249502008-05-15 Bean <bean123ch@gmail.com>
24951
24952 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
24953 keyboard hang problem in apple's intel mac.
24954
1cf4059a 249552008-05-09 Robert Millan <rmh@aybabtu.com>
24956
24957 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
24958 devices.
24959 * util/grub-mkdevicemap.c (get_virtio_disk_name)
24960 (make_device_map): Likewise.
24961 Reported by Aurelien Jarno <aurel32@debian.org>
24962
ed759390 249632008-05-07 Ian Campbell <ijc@hellion.org.uk>
24964
24965 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
24966 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
24967 (make_device_map): Output entries for xvd type disks.
24968
b56c4eaa 249692008-05-07 Robert Millan <rmh@aybabtu.com>
24970
24971 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
24972 devices.
24973 * util/grub-mkdevicemap.c (get_cciss_disk_name)
24974 (make_device_map): Likewise.
24975 Reported by Roland Dreier <rdreier@cisco.com>
24976
7f8866ed 249772008-05-07 Robert Millan <rmh@aybabtu.com>
24978
24979 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
24980 grub_strstr() call. Correct a few mistakes in failure path handling.
24981
b0346e0f 249822008-05-06 Robert Millan <rmh@aybabtu.com>
24983
24984 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24985 Do not print a trailing slash (therefore, the root directory is an
24986 empty string).
24987 (convert_system_path_to_grub_path): Do not remove trailing slash
24988 from make_system_path_relative_to_its_root() output.
24989
24990 * util/i386/pc/grub-install.in: Add trailing slash to output from
24991 make_system_path_relative_to_its_root().
24992
6cf12cbd 249932008-05-06 Robert Millan <rmh@aybabtu.com>
24994
24995 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
24996 ensures that output lines aren't intermangled with those sent to
24997 stderr (via grub_util_info()).
24998 * util/grub-probe.c (grub_refresh): Likewise.
24999 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
25000
0fbb3117 250012008-05-05 Christian Franke <franke@computer.org>
25002
25003 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
25004 Add Cygwin device names.
25005 (get_ide_disk_name) [__CYGWIN__]: Likewise.
25006 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
25007 (check_device): Return error instead of success on empty name.
25008 (make_device_map): Move label inside linux specific code to
25009 prevent compiler warning.
25010
8124cdb7 250112008-04-30 Robert Millan <rmh@aybabtu.com>
25012
25013 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
25014 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
25015 first boot option.
25016 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
25017
094c01d0 250182008-04-29 Robert Millan <rmh@aybabtu.com>
25019
25020 * docs/grub.cfg: New file (example GRUB configuration).
25021
f4b1fc02 250222008-04-26 Robert Millan <rmh@aybabtu.com>
25023
329ce2a5 25024 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
25025 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
25026 and `disk/ieee1275/nand.c'.
f4b1fc02 25027
25f16ec1 250282008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 25029
25f16ec1 25030 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
25031 i386-linuxbios.
25032
25033 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
25034 change the buffer size to 4096 for cdrom device.
25035
25036 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
25037 and nand.mod.
25038 (_linux_mod_SOURCES): New variable.
25039 (_linux_mod_CFLAGS): Likewise.
25040 (_linux_mod_LDFLAGS): Likewise.
25041 (linux_mod_SOURCES): Likewise.
25042 (linux_mod_CFLAGS): Likewise.
25043 (linux_mod_LDFLAGS): Likewise.
25044 (nand_mod_SOURCES): Likewise.
25045 (nand_mod_CFLAGS): Likewise.
25046 (nand_mod_LDFLAGS): Likewise.
25047
25048 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
25049 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
25050 type property. (nand device in olpc don't have this property)
25051
25052 * include/grub/disk.h (grub_disk_dev_id): New macro
25053 GRUB_DISK_DEVICE_NAND_ID.
25054
25055 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
25056 function prototype.
25057 (grub_rescue_cmd_initrd): Likewise.
25058
25059 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
25060 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
25061 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 25062
25f16ec1 25063 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
25064 GRUB_MACHINE_IEEE1275 is defined.
25065
25066 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
25067 Use NESTED_FUNC_ATTR attribute on the hook parameter.
25068
25069 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
25070 on nested function heap_init.
25071 (grub_upper_mem): New variable for i386-ieee1275.
25072 (grub_get_extended_memory): New function for i386-ieee1275.
25073 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
25074
25075 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
25076 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
25077 property.
f19dbdb7 25078
25f16ec1 25079 * loader/i386/ieee1275/linux.c: New file.
25080
25081 * loader/i386/ieee1275/linux_normal.c: New file.
25082
25083 * disk/ieee1275/nand.c: New file.
25084
e89d61e9 250852008-04-18 Thomas Schwinge <tschwinge@gnu.org>
25086
25087 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
25088 value.
25089 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
25090
602566f6 250912008-04-18 Robert Millan <rmh@aybabtu.com>
25092
25093 Restructures early code path on ieee1275 to unify grub_main() as
25094 the first C function that is executed in every platform.
25095
25096 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
25097 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
25098 cmain().
25099 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
25100 * kern/ieee1275/cmain.c (cmain): Rename to ...
25101 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
25102 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
25103 at the beginning.
25104
57490c2b 251052008-04-18 Robert Millan <rmh@aybabtu.com>
25106
25107 * util/update-grub.in: Fix syntax error when setting
25108 `GRUB_PRELOAD_MODULES'.
25109 Reported by Stephane Chazelas <stephane@artesyncp.com>
25110
1977517d 251112008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
25112
25113 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
25114 section into account, newer toolchains generate unique build ids
25115 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 25116 we want build ids to be preserved
1977517d 25117 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
25118 far from other sections don't cause the raw binary images grow
25119 size
25120
bfb1f1a2 251212008-04-15 Robert Millan <rmh@aybabtu.com>
25122
25123 * disk/lvm.c: Update copyright year.
25124 * kern/misc.c: Likewise.
25125
01979850 251262008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
25127
25128 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 25129 there is no memory left for physical volume name.
01979850 25130
0a1150e2 251312008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
25132
25133 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
25134 volume name mapping to support bigger than 9 character names properly.
25135
82ead3fe 251362008-04-13 Robert Millan <rmh@aybabtu.com>
25137
25138 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
25139 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
25140
e54a72f5 251412008-04-13 Christian Franke <franke@computer.org>
25142
25143 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
25144 to create a floppy emulation boot CD when non emulation mode
25145 does not work.
25146 Enable Joliet CD filesystem extension.
25147
9fe86034 251482008-04-13 Robert Millan <rmh@aybabtu.com>
25149
25150 * kern/misc.c (grub_strncat): Fix off-by-one error.
25151 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
25152
25153 * kern/env.c (grub_env_context_close): Clear current context, not
25154 previous one.
25155 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
25156
25157 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
25158
7ceeee39 251592008-04-13 Robert Millan <rmh@aybabtu.com>
25160
25161 Improve robustness when handling LVM.
25162
25163 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 25164 (and leave `*p' unmodified).
7ceeee39 25165 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
25166 through it.
25167 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
25168 iterating through it.
25169 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
25170 through it.
fe6b695a 25171 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 25172 when due) on each grub_lvm_getvalue() or grub_strstr() call.
25173 Don't assume `vg->pvs != NULL' when iterating through it.
25174
58cd3d85 251752008-04-13 Robert Millan <rmh@aybabtu.com>
25176
25177 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
25178 * genmk.rb (partmap): New variable.
25179 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
25180 (#{partmap}): New target rule.
25181 * genpartmaplist.sh: New file.
25182 * Makefile.in (pkglib_DATA): Add partmap.lst.
25183 (partmap.lst): New target rule.
25184 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
25185 modules (including all partition maps), instead of preloading them.
25186
78b51059 251872007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
25188
25189 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
25190 `linux-boot-prober' (if installed) to detect other operating
25191 systems which are installed on the computer and add them to
25192 the boot menu.
25193 * conf/common.rmk: Build and install 30_os-prober.
25194
a91627b4 251952008-04-12 Robert Millan <rmh@aybabtu.com>
25196
25197 * kern/powerpc/ieee1275/init.c: Move from here ...
25198 * kern/ieee1275/init.c: ... to here. Update all users.
25199
25200 * kern/powerpc/ieee1275/cmain.c: Move from here ...
25201 * kern/ieee1275/cmain.c: ... to here. Update all users.
25202
25203 * kern/powerpc/ieee1275/openfw.c: Move from here ...
25204 * kern/ieee1275/openfw.c: ... to here. Update all users.
25205
25206 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
25207 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
25208
322562ea 252092008-04-10 Pavel Roskin <proski@gnu.org>
25210
25211 * configure.ac: Always use "_cv_" in cache variables for
25212 compatibility with Autoconf 2.62.
25213
a02a73c5 252142008-04-07 Robert Millan <rmh@aybabtu.com>
25215
25216 Revert grub/machine/init.h addition by Pavel (since it breaks on
25217 i386-ieee1275 and others):
25218 * util/i386/pc/misc.c: Remove grub/machine/init.h.
25219 * util/powerpc/ieee1275/misc.c: Likewise.
25220
25c024b1 252212008-04-07 Robert Millan <rmh@aybabtu.com>
25222
25223 * util/grub-probe.c (probe): Improve error message.
25224
3cbd2f98 252252008-04-07 Robert Millan <rmh@aybabtu.com>
25226
25227 * util/biosdisk.c (read_device_map): Skip devices that don't exist
25228 (this prevents the presence of a bogus entry from ruining the whole
25229 thing).
25230
87a297bf 252312008-04-06 Pavel Roskin <proski@gnu.org>
25232
36747a62 25233 * util/biosdisk.c: Include grub/util/biosdisk.h.
25234 * util/grub-fstest.c (execute_command): Make static.
25235 * util/grub-mkdevicemap.c (check_device): Likewise.
25236 * util/i386/pc/misc.c: Include grub/machine/init.h.
25237 * util/powerpc/ieee1275/misc.c: Likewise.
25238 * util/lvm.c: Include grub/util/lvm.h.
25239 * util/misc.c: Include grub/kernel.h, grub/misc.h and
25240 grub/cache.h.
25241 * util/raid.c: Include grub/util/raid.h.
25242 (grub_util_getdiskname): Make static.
25243
87a297bf 25244 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
25245 grub_hostfs_fini(), as they are called from grub_init_all() and
25246 grub_fini_all() respectively. This fixes an infinite loop in
25247 grub-fstest due to double registration of hostfs.
25248 Reported by Christian Franke <Christian.Franke@t-online.de>
25249
f6ce7629 252502008-04-05 Pavel Roskin <proski@gnu.org>
25251
25252 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
25253 all 8 functions. Otherwise, probe function 0 only.
25254
070e49e4 252552008-04-04 Pavel Roskin <proski@gnu.org>
25256
8b088a4c 25257 * commands/lspci.c (grub_lspci_iter): Print the bus number
25258 correctly.
25259
4f657021 25260 * commands/lspci.c (grub_pci_classes): Fix typos.
25261 (grub_lspci_iter): Don't print func twice. Print vendor ID
25262 before device ID, as it's normally done.
25263
070e49e4 25264 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
25265 Fix signedness warnings.
25266 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
25267 Likewise.
25268 * util/ieee1275/get_disk_name.c: Include config.h so that
25269 _GNU_SOURCE is defined and getline() is declared. Mark an
25270 unused argument as such. Fix a signedness warning.
25271
ba7328dc 252722008-04-02 Pavel Roskin <proski@gnu.org>
25273
26887f22 25274 * genkernsyms.sh.in: Use more robust assignments for CC and
25275 srcdir. Quote srcdir.
25276 * gensymlist.sh.in: Likewise. Assert at the compile time that
25277 the symbol table is not empty.
25278
ba7328dc 25279 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
25280 * fs/cpio.c (grub_cpio_read): Likewise.
25281
0f582c6b 252822008-04-01 Pavel Roskin <proski@gnu.org>
25283
4b6e1995 25284 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
25285 * disk/host.c (grub_host_open): Likewise.
25286 * disk/loopback.c (grub_loopback_open): Likewise.
25287 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
25288 disk->id as in disk/host.c, not a multi-character constant.
25289
828a2768 25290 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
25291 later is obsolete, potentially dangerous and sets a bad example.
25292 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
25293 * util/misc.c (grub_util_get_image_size): Likewise.
25294
2bb4fb47 25295 * disk/loopback.c (options): Improve help for "--partitions".
25296
0f582c6b 25297 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
25298 options to align them with the short options, e.g. "echo -e".
25299
a33224e0 253002008-03-31 Bean <bean123ch@gmail.com>
25301
25302 * video/reader/png.c (grub_png_data): New member is_16bit and
25303 image_data.
25304 (grub_png_decode_image_header): Detect 16 bit png image.
25305 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
25306 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
25307 (grub_video_reader_png): Release memory occupied by image_data.
25308
25309 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
25310 4096 bytes.
25311 (grub_nfs_mount): Skip the test for sector per cluster.
25312
25313 * include/grub/ntfs.h (MAX_SPC): Removed.
25314
86cb4f54 253152008-03-31 Bean <bean123ch@gmail.com>
25316
25317 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
25318 (grub_probe_SOURCES): Add fs/afs.c.
25319 (grub_fstest_SOURCES): Likewise.
25320 (afs_mod_SOURCES): New variable.
25321 (afs_mod_CFLAGS): Likewise.
25322 (afs_mod_LDFLAGS): Likewise.
25323
25324 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
25325 (grub_emu_SOURCES): Likewise.
25326
25327 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25328
25329 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25330
25331 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25332
25333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25334
25335 * fs/afs.c: New file.
25336
17c74c21 253372008-03-30 Pavel Roskin <proski@gnu.org>
25338
4cb68e89 25339 * disk/host.c: Include grub/misc.h to fix a warning.
25340 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
25341 warnings about implicit declarations.
25342
8790bb04 25343 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
25344 variable.
25345 * include/grub/i386/loader.h: Change declaration of
25346 grub_linux_boot() to match what grub_loader_set() expects.
25347 * util/getroot.c (grub_guess_root_device): Return const char* to
25348 fix a warning.
25349 * util/grub-probe.c (probe): Fix a warning about uninitialized
25350 abstraction_name variable.
25351 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
25352 second argument as unused to fix a warning.
25353
9a3f3296 25354 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
25355 missing grub_error() call.
25356
0ecef90d 25357 * util/update-grub_lib.in: Define datarootdir, since Autoconf
25358 2.60 and newer uses it to define datadir.
25359
0bf6d401 25360 * commands/sleep.c: Fix warning about implicit declaration.
25361 * disk/memdisk.c: Likewise.
25362 * loader/aout.c: Likewise.
25363 * loader/i386/bsd_normal.c: Likewise.
25364 * util/grub-probe.c: Likewise.
25365
7cdacf97 25366 * commands/i386/cpuid.c (has_longmode): Make static.
25367 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
25368 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
25369
17c74c21 25370 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
25371 GDT. This is more robust, as %ds can change.
25372 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
25373 calling real_to_prot().
25374 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
25375
80a3e68b 253762008-03-28 Pavel Roskin <proski@gnu.org>
25377
25378 * kern/i386/pc/startup.S: Assert that uncompressed functions
25379 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
25380 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
25381 code, as they push parts of the code (error handlers) beyond
25382 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
25383 code as correctness and size.
25384
77bcd272 253852008-03-28 Pavel Roskin <proski@gnu.org>
25386
25387 * kern/i386/pc/startup.S
25388 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
25389 data block address to the real mode, keep offset minimal. This
25390 works around a bug in AWARD BIOS on old Athlon systems, which
25391 makes CD detection hang.
25392
c5dfd43b 253932008-03-26 Pavel Roskin <proski@gnu.org>
25394
25395 * normal/color.c (grub_parse_color_name_pair): Make `name' a
25396 const.
25397 * include/grub/normal.h: Add grub_parse_color_name_pair()
25398 declaration.
25399
bf962df2 254002008-03-24 Bean <bean123ch@gmail.com>
25401
25402 * disk/i386/pc/biosdisk.c (cd_start): Removed.
25403 (cd_count): Removed.
25404 (cd_drive): New variable.
25405 (grub_biosdisk_get_drive): Don't check for (cdN) device.
25406 (grub_biosdisk_call_hook): Likewise.
25407 (grub_biosdisk_iterate): Change cdrom detection method.
25408 (grub_biosdisk_open): Replace cd_start with cd_drive.
25409 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
25410 detect cdrom device.
25411
25412 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
25413 Removed.
25414 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
25415 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
25416 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
25417 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
25418 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
25419 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
25420 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
25421 (grub_biosdisk_cdrp): New structure.
25422 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
25423
25424 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
25425
25426 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
25427 device.
25428
25429 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
25430 New function.
25431
68e7fc7a 254322008-03-20 Robert Millan <rmh@aybabtu.com>
25433
25434 Remove 2 TiB limit in ata.mod.
25435 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
25436 (grub_ata_dumpinfo): Print sector count with 0x%llx.
25437 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
25438 grub_uint64_t instead of grub_uint32_t.
25439
38ad2cf5 254402008-03-05 Bean <bean123ch@gmail.com>
25441
25442 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
25443 (grub_multiboot): Set boot device.
25444
25445 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
25446
2b89344e 254472008-03-02 Bean <bean123ch@gmail.com>
25448
25449 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
25450 symlink_buffer.
25451
87a95d1f 254522008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
25453
25454 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
25455 texinfo.tex.
25456
25457 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
25458 modified.
25459
25460 * docs/fdl.texi: New file.
f19dbdb7 25461
87a95d1f 25462 * docs/mdate-sh: New file. Copied from gnulib.
25463 * docs/texinfo.tex: Likewise.
25464
25465 * config.guess: Updated from gnulib.
25466 * install-sh: Likewise.
25467
7dc15d8e 254682008-02-28 Robert Millan <rmh@aybabtu.com>
25469
25470 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
25471 (aout_mod_SOURCES): New variable.
25472 (aout_mod_CFLAGS): Likewise.
25473 (aout_mod_LDFLAGS): Likewise.
25474
25475 * conf/i386-ieee1275.rmk: Likewise.
25476
b00ab696 254772008-02-28 Robert Millan <rmh@aybabtu.com>
25478
25479 * util/update-grub.in: Reorganise terminal validity check. Accept
25480 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
25481 Based on suggestion by Franklin PIAT.
25482
79ca2d78 254832008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
25484
25485 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
25486 function.
25487 * util/getroot.c (grub_util_check_block_device): New function that
25488 returns the given argument if it is a block device and returns NULL else.
25489 * util/grub-probe.c (argument_is_device): New variable.
25490 (probe): Promote device_name from a variable to an argument. Receive
25491 device_name from grub_util_check_block_device() if path is NULL and from
25492 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 25493 (options): Introduce new parameter '-d, --device'.
79ca2d78 25494 (main): Add description of the new parameter to the help screen.
25495 Rename path variable to argument. Set argument_is_device if the '-d'
25496 option is given. Pass argument to probe() depending on
25497 argument_is_device.
25498
0d16e571 254992008-02-24 Bean <bean123ch@gmail.com>
25500
25501 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
25502 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
25503 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
25504 (GRUB_ISO9660_VOLDESC_PART): Likewise.
25505 (GRUB_ISO9660_VOLDESC_END): Likewise.
25506 (grub_iso9660_primary_voldesc): New member escape.
25507 (grub_iso9660_data): New member joliet.
25508 (grub_iso9660_convert_string): New function.
25509 (grub_iso9660_mount): Detect joliet extension.
25510 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
25511 (grub_iso9660_iso9660_label): Likewise.
25512
25513 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
25514 (grub_setup_SOURCES): Add fs/udf.c.
25515 (grub_fstest_SOURCES): Likewise.
25516 (udf_mod_SOURCES): New variable.
25517 (udf_mod_CFLAGS): Likewise.
25518 (udf_mod_LDFLAGS): Likewise.
25519
25520 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
25521 (grub_emu_SOURCES): Likewise.
25522
25523 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25524
25525 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25526
25527 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25528
25529 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25530
25531 * fs/udf.c: New file.
25532
8a594a17 255332008-02-24 Robert Millan <rmh@aybabtu.com>
25534
25535 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
25536 (normal/lexer.c_DEPENDENCIES): New variables.
25537 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25538 (normal/lexer.c_DEPENDENCIES): Likewise.
25539 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
25540 (normal/lexer.c_DEPENDENCIES): Likewise.
25541 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
25542 (normal/lexer.c_DEPENDENCIES): Likewise.
25543 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25544 (normal/lexer.c_DEPENDENCIES): Likewise.
25545 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25546 (normal/lexer.c_DEPENDENCIES): Likewise.
25547
2dc33c03 255482008-02-23 Robert Millan <rmh@aybabtu.com>
25549
25550 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
25551 since they were intended to be in hex. This didn't break previously
25552 because of a bug in gpt_partition_map_iterate() (see below).
25553
25554 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
25555 when checking the validity of GPT header.
25556 Remove `partno', since it always provides the same information as `i'.
25557
f6f4cfb0 255582008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
25559
25560 * include/grub/efi/time.h: Fix a wrong comment.
25561
79ff665f 255622008-02-19 Pavel Roskin <proski@gnu.org>
25563
25564 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
25565 message.
25566
d38e24c2 255672008-02-19 Bean <bean123ch@gmail.com>
25568
25569 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
25570 (aout_mod_SOURCES): New variable.
25571 (aout_mod_CFLAGS): Likewise.
25572 (aout_mod_LDFLAGS): Likewise.
25573 (_bsd_mod_SOURCES): New variable.
25574 (_bsd_mod_CFLAGS): Likewise.
25575 (_bsd_mod_LDFLAGS): Likewise.
25576 (bsd_mod_SOURCES): New variable.
25577 (bsd_mod_CFLAGS): Likewise.
25578 (bsd_mod_LDFLAGS): Likewise.
25579
25580 * include/grub/aout.h: New file.
25581
25582 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
25583
25584 * include/grub/i386/bsd.h: New file.
25585
25586 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
25587 to make it public.
25588
25589 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
25590 function is called, so that it's possible to change it inside the hook.
25591 (grub_elf64_load): Likewise.
25592 (grub_elf_file): Don't close the file if elf header is not found.
25593 (grub_elf_close): Close the file if grub_elf_file fails (The new
25594 grub_elf_file won't close it).
25595 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
25596 (grub_elf64_size): Likewise.
25597
25598 * kern/i386/loader.S (grub_unix_real_boot): New function.
25599
25600 * loader/aout.c: New file.
25601
25602 * loader/i386/bsd.c: New file.
25603
25604 * loader/i386/bsd_normal.c: New file.
25605
25606 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
25607
25608 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 25609 can test other formats.
d38e24c2 25610
b93bdb0f 256112008-02-19 Robert Millan <rmh@aybabtu.com>
25612
25613 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
25614 (grub_gpt_partition_type_empty): Redefine with macro from
25615 `<grub/gpt_partition.h>'.
25616 (gpt_partition_map_iterate): Adjust partition type comparison.
25617
25618 Export `entry' as partmap-specific `part.data' struct.
25619 (grub_gpt_header, grub_gpt_partentry): Move from here ...
25620
25621 * include/grub/gpt_partition.h (grub_gpt_header)
25622 (grub_gpt_partentry): ... to here (new file).
25623
25624 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
25625
25626 (grub_gpt_partition_type_bios_boot): New const variable, defined
25627 with macro from `<grub/gpt_partition.h>'.
25628
25629 (setup): Replace `first_start' with `embed_region', which keeps
25630 track of the embed region (and is partmap-agnostic).
25631
25632 Replace find_first_partition_start() with find_usable_region(),
25633 which finds a usable region for embedding using partmap-specific
25634 knowledge (supports PC/MSDOS and GPT).
25635
25636 Fix all assumptions that the embed region start at sector 1, using
25637 `embed_region.start' from now on. Similarly, use `embed_region.end'
25638 rather than `first_start' to calculate available size.
25639
25640 In grub_util_info() message, replace "into after the MBR" with an
25641 indication of the specific sector our embed region starts at.
25642
66cb40f6 256432008-02-19 Robert Millan <rmh@aybabtu.com>
25644
25645 * DISTLIST: Replace `commands/ieee1275/halt.c' and
25646 `commands/ieee1275/reboot.c' with `commands/halt.c' and
25647 `commands/reboot.c'.
25648 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25649 (halt_mod_SOURCES): Likewise.
25650 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25651 (halt_mod_SOURCES): Likewise.
25652
b7202015 256532008-02-17 Christian Franke <franke@computer.org>
25654
25655 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
25656
32b0fc49 256572008-02-17 Robert Millan <rmh@aybabtu.com>
25658
25659 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25660 set `first_start' to 0 for non-PC/MSDOS partition maps.
25661
aca63502 256622008-02-16 Robert Millan <rmh@aybabtu.com>
25663
25664 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25665 do not assume partition map is PC/MSDOS before performing checks that
25666 are specific to that layout.
25667
0de8be86 256682008-02-13 Robert Millan <rmh@aybabtu.com>
25669
25670 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
25671 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
25672 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
25673
c3db8364 256742008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
25675
25676 * configure.ac: Only a cosmetic change on the handling of
25677 -fno-stack-protector.
25678
f714229e 256792008-02-12 Alexandre Boeglin <alex@boeglin.org>
25680
c3db8364 25681 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
25682 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
25683 reboot.c.
f714229e 25684 (grub_install_SOURCES): Add halt.mod and reboot.mod.
25685 (halt_mod_SOURCES): New variable.
25686 (halt_mod_CFLAGS): Likewise.
25687 (halt_mod_LDFLAGS): Likewise.
25688 (reboot_mod_SOURCES): Likewise.
25689 (reboot_mod_CFLAGS): Likewise.
25690 (reboot_mod_LDFLAGS): Likewise.
25691
c3db8364 25692 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
25693 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
25694 reboot.c.
f714229e 25695 (halt_mod_SOURCES): Likewise.
25696 (reboot_mod_SOURCES): Likewise.
25697
c3db8364 25698 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
25699 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 25700 (reboot_mod_SOURCES): Likewise.
25701
25702 * commands/i386/pc/reboot.c: merge this file ...
25703
25704 * commands/ieee1275/reboot.c: ... and this file ...
25705
25706 * commands/reboot.c: ... to this file.
c3db8364 25707 Add some precompiler directive to include the correct header for
25708 each machine.
f714229e 25709
25710 * commands/ieee1275/halt.c: move this file ...
25711
25712 * commands/halt.c: ... to here.
c3db8364 25713 Add some precompiler directive to include the correct header for
25714 each machine.
f714229e 25715
25716 * include/grub/efi/efi.h (grub_reboot): New function declaration.
25717 (grub_halt): Likewise.
25718
25719 * kern/efi/efi.c (grub_reboot): New function.
25720 (grub_halt): Likewise.
25721
c74493e0 257222008-02-12 Robert Millan <rmh@aybabtu.com>
25723
25724 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
25725 /dev (like it is done for /dev/mapper). This doesn't provide support
25726 for EVMS, but at least it is now easy to identify the problem when it
25727 arises.
25728
d0db4b04 257292008-02-11 Robert Millan <rmh@aybabtu.com>
25730
25731 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
25732 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
25733 comparing it with -1, not 0.
25734
bf748642 257352008-02-10 Robert Millan <rmh@aybabtu.com>
25736
25737 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
25738 `disk/lvm.c'.
25739 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25740 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25741
25742 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
25743 `disk/lvm.c' to the end of the list.
25744 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25745 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25746
b5db202a 257472008-02-10 Robert Millan <rmh@aybabtu.com>
25748
25749 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
25750 grub_print_error() instead. This will let user know why we're entering
25751 rescue mode.
25752 Based on suggestions from Sam Morris.
25753
83abee31 257542008-02-10 Alexandre Boeglin <alex@boeglin.org>
25755
25756 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
25757 on remaining N args, instead of "--" arg N times.
25758
78d5a08b 257592008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
25760
25761 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
25762 (fill_with_default_glyph): Changed to use unknown_glyph for fill
25763 pattern for unknown glyphs.
25764
68807e5f 257652008-02-09 Robert Millan <rmh@aybabtu.com>
25766
25767 * configure.ac: Probe for `help2man'.
25768 * Makefile.in (builddir): New variable.
25769 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
25770 or otherwise add a few flags/options to it.
25771 (install-local): For every executable utility or script that is
25772 installed, invoke $(HELP2MAN) to install a manpage based on --help
25773 output.
25774
25775 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
25776 that it doesn't prevent --help from working in build tree.
25777
25778 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
25779 with `bug-grub@gnu.org'.
25780 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
25781 * util/update-grub.in (usage): New function.
25782 Implement proper argument check, with support for --help and --version
25783 (as well as existing -y).
25784
257852008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 25786
25787 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
25788 avoid overwriting previous output.
25789 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
25790
c1962162 257912008-02-09 Robert Millan <rmh@aybabtu.com>
25792
25793 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
25794 drawing the menu.
25795
3dac2e3f 257962008-02-09 Robert Millan <rmh@aybabtu.com>
25797
25798 * commands/sleep.c: New file.
25799 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
25800 (sleep_mod_SOURCES): New variable.
25801 (sleep_mod_CFLAGS): Likewise.
25802 (sleep_mod_LDFLAGS): Likewise.
25803
7a634e08 258042008-02-09 Robert Millan <rmh@aybabtu.com>
25805
25806 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
25807 situations in which we can deduce the RAID size and the superblock
25808 doesn't match it.
25809
b92f0c18 258102008-02-09 Robert Millan <rmh@aybabtu.com>
25811
25812 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
25813 and return a grub_diskmemberlist_t composed of LVM physical volumes.
25814 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
25815
25816 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
25817 and return a grub_diskmemberlist_t composed of physical array members.
25818 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
25819
25820 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
25821 prototype.
25822 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
25823 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
25824 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
25825
25826 * util/grub-probe.c (probe): Move partmap probing code from here ...
25827 (probe_partmap): ... to here.
25828 (probe): Use probe_partmap() once for the disk we're probing, and
25829 additionally, when such disk contains a memberlist() struct member,
25830 once for each disk that is contained in the structure returned by
25831 memberlist().
25832
91a4bf68 258332008-02-09 Robert Millan <rmh@aybabtu.com>
25834
25835 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
25836 environment variable to 'all' in order to obtain debug output from
25837 non-util/ code.
25838 * util/i386/pc/grub-setup.c (main): Likewise.
25839
a96f9caa 258402008-02-08 Robert Millan <rmh@aybabtu.com>
25841
25842 * disk/raid.c (grub_raid_scan_device): Check for
25843 `array->device[sb.this_disk.number]' rather than for
25844 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 25845 guaranteed to be accessible.
a96f9caa 25846
b37a9222 258472008-02-08 Robert Millan <rmh@aybabtu.com>
25848
25849 * disk/raid.c: Update copyright.
25850 * fs/cpio.c: Likewise.
25851 * include/grub/raid.h: Likewise.
25852 * loader/i386/pc/multiboot.c: Likewise.
25853 * util/hostfs.c: Likewise.
25854
5626aee1 258552008-02-08 Robert Millan <rmh@aybabtu.com>
25856
25857 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
25858 to a grub_disk_t array.
25859 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
25860 `device[x]'.
25861 (grub_raid_scan_device): Replace `device[x].name' accesses with
25862 `device[x]->name'. Simplify initialization of `array->device[x]'.
25863
554f0187 258642008-02-08 Robert Millan <rmh@aybabtu.com>
25865
25866 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
25867 grub_dprintf() calls.
25868 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
25869 error message.
25870
1ec8425d 258712008-02-07 Christian Franke <franke@computer.org>
25872
25873 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
25874 instead of fseek and ftell to support large files.
25875 (grub_hostfs_read): Likewise.
25876
f2156fda 258772008-02-07 Robert Millan <rmh@aybabtu.com>
25878
25879 Patch from Jeroen Dekkers.
25880 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 25881 failure, since successfully reading all array members might not be
f2156fda 25882 required.
25883
9216e0e7 258842008-02-06 Robert Millan <rmh@aybabtu.com>
25885
25886 * util/grub-probe.c (probe): Simplify partmap probing (with the
25887 assumption that the first word up to the underscore equals to
25888 the module name).
25889
b0dfd29a 258902008-02-06 Christian Franke <franke@computer.org>
25891
25892 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
25893 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
25894 last block of a cpio or tar stream.
25895 Check for "TRAILER!!!" instead of any empty data
25896 block to detect last block of a cpio stream.
25897 (grub_cpio_dir): Fix constness of variable np.
25898 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
25899 cpio or tar trailer is detected. This fixes a crash
25900 on open of a non existing file.
25901
c32865bf 259022008-02-05 Bean <bean123ch@gmail.com>
25903
25904 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
25905 address of entry.
25906 (grub_multiboot_load_elf64): Likewise.
25907 (grub_multiboot): Initialize mbi structure.
25908
25909 * util/grub-fstest.c: Don't include unused header file script.h.
25910
fe6b695a 25911 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 25912 of file.
25913 (grub_fstest_SOURCES): Likewise.
25914
409480b7 259152008-02-05 Robert Millan <rmh@aybabtu.com>
25916
25917 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
25918 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
25919 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
25920 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
25921
25922 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
25923 (translation_table): Replace hardcoded values with macros
25924 provided by `<grub/term.h>'.
25925
25926 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
25927 (keyboard_map): Correct/add a few values, with macros provided
25928 by `<grub/term.h>'.
25929 (keyboard_map_shift): Zero values that don't differ from their
25930 `keyboard_map' equivalents.
25931 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
25932 Discard the second scan code that is always sent by Caps lock.
25933 Only use `keyboard_map_shift' when it provides a non-zero value,
25934 otherwise fallback to `keyboard_map'.
25935
99fadbaa 259362008-02-04 Bean <bean123ch@gmail.com>
25937
25938 * Makefile.in (enable_grub_fstest): New variable.
25939
25940 * conf/common.rmk (grub_fstest_init.lst): New rule.
25941 (grub_fstest_init.h): Likewise.
25942 (grub_fstest_init.c): Likewise.
25943 (util/grub-fstest.c_DEPENDENCIES): New variable.
25944 (grub_fstest_SOURCES): Likewise.
25945
25946 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
25947
25948 * util/grub-fstest.c: New file.
25949
bf567c50 259502008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25951
25952 Make grub-setup handle a separate root device.
f19dbdb7 25953
bf567c50 25954 * util/i386/pc/grub-setup.c (setup): Always open the root device,
25955 so that the root device can be compared with the destination
25956 device.
25957 When embedding the core image, if the root and destination devices
25958 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
25959 0xFF.
25960 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 25961
9be6b98b 259622008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25963
25964 Add support for having a grub directory in a different drive. This
25965 is still only the data handling part.
f19dbdb7 25966
9be6b98b 25967 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
25968 (codestart): Save %dh in GRUB_ROOT_DRIVE.
25969 (grub_root_drive): New variable.
25970
25971 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
25972 instead of GRUB_BOOT_DRIVE to construct a device name. Set
25973 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
25974 as it was.
25975
25976 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
25977
25978 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
25979 macro.
25980 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
25981
25982 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
25983 is bogus, because PXE booting does not specify any drive
25984 correctly.
25985
25986 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
25987 am not sure if this is really correct.
25988
25989 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
25990 is always identical to the boot drive when booting from a CD.
25991
25992 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
25993 longer.
25994 (root_drive): New variable.
25995 (real_start): Unconditionally set %dh to ROOT_DRIVE.
25996 (setup_sectors): Push %dx right after popping it, because %dh will
25997 be modified later.
25998 (copy_buffer): Restore %dx.
25999
e0ca0677 260002008-02-03 Robert Millan <rmh@aybabtu.com>
26001
26002 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
26003 use `cdboot.img' for cdrom images.
26004
3b3f6629 260052008-02-03 Robert Millan <rmh@aybabtu.com>
26006
26007 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
26008 only setup gfxterm when `font' command has succeeded.
26009
d42b3672 260102008-02-03 Robert Millan <rmh@aybabtu.com>
26011
26012 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
26013 (grub_rescue_cmd_multiboot_loader)
26014 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
26015
fa370ea6 260162008-02-03 Pavel Roskin <proski@gnu.org>
26017
e0c5dacb 26018 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 26019 %edx and %esi from stack only after grub_gate_a20() is called.
26020 grub_gate_a20() clobbers %edx.
26021
f2a76e1d 260222008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
26023
26024 * configure.ac (AC_INIT): Bumped to 1.96.
26025
26026 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
26027 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
26028 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
26029 video/readers/png.c.
26030
90fd32d1 260312008-02-03 Bean <bean123ch@gmail.com>
9be665dd 26032
26033 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
26034 (cdboot_img_SOURCES): New variable.
26035 (cdboot_img_ASFLAGS): New variable.
26036 (cdboot_img_LDFLAGS): New variable.
26037
26038 * boot/i386/pc/cdboot.S: New file.
26039
26040 * disk/i386/pc/biosdisk.c (cd_start): New variable.
26041 (cd_count): Likewise.
26042 (grub_biosdisk_get_drive): Add support for cd device.
26043 (grub_biosdisk_call_hook): Likewise.
26044 (grub_biosdisk_iterate): Likewise.
26045 (grub_biosdisk_open): Likewise.
26046 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
26047 (grub_biosdisk_rw): Support reading from cd device.
26048 (GRUB_MOD_INIT): Iterate cd devices.
26049
26050 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
26051 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
26052 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
26053
26054 * kern/i386/pc/init.c (make_install_device): Check for cd device.
26055
4020aa53 260562008-02-02 Robert Millan <rmh@aybabtu.com>
26057
26058 * commands/read.c: New file.
26059 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
26060 (read_mod_SOURCES): New variable.
26061 (read_mod_CFLAGS): Likewise.
26062 (read_mod_LDFLAGS): Likewise.
26063
e03a1132 260642008-02-02 Robert Millan <rmh@aybabtu.com>
26065
26066 * normal/main.c (grub_normal_execute): Check for `menu->size' when
26067 determining whether menu has to be displayed.
26068
58c69220 260692008-02-02 Marco Gerards <marco@gnu.org>
26070
26071 * bus/pci.c: New file.
26072
26073 * include/grub/pci.h: Likewise.
26074
26075 * include/grub/i386/pc/pci.h: Likewise.
26076
26077 * commands/lspci.c: Likewise.
26078
26079 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
26080 `lspci.mod'.
26081 (pci_mod_SOURCES): New variable.
26082 (pci_mod_CFLAGS): Likewise.
26083 (pci_mod_LDFLAGS): Likewise.
26084 (lspci_mod_SOURCES): Likewise.
26085 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 26086 (lspci_mod_LDFLAGS): Likewise.
58c69220 26087
c004e1b4 260882008-02-02 Bean <bean123ch@gmail.com>
26089
26090 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
26091 (grub_ufs_get_file_block): Fix indirect block calculation problem.
26092
26093 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
26094 (grub_xfs_btree_node): New structure.
26095 (grub_xfs_btree_root): New structure.
26096 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
26097 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
26098 (GRUB_XFS_EXTENT_BLOCK): Likewise.
26099 (GRUB_XFS_EXTENT_SIZE): Likewise.
26100 (grub_xfs_read_block): Support btree format type.
26101 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
26102 Use directory block as basic unit.
26103
26104 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
26105
26106 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
26107 __attribute__ ((__regparm__ (1))).
26108
f95562bf 261092008-02-01 Robert Millan <rmh@aybabtu.com>
26110
26111 Correct a mistake in previous commit.
26112
26113 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
26114 top.
26115 (normal/command.c_DEPENDENCIES): New variable.
26116
7d31f41f 261172008-02-01 Robert Millan <rmh@aybabtu.com>
26118
26119 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
26120 top.
26121 (normal/command.c_DEPENDENCIES): New variable.
26122 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
26123 * conf/i386-ieee1275.rmk: Likewise.
26124 * conf/i386-linuxbios.rmk: Likewise.
26125 * conf/i386-pc.rmk: Likewise.
26126 * conf/sparc64-ieee1275.rmk: Likewise.
26127 * conf/powerpc-ieee1275.rmk: Likewise.
26128 (grub_emu_SOURCES): Add `fs/fshelp.c'.
26129
26130 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
26131
60b6be74 261322008-02-01 Robert Millan <rmh@aybabtu.com>
26133
26134 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
26135 call at beginning of function.
26136
078522ab 261372008-01-31 Pavel Roskin <proski@gnu.org>
26138
26139 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 26140 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
26141 (grub_mkrescue_SOURCES): Likewise.
078522ab 26142 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
26143
ccaa8a5f 261442008-01-30 Robert Millan <rmh@aybabtu.com>
26145
26146 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
26147 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
26148 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
26149 (grub_probe_SOURCES): ... to here.
26150
26151 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
26152 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
26153 * conf/i386-ieee1275.rmk: Likewise.
26154 * conf/i386-linuxbios.rmk: Likewise.
26155 * conf/powerpc-ieee1275.rmk: Likewise.
26156
ae5a9cd7 261572008-01-30 Tristan Gingold <gingold@free.fr>
26158
26159 * kern/rescue.c: Silently accept empty lines.
26160
70bc2ef2 261612008-01-29 Bean <bean123ch@gmail.com>
26162
26163 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
26164 (real_code_2): Code cleanup and change comment style.
26165 (move_memory): Avoid using 32-bit address mode.
26166
6a4d50ea 261672008-01-29 Bean <bean123ch@gmail.com>
26168
26169 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
26170 (png_mod_SOURCES): New variable.
26171 (png_mod_CFLAGS): Likewise.
26172 (png_mod_LDFLAGS): Likewise.
26173
26174 * video/readers/png.c: New file.
26175
11cc30ac 261762008-01-28 Robert Millan <rmh@aybabtu.com>
26177
26178 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
26179 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
26180 `ifndef GRUB_MOD_GAP' hack.
26181 * util/elf/grub-mkimage.c (add_segments): Likewise.
26182
3abc589f 261832008-01-27 Robert Millan <rmh@aybabtu.com>
26184
26185 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
26186 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 26187 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 26188
e1907778 261892008-01-27 Robert Millan <rmh@aybabtu.com>
26190
26191 Get grub-emu to build again (including parallel builds).
26192
26193 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
26194 Split into ...
26195 (util/grub-emu.c_DEPENDENCIES): ... this, ...
26196 (normal/execute.c_DEPENDENCIES): ... this, ...
26197 (grub-emu_DEPENDENCIES): ... and this.
26198
26199 * conf/i386-efi.rmk: Likewise.
26200 * conf/i386-linuxbios.rmk: Likewise.
26201 * conf/i386-ieee1275.rmk: Likewise.
26202 * conf/powerpc-ieee1275.rmk: Likewise.
26203 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
26204
2216b101 262052008-01-27 Robert Millan <rmh@aybabtu.com>
26206
26207 * NEWS: Add a few items.
26208
f75172d9 262092008-01-27 Robert Millan <rmh@aybabtu.com>
26210
26211 Fix parallel builds with grub-emu. Based on earlier commit for
26212 grub-probe and grub-setup.
26213
26214 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26215 (util/grub-emu.c_DEPENDENCIES): ... this.
26216 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26217 (util/grub-emu.c_DEPENDENCIES): ... this.
26218 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26219 (util/grub-emu.c_DEPENDENCIES): ... this.
26220 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26221 (util/grub-emu.c_DEPENDENCIES): ... this.
26222 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26223 (util/grub-emu.c_DEPENDENCIES): ... this.
26224
3f51de77 262252008-01-27 Pavel Roskin <proski@gnu.org>
26226
26227 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
26228 to create a gap between _end and the modules added to the image
26229 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
26230 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
26231 * util/elf/grub-mkimage.c (add_segments): Likewise.
26232
2033f53e 262332008-01-26 Pavel Roskin <proski@gnu.org>
26234
26235 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
26236 just return an error.
26237
22da1f6f 262382008-01-26 Bean <bean123ch@gmail.com>
26239
26240 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
26241 (grub_reiserfs_get_item): Save offset of the next item.
26242 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
26243
2a9525e6 262442008-01-25 Robert Millan <rmh@aybabtu.com>
26245
26246 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
26247 make all filesystem sources appear together (possibly fixing omissions
26248 while at it).
26249 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26250 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26251 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26252 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26253
26254 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
26255 add `kern/file.c'.
26256 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
26257 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26258 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
26259 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26260
26261 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
26262 (probe): Add a sanity check to make sure of our ability to read
26263 requested files when probing for filesystem type.
26264
26265 * genmk.rb: Update copyright year (2007).
26266
26267 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
26268 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
26269 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
26270 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
26271 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
26272 : Remove function prototypes.
26273
b95f71b5 262742008-01-25 Robert Millan <rmh@aybabtu.com>
26275
26276 Revert my previous commits (based on wrong assumption of how grub_errno
26277 works).
26278
fe6b695a 26279 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 26280 * kern/file.c (grub_file_open): Likewise.
26281
d08bbb49 262822008-01-24 Pavel Roskin <proski@gnu.org>
26283
26284 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
26285 that hang if GRUB tries to setup colors.
26286 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
26287 colors for firmwares that don't support it.
26288 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
26289 Recognize Open Hack'Ware, set flags to work around its
26290 limitations.
26291
605e36ed 262922008-01-24 Robert Millan <rmh@aybabtu.com>
26293
26294 * kern/file.c (grub_file_open): Do not account previous failures of
26295 unrelated functions when grub_errno is checked for.
26296 Reported by Oleg Strikov.
26297
bac332a1 262982008-01-24 Bean <bean123ch@gmail.com>
26299
26300 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
26301 (grub_ufs_sblock): New member volume name.
26302 (grub_ufs_find_file): Fix string copy bug.
26303 (grub_ufs_label): Implement this function properly.
26304
26305 * fs/hfs.c (grub_hfs_cnid_type): New enum.
26306 (grub_hfs_iterate_records): Use the correct file number for extents
26307 and catalog file. Fix problem in next index calculation.
26308 (grub_hfs_find_node): Replace recursive function call with loop.
26309 (grub_hfs_iterate_dir): Replace recursive function call with loop.
26310
15c80c09 263112008-01-23 Robert Millan <rmh@aybabtu.com>
26312
26313 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
26314 `<grub/symbol.h>' and `<grub/multiboot.h>'.
26315 (grub_multiboot2_real_boot): New function prototype.
26316
26317 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
26318 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
26319
26320 * kern/i386/ieee1275/init.c (grub_os_area_addr)
26321 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
26322
305338fd 263232008-01-23 Robert Millan <rmh@aybabtu.com>
26324
26325 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
26326 #ifdef'ed out grub_printf().
26327
3ea52685 263282008-01-23 Robert Millan <rmh@aybabtu.com>
26329
26330 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
26331 grub_dprintf calls, since they make "debug=all" mode unusable.
26332 (grub_console_checkkey): Likewise.
26333
5882ae4b 263342008-01-23 Robert Millan <rmh@aybabtu.com>
26335
26336 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26337 `term/i386/pc/at_keyboard.c'.
26338 (pkglib_MODULES): Add `serial.mod'.
26339 (serial_mod_SOURCES): New variable.
26340 (serial_mod_CFLAGS): Likewise.
26341 (serial_mod_LDFLAGS): Likewise.
26342
26343 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
26344 `<grub/powerpc/ieee1275/console.h>'.
26345 (grub_keyboard_controller_init): New function prototype.
26346 (grub_console_checkkey): Likewise.
26347 (grub_console_getkey): Likewise.
26348
26349 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
26350 keyboard on i386.
26351
26352 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
26353 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
26354
06ab5303 263552008-01-23 Robert Millan <rmh@aybabtu.com>
26356
26357 * kern/i386/pc/init.c (make_install_device): When memdisk image is
26358 present, "(memdisk)/boot/grub" becomes the default prefix.
26359
26360 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
26361 a memdisk tarball with all the modules. Add --overlay=DIR option that
26362 allows users to overlay additional files into the image.
26363
dbb475a4 263642008-01-23 Robert Millan <rmh@aybabtu.com>
26365
26366 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
26367 and `machine/memory.h'.
26368 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
26369 (_multiboot_mod_SOURCES): New variable.
26370 (_multiboot_mod_CFLAGS): Likewise.
26371 (_multiboot_mod_LDFLAGS): Likewise.
26372 (multiboot_mod_SOURCES): Likewise.
26373 (multiboot_mod_CFLAGS): Likewise.
26374 (multiboot_mod_LDFLAGS): Likewise.
26375
26376 * include/grub/i386/ieee1275/loader.h: New file.
26377
26378 * include/grub/i386/ieee1275/machine.h: Likewise.
26379
26380 * include/grub/i386/ieee1275/memory.h: Likewise.
26381
26382 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
26383 variable declaration.
26384 (grub_os_area_size): Likewise.
26385
26386 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
26387 (grub_lower_mem, grub_upper_mem): New variables.
26388 (grub_stop_floppy): New function (just to make
26389 grub_multiboot2_real_boot() happy).
26390
26391 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
26392 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
26393 (grub_stop): New function.
26394 Include `"../realmode.S"' and `"../loader.S"'.
26395
26396 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
26397 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
26398
26399 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
26400 rely on grub_multiboot2_real_boot() for final boot.
26401
25638629 264022008-01-22 Robert Millan <rmh@aybabtu.com>
26403
26404 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
26405 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
26406 device that doesn't look like an SD card.
26407 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26408 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
26409 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
26410 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
26411 found.
26412
9dad816d 264132008-01-22 Robert Millan <rmh@aybabtu.com>
26414
26415 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
26416 avoid claiming over our own code.
26417
34842f2d 264182008-01-22 Bean <bean123ch@gmail.com>
26419
26420 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
26421 (jpeg_mod_SOURCES): New variable.
26422 (jpeg_mod_CFLAGS): Likewise.
26423 (jpeg_mod_LDFLAGS): Likewise.
26424
26425 * video/readers/jpeg.c : New file.
26426
44023a28 264272008-01-22 Bean <bean123ch@gmail.com>
26428
26429 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
26430 there are no more items.
26431
bc2d8ac6 264322008-01-21 Robert Millan <rmh@aybabtu.com>
26433
26434 * kern/mm.c (grub_mm_init_region): Improve debug message.
26435
261bd4bc 264362008-01-21 Robert Millan <rmh@aybabtu.com>
26437
26438 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
26439 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
26440 address.
26441 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
26442 a C macro.
26443 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
26444 Indicates start of upper memory.
26445 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
26446 (generate_image): Abort when image size is big enough to corrupt
26447 upper memory.
26448
26449 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
26450 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
26451 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26452 instead of hardcoding 0xA0000.
26453 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
26454 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26455 instead of hardcoding 0xA0000.
26456
f970b55e 264572008-01-21 Robert Millan <rmh@aybabtu.com>
26458
26459 * disk/memdisk.c (memdisk_size): New variable.
26460 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
26461 `memdisk_size'.
26462 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
26463 image to dynamic memory.
26464 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
26465 `memdisk_size'. Free memdisk block.
26466
1a8b0526 264672008-01-21 Robert Millan <rmh@aybabtu.com>
26468
26469 Fix detection of very small filesystems (like tar).
26470
26471 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
26472 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
26473 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
26474 a problem with this disk).
26475
6e9b4aab 264762008-01-21 Robert Millan <rmh@aybabtu.com>
26477
26478 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
26479 on grub_biosdisk_rw_standard() error.
26480
0d8837b2 264812008-01-21 Robert Millan <rmh@aybabtu.com>
26482
26483 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
26484 recent changes.
26485 * kern/elf.c: Likewise.
26486 * kern/ieee1275/ieee1275.c: Likewise.
26487 * kern/powerpc/ieee1275/openfw.c: Likewise.
26488 * term/ieee1275/ofconsole.c: Likewise.
26489
ffd36e34 264902008-01-21 Robert Millan <rmh@aybabtu.com>
26491
26492 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
26493
3f0093d0 26494 * include/grub/kernel.h (grub_arch_memdisk_addr)
26495 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 26496
3f0093d0 26497 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
26498 (grub_arch_memdisk_size): ... to here.
ffd36e34 26499
6c391b21 265002008-01-21 Robert Millan <rmh@aybabtu.com>
26501
26502 Mostly based on bugfix from Bean.
26503
26504 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
26505 attribute with hook() parameter.
26506 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
26507 declaration.
26508 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
26509 attribute with hook() parameter.
26510 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
26511 declaration.
26512
55a581dc 265132008-01-21 Robert Millan <rmh@aybabtu.com>
26514
26515 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
26516 (pkglib_MODULES): Add `memdisk.mod'.
26517 (memdisk_mod_SOURCES): New variable.
26518 (memdisk_mod_CFLAGS): Likewise.
26519 (memdisk_mod_LDFLAGS): Likewise.
26520
26521 * disk/memdisk.c: New file.
26522
26523 * include/grub/disk.h (grub_disk_dev_id): Add
26524 `GRUB_DISK_DEVICE_MEMDISK_ID'.
26525
26526 * include/grub/i386/pc/kernel.h
26527 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
26528 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
26529 (grub_kernel_image_size): New variable declaration.
26530 (grub_total_module_size): Likewise.
26531 (grub_memdisk_image_size): Likewise.
26532
26533 * include/grub/i386/pc/memory.h
26534 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
26535
26536 * include/grub/kernel.h: Include `<grub/symbol.h>'.
26537 (grub_arch_memdisk_addr): New variable declaration.
26538 (grub_arch_memdisk_size): Likewise.
26539
26540 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
26541 (grub_arch_memdisk_size): Likewise.
26542
26543 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
26544 (codestart): Replace hardcoded `0x100000' with
26545 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
26546
26547 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
26548 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
26549 not NULL, append the contents of the file it refers to, at the end of
26550 the compressed kernel image. Initialize `grub_memdisk_image_size'
26551 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
26552 (options): Add "memdisk"|'m' option.
26553 (main): Parse --memdisk|-m option, and pass user-provided path as
26554 parameter to generate_image().
26555
3d7f54c9 265562008-01-20 Robert Millan <rmh@aybabtu.com>
26557
26558 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
26559 grub_dprintf() calls from here ...
26560 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
26561
0bf74728 265622008-01-20 Robert Millan <rmh@aybabtu.com>
26563
26564 Fix detection of "real mode" when /options/real-mode? doesn't exist.
26565
26566 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
26567 declaration.
26568 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
26569 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
26570 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 26571 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 26572 property).
26573 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
26574 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
26575
33bf70a7 265762008-01-19 Robert Millan <rmh@aybabtu.com>
26577
fe6b695a 26578 Get rid of confusing function (superseded by
33bf70a7 26579 `grub_ieee1275_get_integer_property')
26580 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
26581 prototype.
26582 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
26583 function.
26584 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
26585 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 26586 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 26587
e2da7d26 265882008-01-19 Robert Millan <rmh@aybabtu.com>
26589
26590 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
26591 command after "shut-down", since implementations differ on which
26592 the command for halt is.
26593
59f1fd8d 265942008-01-19 Robert Millan <rmh@aybabtu.com>
26595
26596 * include/grub/i386/linuxbios/console.h: Add header protection.
26597 (grub_keyboard_controller_init): New function prototype.
26598 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
26599 (KEYBOARD_COMMAND_READ): Likewise.
26600 (KEYBOARD_COMMAND_WRITE): Likewise.
26601 (KEYBOARD_SCANCODE_SET1): Likewise.
26602 (grub_keyboard_controller_write): New function.
26603 (grub_keyboard_controller_read): Likewise.
26604 (grub_keyboard_controller_init): Likewise.
26605
26606 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
26607 (grub_console_init): On coreboot/LinuxBIOS, call
26608 grub_keyboard_controller_init().
26609
5f5a7c15 266102008-01-19 Robert Millan <rmh@aybabtu.com>
26611
26612 PowerPC changes provided by Pavel Roskin.
26613
26614 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
26615 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
26616 don't rely on cmain() doing it.
26617 * kern/i386/ieee1275/startup.S (_start): Store %eax in
26618 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
26619
1210e168 266202008-01-16 Robert Millan <rmh@aybabtu.com>
26621
26622 * include/grub/i386/linuxbios/memory.h
26623 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
26624 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
26625 receive `table_header' as argument. Instead, probe for it in the
26626 known memory ranges where it can be present.
26627 (grub_available_iterate): Do not pass a fixed `table_header' address
26628 to grub_linuxbios_table_iterate().
26629
3d04eab8 266302008-01-15 Robert Millan <rmh@aybabtu.com>
26631
26632 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
26633 * conf/i386-ieee1275.rmk: New file.
26634 * include/grub/i386/ieee1275/console.h: Likewise.
26635 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
26636 * include/grub/i386/ieee1275/kernel.h: Likewise.
26637 * include/grub/i386/ieee1275/time.h: Likewise.
26638 * kern/i386/ieee1275/init.c: Likewise.
26639 * kern/i386/ieee1275/startup.S: Likewise.
26640
d1bc1b73 266412008-01-15 Robert Millan <rmh@aybabtu.com>
26642
26643 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
26644 when pointers are 32-bit (but still do set it to one when they are
26645 64-bit).
26646
66a65807 266472008-01-15 Robert Millan <rmh@aybabtu.com>
26648
26649 * include/grub/ieee1275/ieee1275.h
26650 (grub_ieee1275_get_integer_property): New function prototype.
26651
26652 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
26653 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 26654 grub_ieee1275_get_property() to handle endianness.
66a65807 26655
26656 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
26657 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 26658 where appropriate.
66a65807 26659 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
26660 (grub_map): Likewise.
26661 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
26662
a83ccafd 266632008-01-15 Bean <bean123ch@gmail.com>
26664
26665 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
26666 (grub_script_execute_cmdline): Reset grub_errno.
26667
26668 * normal/main.c (read_config_file): Reset grub_errno.
26669
26670 * normal/parse.y (script_init): New.
26671 (script): Move function and menuentry here.
26672 (delimiter): New.
26673 (command): Add delimiter at the end of command.
26674 (commands): Adjust to match the new command.
26675 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 26676 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 26677 (if): Use the new commands.
26678
26679 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
26680
df6ecfc6 266812008-01-15 Robert Millan <rmh@aybabtu.com>
26682
26683 * normal/menu.c (run_menu): Move timeout message from here ...
26684 (print_timeout): ... to here.
26685 (run_menu): Use print_timeout() once during initial draw to print
26686 the whole message, and again in every clock tick to update only
26687 the number of seconds.
26688
87ae25eb 266892008-01-15 Robert Millan <rmh@aybabtu.com>
26690
26691 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
26692 actual size of `available' from grub_ieee1275_get_property(), and
26693 restrict parsing to that bound.
26694
47bf09a4 266952008-01-15 Christian Franke <franke@computer.org>
26696
26697 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
26698 (argp_program_version): Remove variable.
26699 (argp_program_bug_address): Likewise.
26700 (options): Convert from struct argp_option to struct option.
26701 (struct arguments): Remove.
26702 (parse_opt): Remove.
26703 (usage): New function.
26704 (main): Replace struct args members by simple variables.
26705 Replace argp_parse() by getopt_long().
26706 Add switch to evaluate options.
26707 Add missing "(...)" around root_dev in prefix string.
26708
c86f1469 267092008-01-14 Robert Millan <rmh@aybabtu.com>
26710
26711 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
26712 for grub_ieee1275_exit(), in order to improve portability.
26713
e622c559 267142008-01-14 Robert Millan <rmh@aybabtu.com>
26715
26716 * util/grub.d/10_linux.in (prefix): Define.
26717 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
26718
44cb1ec8 267192008-01-13 Pavel Roskin <proski@gnu.org>
26720
26721 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
26722 grub_errno if no errors have been detected.
26723
1eb8c802 267242008-01-12 Robert Millan <rmh@aybabtu.com>
26725
26726 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
26727 (grub_util_get_dev_abstraction): New function prototype.
26728
26729 * util/getroot.c: Include `<grub/util/getroot.h>'
26730 (grub_util_get_grub_dev): Move detection of abstraction type to ...
26731 (grub_util_get_dev_abstraction): ... here (new function).
26732
26733 * util/grub-probe.c: Convert PRINT_* to an enum. Add
26734 `PRINT_ABSTRACTION'.
26735 (probe): Probe for abstraction type when requested.
26736 (main): Understand `--target=abstraction'.
26737
26738 * util/i386/efi/grub-install.in: Add abstraction module to core
26739 image when it is found to be necessary.
26740 * util/i386/pc/grub-install.in: Likewise.
26741 * util/powerpc/ieee1275/grub-install.in: Likewise.
26742
26743 * util/update-grub_lib.in (font_path): Return system path without
26744 converting to GRUB path.
26745 * util/update-grub.in: Convert system path returned by font_path()
26746 to a GRUB path. Use `grub-probe -t abstraction' to determine what
26747 abstraction module is needed for loading fonts (if any). Export
26748 that as `GRUB_PRELOAD_MODULES'.
26749 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
26750 insmod commands).
26751
52bd3de9 267522008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
26753
26754 Remove some unused code from reiserfs.
f19dbdb7 26755
52bd3de9 26756 * fs/reiserfs.c (struct grub_reiserfs_key)
26757 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
26758 (struct grub_reiserfs_node_body): Removed.
26759 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26760 Likewise.
26761 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26762 Likewise.
26763 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26764 Likewise.
26765 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26766 Likewise.
26767 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26768 Likewise.
26769 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
26770 Likewise.
26771 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26772 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26773 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26774
2f80039d 267752008-01-10 Robert Millan <rmh@aybabtu.com>
26776
26777 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
26778 Determines if a file is garbage left by packaging systems, etc.
26779 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
26780 for processing /etc/grub.d scripts.
26781 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
26782 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
26783 as a condition for processing Linux images.
26784
87888032 267852008-01-10 Pavel Roskin <proski@gnu.org>
26786
26787 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
26788 to compile reiserfs.c on PowerPC.
26789
7e54fced 267902008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 26791
26792 * kern/device.c (grub_device_iterate): Do not abort device iteration
26793 when one of the devices cannot be opened.
26794 * kern/disk.c (grub_disk_open): Do not account previous failures of
26795 unrelated functions when grub_errno is checked for.
26796
5aa541e6 267972008-01-08 Robert Millan <rmh@aybabtu.com>
26798
26799 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
26800 `! grub_linux_is_bzimage', change order of address comparison to make
26801 it more intuitive, and improve "too big zImage" error message.
26802
7076340d 268032008-01-08 Robert Millan <rmh@aybabtu.com>
26804
26805 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
26806 `$(update-grub_DATA)'.
26807 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
26808 targets.
26809
9ca70333 268102008-01-07 Robert Millan <rmh@aybabtu.com>
26811
26812 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
26813 which instruction is modified by grub-setup during installation
26814 (since it wasn't obvious by only looking at this file).
26815
38ccf575 268162008-01-07 Robert Millan <rmh@aybabtu.com>
26817
26818 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
26819 listing actual TODO items.
26820
f5db4291 268212008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26822
868967cf 26823 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
26824 correctly.
26825 (grub_reiserfs_get_key_offset): Likewise.
26826 (grub_reiserfs_set_key_offset): Likewise.
26827 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 26828 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 26829
26830 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
26831 better to remove the bitfield version completely.
f19dbdb7 26832
868967cf 268332008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 26834
f5db4291 26835 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
26836 allocated from the heap, due to the fshelp implementation.
26837 (grub_reiserfs_dir): Free NODE, due to the same reason.
26838
492e6d9d 268392008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26840
26841 Mostly from Vincent Pelletier:
f19dbdb7 26842
492e6d9d 26843 * fs/reiserfs.c: New file.
f19dbdb7 26844
492e6d9d 26845 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
26846 (reiserfs_mod_SOURCES): New variable.
26847 (reiserfs_mod_CFLAGS): Likewise.
26848 (reiserfs_mod_LDFLAGS): Likewise.
26849
26850 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
26851 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
26852 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
26853 normal/color.c.
26854
9ce3e7c1 268552008-01-06 Robert Millan <rmh@aybabtu.com>
26856
26857 * normal/color.c: Remove `<grub/env.h>'.
26858
f3b58148 268592008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
26860
26861 * include/grub/normal.h: Include <grub/env.h>.
26862
7ac3bcfa 268632008-01-05 Robert Millan <rmh@aybabtu.com>
26864
26865 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
26866 usage example with `(hd0,1)'.
fb358190 26867 Reported by Samuel Thibault.
7ac3bcfa 26868
c8ee99d7 268692008-01-05 Robert Millan <rmh@aybabtu.com>
26870
26871 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
26872 (grub_linux_boot_zimage): Rename to ...
26873 (grub_linux_boot): ... this.
26874 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
26875 (grub_linux_boot_zimage): Conditionalize zImage copy.
26876
26877 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
26878 (grub_linux_boot_bzimage): Remove prototype.
26879 (grub_linux_boot_zimage): Rename to ...
26880 (grub_linux_boot): ... this.
26881
26882 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
26883 (grub_linux_boot): Remove function.
26884
0ece25b1 268852008-01-05 Robert Millan <rmh@aybabtu.com>
26886
26887 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
26888 (grub_env_write_color_highlight): Likewise.
26889 (grub_wait_after_message): Likewise.
26890
26891 * normal/color.c: New file.
26892
26893 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26894 (normal_mod_DEPENDENCIES): Likewise.
26895
26896 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26897 (normal_mod_DEPENDENCIES): Likewise.
26898
26899 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26900 (normal_mod_DEPENDENCIES): Likewise.
26901
26902 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26903 (normal_mod_DEPENDENCIES): Likewise.
26904
26905 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
26906 for waiting after a message is printed.
26907 * normal/main.c (read_config_file): Likewise.
26908 (grub_normal_init): Register grub_env_write_color_normal() and
26909 grub_env_write_color_highlight() hooks. Mark `color_normal' and
26910 `color_highlight' variables as global.
26911
26912 * normal/menu.c (grub_wait_after_message): New function.
26913 (grub_color_menu_normal): New variable. Replaces ...
26914 (GRUB_COLOR_MENU_NORMAL): ... this macro.
26915 (grub_color_menu_highlight): New variable. Replaces ...
26916 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
26917 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
26918 `GRUB_TERM_COLOR_STANDARD'.
26919 (print_message): Use `grub_setcolorstate' to reload colors. Rename
26920 `normal_code' and `highlight_code' to `old_color_normal' and
26921 `old_color_highlight', respectively.
26922 (grub_menu_init_page): Update colors when drawing the menu, based on
26923 `menu_color_normal' and `menu_color_highlight' variables.
26924 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
26925 a message is printed.
26926
182dd4e5 269272008-01-05 Robert Millan <rmh@aybabtu.com>
26928
26929 * kern/env.c (grub_env_context_open): Propagate hooks for global
26930 variables to new context.
26931
26932 * kern/main.c (grub_set_root_dev): Export `root' variable.
26933
ddf8f6ad 269342008-01-05 Robert Millan <rmh@aybabtu.com>
26935
26936 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 26937 discs unconditionally, since udev and others have options to provide
ddf8f6ad 26938 them.
26939
d8b43d9b 269402008-01-05 Robert Millan <rmh@aybabtu.com>
26941
26942 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
26943
2bff2de3 269442008-01-04 Christian Franke <franke@computer.org>
26945
26946 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
26947 of eisa_mmap.
26948
97eab917 269492008-01-03 Pavel Roskin <proski@gnu.org>
26950
26951 * kern/i386/linuxbios/init.c: Put "void" to all function
26952 declarations with no arguments.
26953 * kern/powerpc/ieee1275/init.c: Likewise.
26954 * term/i386/pc/at_keyboard.c: Likewise.
26955 * term/i386/pc/vga_text.c: Likewise.
26956 * util/grub-mkdevicemap.c: Likewise.
26957
b9416d00 269582008-01-02 Robert Millan <rmh@aybabtu.com>
26959
26960 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
26961 message when loaded image is out of bounds.
26962 (grub_multiboot_load_elf64): Likewise.
26963
92695df9 269642008-01-02 Pavel Roskin <proski@gnu.org>
26965
26966 * util/grub.d/10_linux.in: Try version without ".old" when
26967 looking for initrd. It's better to use initrd from the newer
26968 kernel of the same version than no initrd at all.
26969
d98d9cad 269702008-01-01 Robert Millan <rmh@aybabtu.com>
26971
26972 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
26973
dbfdce36 269742008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
26975
f19dbdb7 26976 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 26977 grub_video_get_active_render_target.
26978 (grub_video_adapter): Added unmap_color and get_active_render_target.
26979
f19dbdb7 26980 * video/video.c: Added grub_video_unmap_color and
dbfdce36 26981 grub_video_get_active_render_target.
26982 (grub_video_get_info): Changed method to accept NULL pointer as an
26983 argument to allow detection of active video adapter.
26984
26985 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
26986 grub_video_vbe_unmap_color_int.
26987 Added grub_video_vbe_unmap_color and
26988 grub_video_vbe_get_active_render_target.
26989 (grub_video_vbe_adapter): Added unmap_color and
26990 get_active_render_target.
26991
f19dbdb7 26992 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 26993 with grub_video_vbe_unmap_color_int.
26994
26995 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
26996 (DEFAULT_NORMAL_COLOR): Likewise.
26997 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
26998 (DEFAULT_FG_COLOR): Removed.
26999 (DEFAULT_BG_COLOR): Likewise.
27000 (DEFAULT_CURSOR_COLOR): Changed value.
27001 (grub_virtual_screen): Added standard_color_setting,
27002 normal_color_setting, highlight_color_setting and term_color.
27003 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
27004 (bitmap_width): Added.
27005 (bitmap_height): Likewise.
27006 (bitmap): Likewise.
27007 (set_term_color): Likewise.
27008 (grub_virtual_screen_setup): Changed to use new terminal coloring
27009 settings.
27010 (grub_gfxterm_init): Added init for bitmap.
27011 (grub_gfxterm_fini): Added destroy for bitmap.
27012 (redraw_screen_rect): Updated to use background bitmap and new
27013 terminal coloring.
27014 (scroll_up): Added optimization for case when there is no bitmap.
27015 (grub_gfxterm_cls): Fixed to use correct background color.
27016 (grub_virtual_screen_setcolorstate): Changed to use new terminal
27017 coloring.
27018 (grub_virtual_screen_setcolor): Likewise.
27019 (grub_virtual_screen_getcolor): Added.
27020 (grub_gfxterm_background_image_cmd): Likewise.
27021 (grub_video_term): Added setcolor and getcolor.
27022 (MOD_INIT): Added registration of background_image command.
27023 (MOD_TERM): Added unregistration for background_image command.
27024
c3c20931 270252007-12-30 Pavel Roskin <proski@gnu.org>
27026
27027 * loader/multiboot_loader.c: Fix multiboot command
27028 unregistration. Fix all typos in the word "multiboot".
27029
df266716 270302007-12-29 Pavel Roskin <proski@gnu.org>
94239199 27031
27032 * util/grub.d/10_linux.in: Refactor search for initrd. Add
27033 support for initrd names used in Fedora.
27034
fc6e896c 270352007-12-26 Bean <bean123ch@gmail.com>
27036
27037 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
27038 (cpio_mod_SOURCES): New variable.
27039 (cpio_mod_CFLAGS): Likewise.
27040 (cpio_mod_LDFLAGS): Likewise.
27041
27042 * fs/cpio.c: New file.
27043
27044 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
27045
27046 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27047
27048 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27049
27050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27051
533110ad 270522007-12-25 Robert Millan <rmh@aybabtu.com>
27053
27054 * include/grub/term.h (struct grub_term): Add `getcolor' function.
27055 (grub_getcolor): New function.
27056
27057 * kern/term.c (grub_getcolor): New function.
27058 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
27059 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
27060 (print_entry): Set normal and highlight colors to
27061 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
27062 respectively, before printing and restore them to old
27063 values afterwards.
27064 (grub_menu_init_page): Likewise. Fill an additional colored space
27065 that would otherwise be left blank.
27066
27067 * term/efi/console.c (grub_console_getcolor): New function.
27068 (struct grub_console_term.getcolor): New variable.
27069 * term/i386/pc/console.c (grub_console_getcolor): New function.
27070 (struct grub_console_term.getcolor): New variable.
27071 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
27072 (struct grub_console_term.getcolor): New variable.
27073
27074 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
27075 (struct grub_console_term.setcolor): Remove variable.
27076 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
27077 (struct grub_console_term.setcolor): Remove variable.
27078 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
27079 (struct grub_console_term.setcolor): Remove variable.
27080 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
27081 (struct grub_console_term.setcolor): Remove variable.
27082
4931827f 270832007-12-25 Robert Millan <rmh@aybabtu.com>
27084
27085 * configure.ac: Search for possible unifont.hex locations, and
27086 define UNIFONT_HEX if found.
27087
27088 * Makefile.in (UNIFONT_HEX): Define variable.
27089 (DATA): Rename to ...
27090 (PKGLIB): ... this. Update all users.
27091 (PKGDATA): New variable.
27092 (pkgdata_IMAGES): Rename to ...
27093 (pkglib_IMAGES): ... this. Update all users.
27094 (pkgdata_MODULES): Rename to ...
27095 (pkglib_MODULES): ... this. Update all users.
27096 (pkgdata_PROGRAMS): Rename to ...
27097 (pkglib_PROGRAMS): ... this. Update all users.
27098 (pkgdata_DATA): Rename to ...
27099 (pkglib_DATA): ... this. Update all users.
27100 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
27101 (unicode.pff, ascii.pff): New rules.
27102 (all-local): Add `$(PKGDATA)' dependency.
27103 (install-local): Process `$(PKGDATA)'.
27104
27105 * util/update-grub_lib.in (font_path): Search for *.pff files in
27106 a few more locations, including `${pkgdata}'.
27107
57e57e31 271082007-12-23 Robert Millan <rmh@aybabtu.com>
27109
27110 Patch from Bean <bean123ch@gmail.com>:
27111 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
27112 `size'.
27113
4bc72aa9 271142007-12-21 Bean <bean123ch@gmail.com>
27115
27116 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
27117 (ntfscomp_mod_SOURCES): New variable.
27118 (ntfscomp_mod_CFLAGS): Likewise.
27119 (ntfscomp_mod_LDFLAGS): Likewise.
27120
27121 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
27122 (grub_probe_SOURCES): Likewise.
27123 (grub_emu_SOURCES): Likewise.
27124
27125 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27126 (grub_emu_SOURCES): Likewise.
27127
27128 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27129 (grub_emu_SOURCES): Likewise.
27130
27131 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27132 (grub_emu_SOURCES): Likewise.
27133
27134 * fs/ntfs.c (grub_ntfscomp_func): New variable.
27135 (read_run_list): Renamed to grub_ntfs_read_run_list.
27136 (decomp_nextvcn): Moved to ntfscomp.c.
27137 (decomp_getch): Likewise.
27138 (decomp_get16): Likewise.
27139 (decomp_block): Likewise.
27140 (read_block): Likewise.
27141 (read_data): Partially moved to ntfscomp.c.
27142 (fixup): Change unsigned to grub_uint16_t.
27143 (read_mft): Change unsigned long to grub_uint32_t.
27144 (read_attr): Likewise.
27145 (read_data): Likewise.
27146 (read_run_data): Likewise.
27147 (read_run_list): Likewise.
27148 (read_mft): Likewise.
27149
27150 * fs/ntfscomp.c: New file.
27151
27152 * include/grub/ntfs.h: New file.
27153
af680a87 271542007-12-16 Robert Millan <rmh@aybabtu.com>
27155
27156 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
27157 IDE disk check, since Linux is known to support 20 IDE disks.
27158 Reported by Colin Watson.
27159
84be7599 271602007-12-15 Bean <bean123ch@gmail.com>
27161
27162 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
27163 (lnxboot_img_SOURCES): New variable.
27164 (lnxboot_img_ASFLAGS): Likewise.
27165 (lnxboot_img_LDFLAGS): Likewise.
27166
27167 * boot/i386/pc/lnxboot.S: New file.
27168
6af9db01 271692007-11-24 Pavel Roskin <proski@gnu.org>
27170
27171 * configure.ac: Test if '--build-id=none' is supported by the
27172 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
27173 objcopy to generate incorrect binary files (binutils
27174 2.17.50.0.18-1 as shipped by Fedora 8).
27175 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
27176 linking, so that build ID doesn't break the test.
27177
7361cfe6 271782007-11-24 Pavel Roskin <proski@gnu.org>
27179
27180 * include/grub/i386/time.h: use "void" in the argument list
27181 of grub_cpu_idle().
27182 * include/grub/powerpc/time.h: Likewise.
27183 * include/grub/sparc64/time.h: Likewise.
27184
1593e10c 271852007-11-18 Christian Franke <franke@computer.org>
27186
27187 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
27188 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
27189 This fixes the problem that function keys did not work in grub-emu.
27190
3b8db1a8 271912007-11-18 Christian Franke <franke@computer.org>
27192
27193 * disk/host.c (grub_host_open): Remove attribute unused from
27194 name parameter. Add check for "host". This fixes the problem
27195 that grub-emu does not find partitions.
27196
2e29408d 271972007-11-18 Christian Franke <franke@computer.org>
27198
27199 * util/hostfs.c (is_dir): New function.
27200 (grub_hostfs_dir): Handle missing dirent.d_type case.
27201 (grub_hostfs_read): Add missing fseek().
27202 (grub_hostfs_label): Clear label pointer. This fixes a crash
27203 of grub-emu on "ls (host)".
27204
398cd047 272052007-11-18 Christian Franke <franke@computer.org>
27206
27207 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
27208 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
27209 to 64 bit boundary by default.
27210
c405c391 272112007-11-18 Bean <bean123ch@gmail.com>
27212
27213 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
27214 (hexdump_mod_SOURCES): New variable.
27215 (hexdump_mod_CFLAGS): Likewise.
27216 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 27217
c405c391 27218 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27219
27220 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27221
27222 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27223
27224 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27225
27226 * include/grub/hexdump.h: New file.
27227
27228 * commands/hexdump.c: New file.
27229
5cced7fd 272302007-11-10 Robert Millan <rmh@aybabtu.com>
27231
27232 * commands/i386/pc/play.c (beep_off): Switch order of arguments
27233 in grub_outb() calls.
27234 (beep_on): Likewise.
27235
8b714eb0 272362007-11-10 Christian Franke <franke@computer.org>
27237
27238 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
27239 (grub_menu_run): Likewise.
27240
ce0f1839 272412007-11-10 Robert Millan <rmh@aybabtu.com>
27242
27243 * include/grub/i386/efi/machine.h: New file.
27244 * include/grub/i386/linuxbios/machine.h: Likewise.
27245 * include/grub/i386/pc/machine.h: Likewise.
27246 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27247 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27248
27249 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
27250 (serial_hw_io_addr): New variable.
27251 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
27252 instead of `(unsigned short *) 0x400'.
27253
270c237d 272542007-11-10 Bean <bean123ch@gmail.com>
27255
27256 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
27257
a87783bf 272582007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27259
27260 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
27261 (vga_mod_SOURCES): Added.
27262 (vga_mod_CFLAGS): Likewise.
27263 (vga_mod_LDFLAGS): Likewise.
27264
27265 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
27266 grub_outb() calls.
27267 (set_map_mask): Likewise.
27268 (set_read_map): Likewise.
27269 (set_read_address): Likewise.
27270 (vga_font): Removed variable.
27271 (get_vga_glyph): Removed function.
27272 (invalidate_char): Likewise.
27273 (write_char): Changed to use grub_font_get_glyph() for font
27274 information.
27275 (grub_vga_putchar): Likewise.
27276 (grub_vga_getcharwidth): Likewise.
27277
6433b448 272782007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27279
27280 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
27281 flags.
27282 (pxeboot_img_LDFLAGS): Likewise.
27283 (diskboot_img_LDFLAGS): Likewise.
27284 (kernel_img_LDFLAGS): Likewise.
27285
49178511 272862007-11-06 Robert Millan <rmh@aybabtu.com>
27287
27288 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
27289 in grub_outb() calls.
27290 (serial_hw_init): Likewise.
27291
53b052de 272922007-11-05 Robert Millan <rmh@aybabtu.com>
27293
27294 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
27295 spaces. Skip non-regular files.
27296
5ab33bba 272972007-11-05 Robert Millan <rmh@aybabtu.com>
27298
27299 * kern/disk.c (grub_disk_firmware_fini)
27300 (grub_disk_firmware_is_tainted): New variables.
27301
27302 * include/grub/disk.h (grub_disk_firmware_fini)
27303 (grub_disk_firmware_is_tainted): Likewise.
27304
27305 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
27306 (grub_disk_biosdisk_fini): ... to here.
27307 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
27308 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
27309 is set. Register grub_disk_biosdisk_fini() in
27310 `grub_disk_firmware_fini'.
27311
27312 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
27313 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
27314 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
27315 to finish existing firmware disk interface.
27316
27317 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
27318 (ata_mod_SOURCES): New variable.
27319 (ata_mod_CFLAGS): Likewise.
27320 (ata_mod_LDFLAGS): Likewise.
27321
0149ab7c 273222007-11-05 Robert Millan <rmh@aybabtu.com>
27323
27324 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
27325 (grub_ata_wait): Reimplement using grub_millisleep().
27326
27327 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
27328 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
27329
be7ac41e 273302007-11-03 Marco Gerards <marco@gnu.org>
27331
27332 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
27333 (CRTC_ADDR_PORT): New macro.
27334 (CRTC_DATA_PORT): Likewise.
27335 (CRTC_CURSOR): Likewise.
27336 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27337 (CRTC_CURSOR_ADDR_LOW): Likewise.
27338 (update_cursor): New function.
27339 (grub_console_real_putchar): Call `update_cursor'.
27340 (grub_console_gotoxy): Likewise.
27341 (grub_console_cls): Set the default color when clearing the
27342 screen.
27343 (grub_console_setcursor): Implemented.
27344
bb06ab2e 273452007-11-03 Marco Gerards <marco@gnu.org>
27346
27347 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
27348 become activate.
27349 (grub_ata_pio_write): Likewise.
27350
27351 (grub_atapi_identify): Wait after issuing an ATA command.
27352 (grub_atapi_packet): Likewise.
27353 (grub_ata_identify): Likewise.
27354 (grub_ata_readwrite): Likewise.
27355
cf8f780b 273562007-11-03 Marco Gerards <marco@gnu.org>
27357
27358 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
27359 (grub_ata_pio_write): Likewise.
27360 (grub_ata_readwrite): Use `grub_error', instead of
27361 returning `grub_errno'.
27362
ed649e54 273632007-11-03 Marco Gerards <marco@gnu.org>
27364
27365 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
27366 grub_ata_pio_write once for every single sector, instead of for
27367 multiple sectors.
27368
ca25d8f0 273692007-10-31 Robert Millan <rmh@aybabtu.com>
27370
27371 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
27372
27373 * conf/i386-linuxbios.rmk: New file.
27374
27375 * kern/i386/pc/hardware.c: Likewise.
27376 * term/i386/pc/at_keyboard.c: Likewise.
27377 * term/i386/pc/vga_text.c: Likewise.
27378
27379 * include/grub/i386/linuxbios/boot.h: Likewise.
27380 * include/grub/i386/linuxbios/console.h: Likewise.
27381 * include/grub/i386/linuxbios/init.h: Likewise.
27382 * include/grub/i386/linuxbios/kernel.h: Likewise.
27383 * include/grub/i386/linuxbios/loader.h: Likewise.
27384 * include/grub/i386/linuxbios/memory.h: Likewise.
27385 * include/grub/i386/linuxbios/serial.h: Likewise.
27386 * include/grub/i386/linuxbios/time.h: Likewise.
27387
27388 * kern/i386/linuxbios/init.c: Likewise.
27389 * kern/i386/linuxbios/startup.S: Likewise.
27390 * kern/i386/linuxbios/table.c: Likewise.
27391
e911ecc1 273922007-10-31 Marco Gerards <marco@gnu.org>
27393
27394 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
27395 (ata_mod_SOURCES): New variable.
27396 (ata_mod_CFLAGS): Likewise.
27397 (ata_mod_LDFLAGS): Likewise.
27398
27399 * disk/ata.c: New file.
27400
27401 * include/grub/disk.h (grub_disk_dev_id): Add
27402 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 27403
7f66d0e0 274042007-10-31 Robert Millan <rmh@aybabtu.com>
27405
27406 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
27407 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
27408
27409 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
27410 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
27411
27412 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
27413 `<grub/types.h>'.
27414
27415 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
27416
5cd7dd46 274172007-10-27 Robert Millan <rmh@aybabtu.com>
27418
3236ca65 27419 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 27420
2ebfc90f 274212007-10-22 Robert Millan <rmh@aybabtu.com>
27422
27423 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
27424 `"../realmode.S"'.
27425 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
27426
73fcb0f3 274272007-10-22 Robert Millan <rmh@aybabtu.com>
27428
27429 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
27430 (pkgdata_MODULES): Add `biosdisk.mod'.
27431 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
27432 variables.
27433
27434 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
27435 (grub_biosdisk_init): Replace with ...
27436 (GRUB_MOD_INIT(biosdisk)): ... this.
27437 (grub_biosdisk_fini): Replace with ...
27438 (GRUB_MOD_FINI(biosdisk)): ... this.
27439
27440 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
27441 (grub_machine_init): Remove call to grub_biosdisk_init().
27442 (grub_machine_fini): Remove call to grub_machine_fini().
27443
27444 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
27445
3381d274 274462007-10-22 Robert Millan <rmh@aybabtu.com>
27447
27448 * include/grub/time.h: New file.
27449 * include/grub/i386/time.h: Likewise.
27450 * include/grub/powerpc/time.h: Likewise.
27451 * include/grub/sparc64/time.h: Likewise.
27452
27453 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
27454 instances to ...
27455 (KERNEL_MACHINE_TIME_HEADER): ... this.
27456 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27457 instances to ...
27458 (KERNEL_MACHINE_TIME_HEADER): ... this.
27459 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27460 instances to ...
27461 (KERNEL_MACHINE_TIME_HEADER): ... this.
27462
27463 * kern/i386/efi/init.c: Include `<grub/time.h>'.
27464 (grub_millisleep): New function.
27465 * kern/i386/pc/init.c: Include `<grub/time.h>'.
27466 (grub_millisleep): New function.
27467 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
27468 Remove `grub/machine/time.h' include.
27469 (grub_millisleep): New function.
27470 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
27471 Remove `grub/machine/time.h' include.
27472 (grub_millisleep): New function.
27473
27474 * include/grub/misc.h (grub_div_roundup): New function.
27475
27476 * kern/misc.c: Include `<grub/time.h>'.
27477 (grub_millisleep_generic): New function.
27478
27479 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
27480 Add `time.h'.
27481 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
27482 Add `time.h'.
27483 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
27484 `machine/time.h'. Add `time.h'.
27485 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27486
a39a0312 274872007-10-21 Robert Millan <rmh@aybabtu.com>
27488
27489 * include/grub/misc.h (grub_max): New function.
27490
2aad70e2 274912007-10-21 Robert Millan <rmh@aybabtu.com>
27492
27493 * util/misc.c (grub_util_info): Call fflush() before returning.
27494
54b71c4b 274952007-10-20 Robert Millan <rmh@aybabtu.com>
27496
27497 * genmk.rb (Image): Copy `extra_flags' from here ...
27498 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
27499
27500 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
27501 to `argc' and `args' arguments.
27502
a979f513 275032007-10-17 Robert Millan <rmh@aybabtu.com>
27504
27505 * kern/i386/loader.S: New file.
27506
27507 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
27508 * kern/i386/loader.S (grub_linux_prot_size)... to here.
27509 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
27510 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
27511 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
27512 * kern/i386/loader.S (grub_linux_real_addr)... to here.
27513 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
27514 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
27515 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
27516 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
27517 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
27518 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
27519 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
27520 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
27521
27522 * kern/i386/realmode.S: New file.
27523
27524 * kern/i386/pc/startup.S (protstack): Moved from here ...
27525 * kern/i386/realmode.S (protstack)... to here.
27526 * kern/i386/pc/startup.S (gdt): Moved from here ...
27527 * kern/i386/realmode.S (gdt)... to here.
27528 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
27529 * kern/i386/realmode.S (prot_to_real)... to here.
27530
27531 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
27532 `kern/i386/realmode.S'.
27533
825fc8fd 275342007-10-17 Robert Millan <rmh@aybabtu.com>
27535
27536 * include/grub/i386/loader.h: New file.
27537
27538 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
27539 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27540 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27541 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27542 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
27543 * include/grub/i386/loader.h (grub_linux_prot_size)
27544 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27545 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27546 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27547 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
27548
27549 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
27550
e179b2f4 275512007-10-15 Robert Millan <rmh@aybabtu.com>
27552
27553 * normal/misc.c (grub_normal_print_device_info): Do not probe for
27554 filesystem when dev->disk is unset.
27555 Do probe for filesystem even when dev->disk->has_partitions is set.
27556 In case a filesystem is found, always report it.
27557 In case it isn't, if dev->disk->has_partitions is set, report that
27558 a partition table was found instead of reporting that no filesystem
27559 could be identified.
27560
5db82af6 275612007-10-12 Robert Millan <rmh@aybabtu.com>
27562
27563 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
27564 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
27565
68f6ac74 27566 * include/grub/types.h (grub_host_to_target16): New macro.
27567 (grub_host_to_target32): Likewise.
27568 (grub_host_to_target64): Likewise.
27569 (grub_target_to_host16): Likewise.
27570 (grub_target_to_host32): Likewise.
27571 (grub_target_to_host64): Likewise.
5db82af6 27572
27573 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27574 Renamed from to ...
27575 (GRUB_MOD_ALIGN): ...this. Update all users.
27576
68f6ac74 27577 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
27578 grub_host_to_target32.
27579 Replace grub_be_to_cpu32 with grub_target_to_host32.
27580 (load_modules): Likewise.
27581 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
27582 Replace grub_be_to_cpu32 with grub_target_to_host32.
27583 Replace grub_cpu_to_be16 with grub_host_to_target16.
27584 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 27585
3cf497cc 275862007-10-12 Robert Millan <rmh@aybabtu.com>
27587
27588 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
27589 * util/elf/grub-mkimage.c: ... here.
27590
27591 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
27592 `util/powerpc/ieee1275/grub-mkimage.c'.
27593
c8cc3692 275942007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 27595
c8cc3692 27596 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
27597 and make it easier to figure out.
27598 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
27599 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
27600 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
27601 leave us with less than HEAP_MIN_SIZE total heap.
27602 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 27603
5c58b791 276042007-10-03 Robert Millan <rmh@aybabtu.com>
27605
27606 * include/grub/i386/io.h: New file.
27607 * commands/i386/pc/play.c (inb): Removed.
27608 (outb): Removed.
27609 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27610 with grub_outb().
afcd2ef8 27611 * term/i386/pc/serial.c (inb): Removed.
27612 (outb): Removed.
27613 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27614 with grub_outb().
27615 * term/i386/pc/vga.c (inb): Removed.
27616 (outb): Removed.
27617 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27618 with grub_outb().
5c58b791 27619
1a477ed6 276202007-10-02 Robert Millan <rmh@aybabtu.com>
27621
27622 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
27623 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27624 Reported by Marcin Kurek.
27625
6b5d80fa 276262007-09-07 Robert Millan <rmh@aybabtu.com>
27627
27628 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
27629 SmartFirmware version updates (as released by Sven Luther), and avoid
27630 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
27631 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
27632 known broken.
27633
5618afbf 276342007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27635
27636 From Hitoshi Ozeki:
27637 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
27638 when merging two regions.
27639
6139dcd9 276402007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27641
508e39ee 27642 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
27643 * normal/completion.c (grub_normal_do_completion): Likewise.
27644 Reported by Hitoshi Ozeki.
27645
276462007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 27647
6139dcd9 27648 Do not use devices at boot in chainloading.
f19dbdb7 27649
6139dcd9 27650 * loader/i386/pc/chainloader.c (boot_drive): New variable.
27651 (boot_part_addr): Likewise.
27652 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
27653 with BOOT_DRIVE and BOOT_PART_ADDR.
27654 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
27655 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
27656
38da6516 276572007-08-29 Robert Millan <rmh@aybabtu.com>
27658
27659 Patch from Simon Peter <dn.tlp@gmx.net>:
27660 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
27661 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
27662 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
27663 util/i386/pc/grub-setup.c_DEPENDENCIES.
27664 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
27665 util/grub-probe.c_DEPENDENCIES.
27666 * conf/powerpc-ieee1275.rmk: Likewise.
27667
29d0928c 276682007-08-28 Robert Millan <rmh@aybabtu.com>
27669
27670 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
27671 to tell grub-mkdevicemap how to name devices.
27672 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
27673 feature).
27674
27675 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
27676 util/i386/get_disk_name.c.
27677 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
27678 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
27679 util/ieee1275/get_disk_name.c.
27680
27681 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
27682
27683 * DISTLIST: Add util/i386/get_disk_name.c and
27684 util/ieee1275/get_disk_name.c.
27685
27686 * util/grub-mkdevicemap.c: Replace device naming logic with
27687 grub_util_get_disk_name() calls.
27688
5a0d3cca 276892007-08-20 Robert Millan <rmh@aybabtu.com>
27690
27691 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
27692 (so that it works for both plural and singular quantities).
27693
8b72db2f 276942007-08-05 Robert Millan <rmh@aybabtu.com>
27695
27696 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
27697 so that [xz] isn't taken into account when determining order.
27698
352466bf 276992007-08-02 Marco Gerards <marco@gnu.org>
27700
27701 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
27702 `include/multiboot2.h', `include/grub/elfload.h',
27703 `include/multiboot.h', `include/grub/multiboot.h',
27704 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
27705 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
27706 `kern/elf.c', `loader/multiboot_loader.c',
27707 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
27708 `loader/i386/pc/multiboot2.c',
27709 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
27710 `util/i386/pc/grub-mkrescue.in'. Remove
27711 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
27712 `include/grub/i386/pc/util/biosdisk.h' and
27713 `include/grub/powerpc/ieee1275/multiboot.h'.
27714
8f096014 277152007-08-02 Bean <bean123ch@gmail.com>
27716
27717 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
27718 (ntfs_mod_SOURCES): New variable.
27719 (ntfs_mod_CFLAGS): Likewise.
27720 (ntfs_mod_LDFLAGS): Likewise.
27721
27722 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
27723 (grub_probe_SOURCES): Likewise.
27724 (grub_emu_SOURCES): Likewise.
27725
27726 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27727 (grub_emu_SOURCES): Likewise.
27728
27729 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27730 (grub_emu_SOURCES): Likewise.
f19dbdb7 27731
8f096014 27732 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
27733
27734 * fs/ntfs.c: New file.
27735
9959f7db 277362007-08-02 Bean <bean123ch@gmail.com>
27737
27738 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
27739
27740 * file.h (grub_file): Likewise.
27741
27742 * fshelp.h (grub_fshelp_read_file): Likewise.
27743
27744 * util/i386/pc/grub-setup.c (setup): Likewise.
27745 (save_first_sector): Likewise.
27746 (save_blocklists): Likewise.
f19dbdb7 27747
9959f7db 27748 * fs/affs.c (grub_affs_read_file): Likewise.
27749
27750 * fs/ext2.c (grub_ext2_read_file): Likewise.
27751
27752 * fs/fat.c (grub_fat_read_data): Likewise.
27753
27754 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
27755
27756 * fs/hfs.c (grub_hfs_read_file): Likewise.
27757
27758 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27759
27760 * fs/jfs.c (grub_jfs_read_file): Likewise.
27761
27762 * fs/minix.c (grub_minix_read_file): Likewise.
27763
27764 * fs/sfs.c (grub_sfs_read_file): Likewise.
27765
27766 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 27767
9959f7db 27768 * fs/xfs.c (grub_xfs_read_file): Likewise.
27769
27770 * command/blocklist.c (read_blocklist): Likewise.
27771 (print_blocklist): Likewise.
27772
0a203f83 277732007-08-02 Marco Gerards <marco@gnu.org>
27774
27775 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
27776 `util/hostfs.c'.
27777
27778 * disk/host.c: New file.
27779
27780 * util/hostfs.c: Likewise.
27781
27782 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
27783 return `GRUB_ERR_BAD_FS'.
27784 * fs/sfs.c (grub_sfs_mount): Likewise.
27785 * fs/xfs.c (grub_xfs_mount): Likewise.
27786
27787 * include/grub/disk.h (enum grub_disk_dev_id): Add
27788 `GRUB_DISK_DEVICE_HOST_ID'.
27789
27790 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
27791
e5dfe777 277922007-07-24 Jerone Young <jerone@gmail.com>
27793
f19dbdb7 27794 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 27795 modules for compilation.
27796 * conf/powerpc-ieee1275.rmk: Likewise.
27797
27798 * include/multiboot.h: Move multiboot definitions to one file. Rename
27799 many definitions to not get grub specific.
27800 * include/multiboot2.h: Create header with multiboot 2 definitions.
27801 * include/grub/multiboot.h: Header for grub specific function
27802 prototypes and definitions.
27803 * include/grub/multiboot2.h: Likewise.
27804 * include/grub/multiboot_loader.h: Likewise.
27805 * include/grub/i386/pc/multiboot.h: Removed.
27806 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
27807
27808 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
27809 and 2 to allow for one multiboot and module commands.
27810 * loader/multiboot2.c: Add multiboot2 functionality.
27811 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
27812 and definition names.
27813 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
27814 2 functions.
27815 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
27816 ieee1275 specific multiboot2 code.
27817
27818 * kern/i386/pc/startup.S: Change headers and definition names for
27819 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
27820
daf0f0ba 278212007-07-22 Robert Millan <rmh@aybabtu.com>
27822
27823 * geninitheader.sh: Process file specified in first parameter rather
27824 than hardcoding grub_modules_init.lst.
fe6b695a 27825 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 27826 than hardcoding grub_modules_init.h.
27827
27828 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
27829 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
27830 grub_probe_init.[ch] and grub_setup_init.[ch].
27831
27832 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
27833 grub_modules_init.h with grub_emu_init.h.
27834 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
27835 grub_probe_init.[ch] files.
27836 * conf/i386-efi.rmk: Likewise.
27837 * conf/i386-pc.rmk: Likewise.
27838 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
27839 grub_setup_init.[ch] files.
27840
27841 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
27842 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
27843 to initialize modules rather than a list of hardcoded functions.
27844 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
27845 grub_init_all() to initialize modules rather than a list of hardcoded
27846 functions.
27847
54cdc1cc 278482007-07-22 Robert Millan <rmh@aybabtu.com>
27849
27850 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27851 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
27852
ad0686cc 278532007-07-22 Robert Millan <rmh@aybabtu.com>
27854
27855 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
27856 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
27857 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
27858 flag when running on SmartFirmware.
27859 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
27860 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
27861 was set.
27862
27863 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27864 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
27865 rather than decreasing it.
27866
27867 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
27868 there's not enough space to do it, fail in the same way as when it
27869 can't be done because there are no partitions.
27870
27871 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
27872 when nvsetenv failed.
27873
969c02ec 278742007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27875
27876 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
27877 because this rule is automatically generated.
27878 (grub-mkrescue): Removed for the same reason as above.
27879
5a79f472 278802007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27881
27882 Migrate to GNU General Public License Version 3.
f19dbdb7 27883
5a79f472 27884 * COPYING: Replaced with the plain text version of GPLv3.
27885
27886 * config.guess: Updated from gnulib.
27887 * config.sub: Likewise.
27888
27889 * geninit.sh: Output a GPLv3 copyright notice.
27890 * geninitheader.sh: Likewise.
27891 * genmodsrc.sh: Likewise.
27892 * gensymlist.sh.in: Likewise.
27893
27894 * boot/i386/pc/boot.S: Upgraded to GPLv3.
27895 * boot/i386/pc/diskboot.S: Likewise.
27896 * boot/i386/pc/pxeboot.S: Likewise.
27897 * commands/blocklist.c: Likewise.
27898 * commands/boot.c: Likewise.
27899 * commands/cat.c: Likewise.
27900 * commands/cmp.c: Likewise.
27901 * commands/configfile.c: Likewise.
27902 * commands/echo.c: Likewise.
27903 * commands/help.c: Likewise.
27904 * commands/ls.c: Likewise.
27905 * commands/search.c: Likewise.
27906 * commands/terminal.c: Likewise.
27907 * commands/test.c: Likewise.
27908 * commands/videotest.c: Likewise.
27909 * commands/i386/cpuid.c: Likewise.
27910 * commands/i386/pc/halt.c: Likewise.
27911 * commands/i386/pc/play.c: Likewise.
27912 * commands/i386/pc/reboot.c: Likewise.
27913 * commands/i386/pc/vbeinfo.c: Likewise.
27914 * commands/i386/pc/vbetest.c: Likewise.
27915 * commands/ieee1275/halt.c: Likewise.
27916 * commands/ieee1275/reboot.c: Likewise.
27917 * commands/ieee1275/suspend.c: Likewise.
27918 * disk/loopback.c: Likewise.
27919 * disk/lvm.c: Likewise.
27920 * disk/raid.c: Likewise.
27921 * disk/efi/efidisk.c: Likewise.
27922 * disk/i386/pc/biosdisk.c: Likewise.
27923 * disk/ieee1275/ofdisk.c: Likewise.
27924 * font/manager.c: Likewise.
27925 * fs/affs.c: Likewise.
27926 * fs/ext2.c: Likewise.
27927 * fs/fat.c: Likewise.
27928 * fs/fshelp.c: Likewise.
27929 * fs/hfs.c: Likewise.
27930 * fs/hfsplus.c: Likewise.
27931 * fs/iso9660.c: Likewise.
27932 * fs/jfs.c: Likewise.
27933 * fs/minix.c: Likewise.
27934 * fs/sfs.c: Likewise.
27935 * fs/ufs.c: Likewise.
27936 * fs/xfs.c: Likewise.
27937 * hello/hello.c: Likewise.
27938 * include/grub/acorn_filecore.h: Likewise.
27939 * include/grub/arg.h: Likewise.
27940 * include/grub/bitmap.h: Likewise.
27941 * include/grub/boot.h: Likewise.
27942 * include/grub/cache.h: Likewise.
27943 * include/grub/device.h: Likewise.
27944 * include/grub/disk.h: Likewise.
27945 * include/grub/dl.h: Likewise.
27946 * include/grub/elfload.h: Likewise.
27947 * include/grub/env.h: Likewise.
27948 * include/grub/err.h: Likewise.
27949 * include/grub/file.h: Likewise.
27950 * include/grub/font.h: Likewise.
27951 * include/grub/fs.h: Likewise.
27952 * include/grub/fshelp.h: Likewise.
27953 * include/grub/gzio.h: Likewise.
27954 * include/grub/hfs.h: Likewise.
27955 * include/grub/kernel.h: Likewise.
27956 * include/grub/loader.h: Likewise.
27957 * include/grub/lvm.h: Likewise.
27958 * include/grub/misc.h: Likewise.
27959 * include/grub/mm.h: Likewise.
27960 * include/grub/net.h: Likewise.
27961 * include/grub/normal.h: Likewise.
27962 * include/grub/parser.h: Likewise.
27963 * include/grub/partition.h: Likewise.
27964 * include/grub/pc_partition.h: Likewise.
27965 * include/grub/raid.h: Likewise.
27966 * include/grub/rescue.h: Likewise.
27967 * include/grub/script.h: Likewise.
27968 * include/grub/setjmp.h: Likewise.
27969 * include/grub/symbol.h: Likewise.
27970 * include/grub/term.h: Likewise.
27971 * include/grub/terminfo.h: Likewise.
27972 * include/grub/tparm.h: Likewise.
27973 * include/grub/types.h: Likewise.
27974 * include/grub/video.h: Likewise.
27975 * include/grub/efi/api.h: Likewise.
27976 * include/grub/efi/chainloader.h: Likewise.
27977 * include/grub/efi/console.h: Likewise.
27978 * include/grub/efi/console_control.h: Likewise.
27979 * include/grub/efi/disk.h: Likewise.
27980 * include/grub/efi/efi.h: Likewise.
27981 * include/grub/efi/pe32.h: Likewise.
27982 * include/grub/efi/time.h: Likewise.
27983 * include/grub/i386/linux.h: Likewise.
27984 * include/grub/i386/setjmp.h: Likewise.
27985 * include/grub/i386/types.h: Likewise.
27986 * include/grub/i386/efi/kernel.h: Likewise.
27987 * include/grub/i386/efi/loader.h: Likewise.
27988 * include/grub/i386/efi/time.h: Likewise.
27989 * include/grub/i386/pc/biosdisk.h: Likewise.
27990 * include/grub/i386/pc/boot.h: Likewise.
27991 * include/grub/i386/pc/chainloader.h: Likewise.
27992 * include/grub/i386/pc/console.h: Likewise.
27993 * include/grub/i386/pc/init.h: Likewise.
27994 * include/grub/i386/pc/kernel.h: Likewise.
27995 * include/grub/i386/pc/loader.h: Likewise.
27996 * include/grub/i386/pc/memory.h: Likewise.
27997 * include/grub/i386/pc/multiboot.h: Likewise.
27998 * include/grub/i386/pc/serial.h: Likewise.
27999 * include/grub/i386/pc/time.h: Likewise.
28000 * include/grub/i386/pc/vbe.h: Likewise.
28001 * include/grub/i386/pc/vbeblit.h: Likewise.
28002 * include/grub/i386/pc/vbefill.h: Likewise.
28003 * include/grub/i386/pc/vbeutil.h: Likewise.
28004 * include/grub/i386/pc/vga.h: Likewise.
28005 * include/grub/ieee1275/ieee1275.h: Likewise.
28006 * include/grub/ieee1275/ofdisk.h: Likewise.
28007 * include/grub/powerpc/libgcc.h: Likewise.
28008 * include/grub/powerpc/setjmp.h: Likewise.
28009 * include/grub/powerpc/types.h: Likewise.
28010 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
28011 * include/grub/powerpc/ieee1275/console.h: Likewise.
28012 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
28013 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28014 * include/grub/powerpc/ieee1275/loader.h: Likewise.
28015 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
28016 * include/grub/powerpc/ieee1275/time.h: Likewise.
28017 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
28018 * include/grub/sparc64/libgcc.h: Likewise.
28019 * include/grub/sparc64/setjmp.h: Likewise.
28020 * include/grub/sparc64/types.h: Likewise.
28021 * include/grub/sparc64/ieee1275/console.h: Likewise.
28022 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28023 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28024 * include/grub/sparc64/ieee1275/time.h: Likewise.
28025 * include/grub/util/biosdisk.h: Likewise.
28026 * include/grub/util/getroot.h: Likewise.
28027 * include/grub/util/lvm.h: Likewise.
28028 * include/grub/util/misc.h: Likewise.
28029 * include/grub/util/raid.h: Likewise.
28030 * include/grub/util/resolve.h: Likewise.
28031 * io/gzio.c: Likewise.
28032 * kern/device.c: Likewise.
28033 * kern/disk.c: Likewise.
28034 * kern/dl.c: Likewise.
28035 * kern/elf.c: Likewise.
28036 * kern/env.c: Likewise.
28037 * kern/err.c: Likewise.
28038 * kern/file.c: Likewise.
28039 * kern/fs.c: Likewise.
28040 * kern/loader.c: Likewise.
28041 * kern/main.c: Likewise.
28042 * kern/misc.c: Likewise.
28043 * kern/mm.c: Likewise.
28044 * kern/parser.c: Likewise.
28045 * kern/partition.c: Likewise.
28046 * kern/rescue.c: Likewise.
28047 * kern/term.c: Likewise.
28048 * kern/efi/efi.c: Likewise.
28049 * kern/efi/init.c: Likewise.
28050 * kern/efi/mm.c: Likewise.
28051 * kern/i386/dl.c: Likewise.
28052 * kern/i386/efi/init.c: Likewise.
28053 * kern/i386/efi/startup.S: Likewise.
28054 * kern/i386/pc/init.c: Likewise.
28055 * kern/i386/pc/lzo1x.S: Likewise.
28056 * kern/i386/pc/startup.S: Likewise.
28057 * kern/ieee1275/ieee1275.c: Likewise.
28058 * kern/powerpc/cache.S: Likewise.
28059 * kern/powerpc/dl.c: Likewise.
28060 * kern/powerpc/ieee1275/cmain.c: Likewise.
28061 * kern/powerpc/ieee1275/crt0.S: Likewise.
28062 * kern/powerpc/ieee1275/init.c: Likewise.
28063 * kern/powerpc/ieee1275/openfw.c: Likewise.
28064 * kern/sparc64/cache.S: Likewise.
28065 * kern/sparc64/dl.c: Likewise.
28066 * kern/sparc64/ieee1275/init.c: Likewise.
28067 * kern/sparc64/ieee1275/openfw.c: Likewise.
28068 * loader/efi/chainloader.c: Likewise.
28069 * loader/efi/chainloader_normal.c: Likewise.
28070 * loader/i386/efi/linux.c: Likewise.
28071 * loader/i386/efi/linux_normal.c: Likewise.
28072 * loader/i386/pc/chainloader.c: Likewise.
28073 * loader/i386/pc/chainloader_normal.c: Likewise.
28074 * loader/i386/pc/linux.c: Likewise.
28075 * loader/i386/pc/linux_normal.c: Likewise.
28076 * loader/i386/pc/multiboot.c: Likewise.
28077 * loader/i386/pc/multiboot_normal.c: Likewise.
28078 * loader/powerpc/ieee1275/linux.c: Likewise.
28079 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28080 * normal/arg.c: Likewise.
28081 * normal/cmdline.c: Likewise.
28082 * normal/command.c: Likewise.
28083 * normal/completion.c: Likewise.
28084 * normal/execute.c: Likewise.
28085 * normal/function.c: Likewise.
28086 * normal/lexer.c: Likewise.
28087 * normal/main.c: Likewise.
28088 * normal/menu.c: Likewise.
28089 * normal/menu_entry.c: Likewise.
28090 * normal/misc.c: Likewise.
28091 * normal/parser.y: Likewise.
28092 * normal/script.c: Likewise.
28093 * normal/i386/setjmp.S: Likewise.
28094 * normal/powerpc/setjmp.S: Likewise.
28095 * normal/sparc64/setjmp.S: Likewise.
28096 * partmap/acorn.c: Likewise.
28097 * partmap/amiga.c: Likewise.
28098 * partmap/apple.c: Likewise.
28099 * partmap/gpt.c: Likewise.
28100 * partmap/pc.c: Likewise.
28101 * partmap/sun.c: Likewise.
28102 * term/gfxterm.c: Likewise.
28103 * term/terminfo.c: Likewise.
28104 * term/efi/console.c: Likewise.
28105 * term/i386/pc/console.c: Likewise.
28106 * term/i386/pc/serial.c: Likewise.
28107 * term/i386/pc/vesafb.c: Likewise.
28108 * term/i386/pc/vga.c: Likewise.
28109 * term/ieee1275/ofconsole.c: Likewise.
28110 * util/biosdisk.c: Likewise.
28111 * util/console.c: Likewise.
28112 * util/genmoddep.c: Likewise.
28113 * util/getroot.c: Likewise.
28114 * util/grub-emu.c: Likewise.
28115 * util/grub-mkdevicemap.c: Likewise.
28116 * util/grub-probe.c: Likewise.
28117 * util/lvm.c: Likewise.
28118 * util/misc.c: Likewise.
28119 * util/raid.c: Likewise.
28120 * util/resolve.c: Likewise.
28121 * util/update-grub.in: Likewise.
28122 * util/update-grub_lib.in: Likewise.
28123 * util/grub.d/00_header.in: Likewise.
28124 * util/grub.d/10_hurd.in: Likewise.
28125 * util/grub.d/10_linux.in: Likewise.
28126 * util/i386/efi/grub-install.in: Likewise.
28127 * util/i386/efi/grub-mkimage.c: Likewise.
28128 * util/i386/pc/grub-install.in: Likewise.
28129 * util/i386/pc/grub-mkimage.c: Likewise.
28130 * util/i386/pc/grub-mkrescue.in: Likewise.
28131 * util/i386/pc/grub-setup.c: Likewise.
28132 * util/i386/pc/misc.c: Likewise.
28133 * util/powerpc/ieee1275/grub-install.in: Likewise.
28134 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
28135 * util/powerpc/ieee1275/misc.c: Likewise.
28136 * video/bitmap.c: Likewise.
28137 * video/video.c: Likewise.
28138 * video/i386/pc/vbe.c: Likewise.
28139 * video/i386/pc/vbeblit.c: Likewise.
28140 * video/i386/pc/vbefill.c: Likewise.
28141 * video/i386/pc/vbeutil.c: Likewise.
28142 * video/readers/tga.c: Likewise.
28143
3572d015 281442007-07-02 Robert Millan <rmh@aybabtu.com>
28145
28146 * conf/i386-efi.rmk: Replace obsolete reference to
28147 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
28148 with util/getroot.c.
28149 * conf/powerpc-ieee1275.rmk: Likewise.
28150 * conf/sparc64-ieee1275.rmk: Likewise.
28151
28152 * util/grub-emu.c (main): Fix unchecked pointer handling.
28153
2c2a681b 281542007-07-02 Robert Millan <rmh@aybabtu.com>
28155
28156 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
28157 invocation to fail, in order to support partition-less media.
28158
28159 * util/i386/pc/grub-install.in: Likewise.
28160
28161 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
28162 which fs or partmap modules are needed (akin to its sister scripts).
28163
28164 Also use grub-probe to get rid of unportable /proc/mounts check.
28165
28166 Print the same informational message that the other scripts do, before
fe6b695a 28167 exiting.
2c2a681b 28168
6193defe 281692007-06-23 Robert Millan <rmh@aybabtu.com>
28170
fe6b695a 28171 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 28172 a font file can be found and, if so, echo the GRUB path to it.
28173
28174 * util/update-grub.in: Handle multiple terminals depending on user
28175 input, platform availability and font file presence. Propagate
28176 variables of our findings to /etc/grub.d/ children.
28177
28178 * util/grub.d/00_header.in: Handle multiple terminals, based on
28179 environment setup by update-grub.
28180
eface1dc 281812007-06-23 Robert Millan <rmh@aybabtu.com>
28182
ba50d28f 28183 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 28184
bf697e28 281852007-06-21 Robert Millan <rmh@aybabtu.com>
28186
28187 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
28188 indicate end of data section in kernel image.
28189 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
28190 GRUB_KERNEL_MACHINE_DATA_END.
28191
28192 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
28193 space for it.
28194 * kern/i386/efi/startup.S: Likewise.
28195
28196 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
28197 during image generation. Implement --prefix option to override this
28198 patch.
28199 * util/i386/efi/grub-mkimage.c: Likewise.
28200
28201 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
28202 code to make path relative to its root into a separate function.
28203
28204 * util/i386/pc/grub-install.in: Use newly provided
28205 make_system_path_relative_to_its_root() to convert ${grubdir}, then
28206 pass the result to grub-install --prefix.
28207
baa574b4 282082007-06-13 Robert Millan <rmh@aybabtu.com>
28209
28210 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
28211 DEFAULT_DEVICE_MAP.
28212 * util/grub-emu.c: Use above definitions from misc.h instead of
28213 defining them.
28214 * util/grub-mkdevicemap.c: Likewise.
28215 * util/i386/pc/grub-setup.c: Likewise.
28216 * util/grub-probe.c: Likewise.
28217 (probe): Abort with grub_util_error() when either
28218 grub_guess_root_device or grub_util_get_grub_dev fails.
28219
0215dcbf 282202007-06-12 Robert Millan <rmh@aybabtu.com>
28221
28222 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
28223 "pager" assignment.
28224 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
28225 "pcdata".
28226 * util/grub-probe.c (probe): Likewise for "drive_name".
28227
8af2ab7b 282282007-06-11 Robert Millan <rmh@aybabtu.com>
28229
28230 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
28231 not just the cdrom one.
28232
59d31694 282332007-06-11 Robert Millan <rmh@aybabtu.com>
28234
28235 * util/i386/pc/grub-mkrescue.in: Add "set -e".
28236 Add --pkglibdir=DIR option to override pkglibdir.
28237 Mention --image-type=TYPE in help output.
28238 Fix --grub-mkimage (it was a no-op).
fe6b695a 28239 Abort gracefully when no parameter is given.
59d31694 28240
7ee367e4 282412007-06-11 Robert Millan <rmh@aybabtu.com>
28242
28243 * util/i386/pc/grub-mkrescue.in: New file.
28244 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
28245 * Makefile.in: Handle bin_SCRIPTS.
28246
29b0ed46 282472007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
28248
28249 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
28250 list of video modes.
28251
c0f90770 282522007-06-06 Robert Millan <rmh@aybabtu.com>
28253
28254 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
28255 file doesn't exist, or if it is in a filesystem grub can't read.
28256
28257 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
28258 not abort if GRUB_DRIVE could not be defined. Rearrange generated
28259 header comment to fit in 80 columns when the variables are resolved.
28260
28261 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
28262 could be identified by update-grub. Remove redundant check for
fe6b695a 28263 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 28264 handles that).
28265
fb36dc26 282662007-06-04 Robert Millan <rmh@aybabtu.com>
28267
28268 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
28269
28270 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
28271
28272 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
28273
0c68c93e 282742007-06-04 Robert Millan <rmh@aybabtu.com>
28275
28276 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
28277
28278 * include/grub/partition.h: Declare grub_apple_partition_map_init and
28279 grub_apple_partition_map_fini.
28280
28281 * util/biosdisk.c
28282 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
28283 to access >2 TiB disks).
28284
28285 Print disk->total_sectors with %llu instead of %lu, since this
28286 variable is always 64-bit (prevents wrong disk size from being displayed
28287 on either >2 TiB disk or big-endian CPU).
28288
28289 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
28290 into a generic case that supports all (sane) partition maps.
28291
28292 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
28293 breaks big-endian.
28294
28295 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
28296 and grub_apple_partition_map_fini() after that.
28297
0f23eb74 282982007-06-01 Robert Millan <rmh@aybabtu.com>
28299
28300 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
28301
28302 * util/grub.d/00_header.in: Only enable gfxterm when
28303 convert_system_path_to_grub_path() succeeds.
28304
42c71976 283052007-05-20 Robert Millan <rmh@aybabtu.com>
28306
28307 * util/update-grub_lib.in: New file.
28308 * DISTLIST: Add update-grub_lib.in.
28309 * conf/common.rmk: Generate update-grub_lib and install it in
28310 $(lib_DATA).
28311 * Makefile.in: Add install routine for $(lib_DATA).
28312
28313 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
28314 function provided by update-grub_lib to support arbitrary paths of
28315 unifont.pff.
28316 * util/update-grub.in: Use convert_system_path_to_grub_path() to
28317 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
28318
5beb2291 283192007-05-19 Robert Millan <rmh@aybabtu.com>
28320
28321 * commands/i386/cpuid.c: New module.
28322 * DISTLIST: Add it.
28323 * conf/i386-efi.rmk: Enable cpuid.mod.
28324 * conf/i386-pc.rmk: Likewise.
28325
7262eca1 283262007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28327
28328 * kern/disk.c (grub_disk_read): Check return value of
28329 grub_realloc().
28330
260ba823 283312007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28332
28333 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
28334 arrays.
28335 * disk/raid.c (grub_raid_open): Likewise.
28336
1ecb6cf2 283372007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28338
28339 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
28340 stack instead of on the heap.
28341
28342 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
28343 before doing a read on it.
28344
28345 * configure.ac: Only use -fno-stack-protector for the target
28346 environment.
f19dbdb7 28347
21c8cbb1 283482007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28349
28350 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
28351 __attribute_ ((unused)) to mode_type argument.
28352
28353 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 28354
21c8cbb1 28355 * kern/misc.c (memcmp): Fix prototype.
28356
28357 * include/grub/partition.h [GRUB_UTIL]
28358 (grub_gpt_partition_map_init): Add prototype.
28359 (grub_gpt_partition_map_fini): Likewise.
28360
28361 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
28362 at the right place.
28363
28364 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
28365 (grub_fat_read_data): Likewise.
28366 (grub_fat_find_dir): Likewise.
28367
28368 * font/manager.c (find_glyph): Make table a const.
28369 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 28370
849d55d3 283712007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
28372
28373 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
28374 code, first search for device in /dev/mapper, then in /dev.
28375 (grub_util_get_grub_dev): New function.
28376 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
28377 prototype.
28378 * util/grub-probe.c (probe): Remove check for RAID, call
28379 grub_util_get_grub_dev() instead of
28380 grub_util_biosdisk_get_grub_dev().
28381 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
28382 grub_util_biosdisk_get_grub_dev().
28383 * util/i386/pc/grub-setup.c (main): Likewise.
28384
8fff7c2f 283852007-05-16 Robert Millan <rmh@aybabtu.com>
28386
28387 * DISTLIST: Update for the latest changes.
28388 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
28389 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
28390 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
28391 grub/util/biosdisk.h.
28392 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
28393 grub/util/biosdisk.h.
28394
48e12b52 283952007-05-16 Robert Millan <rmh@aybabtu.com>
28396
28397 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
28398
46b9d128 283992007-05-16 Robert Millan <rmh@aybabtu.com>
28400
28401 * util/i386/efi/grub-install.in: New.
28402 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
28403 newly added grub-install.
28404 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
28405 include.
28406 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
28407 grub/util/biosdisk.h.
28408 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
28409 grub/util/biosdisk.h.
28410
2d1a40a9 284112007-05-16 Robert Millan <rmh@aybabtu.com>
28412
28413 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
28414 * include/grub/util/biosdisk.h: ... here.
28415 * util/i386/pc/biosdisk.c: Moved to ...
28416 * util/biosdisk.c: ... here.
28417 * util/i386/pc/getroot.c: Moved to ...
28418 * util/getroot.c: ... here.
28419 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
28420 * util/grub-mkdevicemap.c: ... here.
28421 * util/i386/pc/grub-probe.c: Moved to ...
28422 * util/grub-probe.c: ... here.
28423
9e26e3bc 284242007-05-15 Robert Millan <rmh@aybabtu.com>
28425
28426 * util/update-grub.in: Remove duplicated line in grub.cfg header
28427 message.
28428
57f96397 284292007-05-13 Robert Millan <rmh@aybabtu.com>
28430
28431 * util/update-grub.in: Fix a few assumptions about the devices holding
28432 /, /boot and /boot/grub being the same.
28433 * util/grub.d/00_header.in: Likewise.
28434 * util/grub.d/10_hurd.in: Likewise.
28435 * util/grub.d/10_linux.in: Likewise.
28436
28437 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
28438 patterns. Use that to define the `.old' suffix as older than `'.
28439
28440 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
28441
28442 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
28443 the grub.cfg header message.
28444
2e610d62 284452007-05-11 Robert Millan <rmh@aybabtu.com>
28446
28447 * util/update-grub.in: Create device.map if it doesn't already exist,
28448 before attempting to run grub-probe.
28449 Check for grub-probe and grub-mkdevicemap with the same code
28450 grub-install is using.
28451 Remove test mode.
28452
3f6a10ef 284532007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
28454
28455 * Makefile.in: Add the datarootdir autoconf variable.
28456
02e7b75e 284572007-05-09 Robert Millan <rmh@aybabtu.com>
28458
28459 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 28460 fail gracefully if dev->disk->partition == NULL.
02e7b75e 28461
75f396cc 284622007-05-07 Robert Millan <rmh@aybabtu.com>
28463
28464 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
28465 determine partition map module.
28466 * util/i386/pc/grub-install.in: Use this feature to decide which
28467 partition module to load, instead of hardcoding pc and gpt.
28468
da65cb36 284692007-05-07 Robert Millan <rmh@aybabtu.com>
28470
28471 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
28472 source directory differs from build directory.
28473
b57d6a91 284742007-05-05 Robert Millan <rmh@aybabtu.com>
28475
28476 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
28477 initialisation.
28478
509d00f1 284792007-05-05 Robert Millan <rmh@aybabtu.com>
28480
28481 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
28482
c48f23ef 284832007-05-05 Robert Millan <rmh@aybabtu.com>
28484
28485 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
28486 command-line arguments via ${GRUB_CMDLINE_LINUX}.
28487
20b97658 284882007-05-05 Robert Millan <rmh@aybabtu.com>
28489
28490 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
28491 (grub_probe_SOURCES): Likewise.
28492 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
28493 GPT and initialize dos_part and bsd_part accordingly.
28494 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
28495 install_bsd_part.
28496 (main): Activate gpt module for use during partition identification,
28497 and deactivate it afterwards.
28498 * util/i386/pc/grub-install.in: Add gpt module to core.img.
28499 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
28500 partition identification, and deactivate it afterwards.
28501
99123174 285022007-05-05 Robert Millan <rmh@aybabtu.com>
28503
28504 * term/i386/pc/console.c (grub_console_fini): Call
28505 grub_term_set_current() before grub_term_unregister().
28506
ebd97f6e 285072007-05-04 Robert Millan <rmh@aybabtu.com>
28508
28509 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
28510 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
28511 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
28512 and update-grub_DATA.
28513 * conf/common.rmk: Build and install update-grub components.
28514 * conf/common.mk: Regenerate.
28515 * util/update-grub.in: New. Core of update-grub.
28516 * util/grub.d/00_header.in: New. Generates grub.cfg header.
28517 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
28518 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
28519 * util/grub.d/README: New. Document grub.d directory layout.
28520
b06a264d 285212007-05-01 Robert Millan <rmh@aybabtu.com>
28522
28523 * util/grub-emu.c: Move initialization functions
28524 grub_util_biosdisk_init() and grub_init_all() before
28525 grub_util_biosdisk_get_grub_dev(), which relies on them.
28526
41f0050e 285272007-04-19 Robert Millan <rmh@aybabtu.com>
28528
28529 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
28530 it is used later.
28531
04582bb3 285322007-04-18 Jerone Young <jerone@gmail.com>
28533
f19dbdb7 28534 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 28535 stanza.
28536
08db4632 285372007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 28538
08db4632 28539 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
28540 continue on and look for device node with real device name.
28541
801b76be 285422007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 28543
fe6b695a 28544 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 28545 ability.
28546 * Makefile.in: Add autoconf package transformation code.
28547 * util/i386/pc/grub-install.in: Likewise.
28548 * util/powerpc/ieee1275/grub-install.in: Likewise.
28549
6795c4e1 285502007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
28551
28552 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
28553 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
28554 (EXT2_REVISION): Likewise.
28555 (EXT2_INODE_SIZE): Likewise.
28556 (struct grub_ext2_block_group): Added a missing member
28557 "used_dirs".
28558 (grub_ext2_read_inode): Divide by the inode size in a superblock
28559 instead of 128 to obtain INODES_PER_BLOCK.
28560 Use the macro EXT2_INODE_SIZE instead of directly using
28561 SBLOCK->INODE_SIZE.
28562
d70af616 285632007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
28564
28565 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
28566 superblock instead of the structure size to compute an
28567 offset. This fixes the problem that GRUB could not read a
28568 filesystem when inode size is different from 128-byte.
28569
3b801603 285702007-03-05 Marco Gerards <marco@gnu.org>
28571
28572 * normal/main.c (read_config_file): When "menu" is not set, create
28573 an initial context.
28574
4785bfe4 285752007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28576
28577 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
28578 (HEAP_LIMIT): New macro.
28579 (grub_claim_heap): Claim memory up to `heaplimit'.
28580
a0cbb023 285812007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28582
28583 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
28584 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
28585 (_start): Likewise.
28586 (grub_arch_modules_addr): Return address after `_end'.
28587 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
28588 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
28589 (add_segments): Calculate `_end' from phdr size and location.
28590 (ALIGN_UP): Moved to ...
28591 * include/grub/misc.h: here.
28592 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
28593 New macro.
28594 (GRUB_IEEE1275_MODULE_BASE): Removed.
28595
fd7d8eba 285962007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28597
28598 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
28599 loop boundary.
28600
9b09e6fc 286012007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28602
28603 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
28604 All users updated.
28605 (grub_elf64_load_hook_t): Likewise.
28606 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
28607 debug output.
28608
3ce27299 286092007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28610
28611 * kern/mm.c: Update copyright.
28612 (grub_mm_debug): Correct syntax error.
28613 (grub_mm_dump_free): New function.
28614 (grub_debug_free): Call `grub_free'.
28615 * include/grub/mm.h: Update copyright.
28616 (grub_mm_dump_free): Add declaration.
28617
077d5fee 286182007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28619
28620 * include/grub/ieee1275/ieee1275.h: Update copyright.
28621 * kern/powerpc/ieee1275/init.c: Likewise.
28622 * kern/powerpc/ieee1275/openfw.c: Likewise.
28623
28624 * loader/powerpc/ieee1275/linux.c: Likewise.
28625 * include/grub/elfload.h: Likewise.
28626 * kern/elf.c: Likewise.
28627 (grub_elf32_load): Pass `base' and `size' parameters. Update all
28628 callers.
28629 (grub_elf64_load): Likewise.
28630 (grub_elf32_load_segment): Move to a nested function.
28631 (grub_elf64_load_segment): Likewise.
28632
dc946850 286332007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28634
28635 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
28636 prototype.
28637 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
28638 (grub_heap_len): Likewise.
28639 (HEAP_SIZE): New macro.
28640 (grub_claim_heap): New function.
28641 (grub_machine_init): Don't claim heap directly. Call
28642 `grub_claim_heap'.
28643 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
28644 (grub_available_iterate): New function.
28645
baa2a121 286462007-02-03 Thomas Schwinge <tschwinge@gnu.org>
28647
28648 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
28649 * configure.ac: Use it for testing the HOST and TARGET compilers.
28650
4fe9862e 286512006-12-13 Thomas Schwinge <tschwinge@gnu.org>
28652
28653 * Makefile.in (enable_grub_emu): New variable.
28654 * configure.ac (--enable-grub-emu): New option.
28655 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
28656 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
28657 * conf/i386-pc.rmk: Likewise.
28658 * conf/powerpc-ieee1275.rmk: Likewise.
28659 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
28660
a8aa5762 286612006-12-12 Marco Gerards <marco@gnu.org>
28662
28663 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
28664
28665 * kern/env.c (grub_env_unset): Don't free the member `value' when
28666 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
28667 pointer.
28668
28669 * normal/main.c (current_menu): Removed.
28670 (free_menu): Unset the `menu' environment variable.
28671 (grub_normal_menu_addentry): Make use of the environment variable
28672 `menu', instead of using the global `current_menu'. Allocate
28673 memory for the sourcecode of this entry.
28674 (read_config_file): New argument `nested', changed all callers.
28675 Only in the case of a new context, initialize a new menu. Set the
28676 `menu' environment variable.
28677 (grub_normal_execute): Don't set and unset the environment
28678 variable `menu' here anymore. Only free the menu when leaving the
28679 context.
28680
28681 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
28682 leak.
28683
957b3a3e 286842006-12-11 Marco Gerards <marco@gnu.org>
28685
28686 * normal/menu_entry.c (run): Fix off by one bug so the last line
28687 is executed. Move the loader check to outside the loop.
28688
ef875714 286892006-12-08 Hollis Blanchard <hollis@penguinppc.org>
28690
28691 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
28692
4e739985 286932006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
28694
28695 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
28696 the number of sectors. Reported by Andrey Shuvikov
28697 <mr_hyro@yahoo.com>.
f19dbdb7 28698
790707f2 286992006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
28700
28701 * kern/disk.c (grub_disk_read): When there is a read error, always
28702 try to read only the necessary data.
f19dbdb7 28703
790707f2 28704 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
28705 disk/raid.c.
28706 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
28707 prototype.
28708 [GRUB_UTIL] (grub_raid_fini): Likewise.
28709 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 28710 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 28711 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
28712 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
28713 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
28714 and grub_raid_fini().
f19dbdb7 28715
03e58196 287162006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28717
28718 * include/grub/types.h (__unused): Rename to UNUSED.
28719 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
28720 (grub_elf64_size): Likewise.
f19dbdb7 28721
ae4f23bf 287222006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28723
28724 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
28725 grub_error_push and grub_error_pop in the error-handling path.
28726 (grub_elf32_load_segment): Only call grub_file_read with non-zero
28727 length.
28728
2166cc83 287292006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28730
28731 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
28732 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28734 (kernel_elf_SOURCES): Likewise.
28735 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
28736 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
28737 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28738 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28739 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
28740 (elf_mod_SOURCES): New variable.
28741 (elf_mod_CFLAGS): Likewise.
28742 (elf_mod_LDFLAGS): Likewise.
28743 * include/grub/types.h (__unused): New macro.
28744 * include/grub/elfload.h: New file.
28745 * kern/elf.c: Likewise.
28746 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
28747 (ELF32_LOADMASK): New macro.
28748 (ELF64_LOADMASK): Likewise.
28749 (vmlinux): Removed.
28750 (grub_linux_load32): New function.
28751 (grub_linux_load64): Likewise.
28752 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
28753 Use grub_elf_t instead of grub_file_t.
28754
a09d5aa5 287552006-11-02 Hollis Blanchard <hollis@penguinppc.org>
28756
28757 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
28758 `catch_result' to struct set_color_args.
28759
d976fc51 287602006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28761
28762 * normal/menu.c: Include grub/script.h.
28763 * normal/menu_entry.c: Likewise.
28764 * include/grub/normal.h: Do not include grub/script.h.
28765
67507549 287662006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28767
28768 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
28769
69203a99 287702006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28771
28772 * kern/disk.c (grub_disk_open): Print debug messages when opening a
28773 disk.
28774 (grub_disk_close): Print debug messages when closing a disk.
28775 (grub_disk_read): Print debug messages when disk read fails.
28776 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
28777 filesystem type.
28778 * kern/partition.c: Include misc.h.
28779 (grub_partition_iterate): Print debug messages when detecting
28780 partition type.
28781
e2b8278c 287822006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28783
28784 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
28785 is negative.
28786 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
28787
97b2f2ff 287882006-10-26 Hollis Blanchard <hollis@penguinppc.org>
28789
28790 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28791 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
28792
6555d655 287932006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
28794
28795 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
28796 instead of sizeof(lv). Patch by Michael Guntsche.
28797
4d42b77f 287982006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
28799
28800 * disk/lvm.c: Rename VGS to VG_LIST.
28801 (grub_lvm_iterate): Change VGS->LV to VG-LV.
28802 (grub_lvm_open): Likewise.
28803 Thanks to Michael Guntsche for finding this bug.
28804
5d74d927 288052006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28806
28807 * configure.ac (AC_INIT): Bumped to 1.95.
28808
a1bb27e4 288092006-10-14 Robert Millan <rmh@aybabtu.com>
28810
28811 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
28812 with "/dev/.static/dev/md".
28813
e0994b8b 288142006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28815
28816 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
28817 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
28818 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
28819 DRIVE_NAME are always freed.
28820
28821 * util/i386/pc/biosdisk.c (make_device_name): Add one into
28822 DOS_PART, as a DOS partition is counted from one instead of zero
28823 now. Reported by Robert Millan.
28824
ddd5cee9 288252006-10-14 Robert Millan <rmh@aybabtu.com>
28826
28827 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
28828 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
28829 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
28830 string returned by grub_guess_root_device.
28831 * util/i386/pc/grub-setup.c: Likewise.
28832 * util/i386/pc/grub-probefs.c: Likewise.
28833
28834 * util/i386/pc/grub-probefs.c: Rename to ...
28835 * util/i386/pc/grub-probe.c: ... this.
28836 * DISTLIST: Remove grub-probefs, add grub-probe.
28837 * conf/i386-efi.rmk: Likewise.
28838 * conf/i386-pc.rmk: Likewise.
28839 * util/i386/pc/grub-install.in: Likewise.
28840
28841 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
28842 choose which information we want to print.
28843
2b002173 288442006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28845
28846 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
28847 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
28848 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
28849 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
28850 video/readers/tga.c and video/i386/pc/vbeutil.c.
28851
288522006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
28853
28854 Added support for RAID and LVM.
f19dbdb7 28855
2b002173 28856 * disk/lvm.c: New file.
28857 * disk/raid.c: Likewise.
28858 * include/grub/lvm.h: Likewise.
f19dbdb7 28859 * include/grub/raid.h: Likewise.
2b002173 28860 * include/grub/util/lvm.h: Likewise.
28861 * include/grub/util/raid.h: Likewise.
28862 * util/lvm.c: Likewise.
28863 * util/raid.c: Likewise.
28864
28865 * include/grub/disk.h (grub_disk_dev_id): Add
28866 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
28867 (grub_disk_get_size): New prototype.
28868 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
28869 returns a partition.
28870 (grub_disk_get_size): New function.
f19dbdb7 28871
2b002173 28872 * kern/i386/pc/init.c (make_install_device): Copy the prefix
28873 verbatim if grub_install_dos_part is -2.
28874
28875 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
28876 and LVM devices.
28877
28878 * util/i386/pc/grub-setup.c (setup): New argument
28879 MUST_EMBED. Force embedding of GRUB when the argument is
28880 true. Close FILE before returning.
28881 (main): Add support for RAID and LVM.
f19dbdb7 28882
2b002173 28883 * conf/common.rmk: Add RAID and LVM modules.
28884 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
28885 util/lvm.c.
28886 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
28887
28888 * kern/misc.c (grub_strstr): New function.
28889 * include/grub/misc.h (grub_strstr): New prototype.
28890
050548d0 288912006-10-10 Tristan Gingold <tristan.gingold@bull.net>
28892
28893 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
28894
da849d2d 288952006-10-05 Tristan Gingold <tristan.gingold@bull.net>
28896
28897 * kern/misc.c (grub_strtoull): Guess the base only if not
28898 specified.
28899
97b2f2ff 289002006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 28901
28902 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
28903 PowerMac support.
28904
97b2f2ff 289052006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 28906
28907 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
28908
28909 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
28910 Remove `flags' argument. All callers changed.
28911 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
28912 (IEEE1275_IHANDLE_INVALID): New variable.
28913 (IEEE1275_CELL_INVALID): New variable.
28914 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28915 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
28916 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
28917 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
28918 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
28919 codes from Open Firmware. All callers updated.
28920 (grub_ieee1275_next_property): Directly return Open Firmware return
28921 code.
28922 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28923 Standardize error checking from `grub_ieee1275_get_property'.
28924 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
28925 `devalias' to `aliases'. Correct comments. Consolidate error paths.
28926
97b2f2ff 289272006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 28928
28929 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
28930 `instance_to_package_args' to `instance_to_path_args'.
28931
28932 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
28933 `grub_ieee1275_chosen'.
28934
28935 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
28936 `grub_ieee1275_interpret'.
28937
97b2f2ff 289382006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 28939
28940 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
28941
97b2f2ff 289422006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 28943
28944 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
28945 (__cmpdi): Likewise.
28946
28947 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
28948 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
28949 `grub_ssize_t'.
28950
02bb8acc 28951 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 28952
28953 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
28954 to type `grub_ssize_t'.
28955 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
28956
7f9a8531 289572006-09-22 Marco Gerards <marco@gnu.org>
28958
28959 * normal/script.c (grub_script_create_cmdmenu): Skip leading
28960 newlines.
28961
b5ef1102 289622006-09-22 Marco Gerards <marco@gnu.org>
28963
28964 * commands/echo.c: New file.
28965
28966 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
28967
28968 * conf/common.rmk (echo_mod_SOURCES): New variable.
28969 (echo_mod_CFLAGS): Likewise.
28970 (echo_mod_LDFLAGS): Likewise.
28971
2cff3677 289722006-09-22 Marco Gerards <marco@gnu.org>
28973
28974 * normal/main.c (get_line): Malloc memory instead of using
28975 preallocated memory. Removed the arguments `cmdline' and
28976 `max_len'. Updated all callers.
28977
6ba4688b 289782006-09-22 Marco Gerards <marco@gnu.org>
28979
28980 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
28981 (normal_mod_DEPENDENCIES): Likewise.
28982
28983 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
28984 (normal_mod_DEPENDENCIES): Likewise.
28985
28986 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
28987
e02ac02c 289882006-09-22 Johan Rydberg <jrydberg@gnu.org>
28989
28990 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
28991 programs.
28992 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
28993 (normal_mod_DEPENDENCIES): Likewise.
28994 * conf/i386-pc.mk: Regenerate.
28995 * conf/i386-efi.mk: Likewise
28996 * conf/common.mk: Likewise.
28997 * conf/powerpc-ieee1275.mk: Likewise.
28998 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 28999
8d252e44 290002006-09-22 Robert Millan <rmh@aybabtu.com>
29001
29002 Sync with i386 version.
29003 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
29004 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
29005
209bf7ac 290062006-09-21 Robert Millan <rmh@aybabtu.com>
29007
29008 Import from GRUB Legacy (lib/device.c):
29009 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
29010 (init_device_map) [__linux__]: Add support for I2O devices.
29011
6b146090 290122006-09-14 Marco Gerards <marco@gnu.org>
29013
29014 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
29015 `-melf_i386'.
29016
e38600a8 290172006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 29018
29019 * util/i386/pc/grub-install.in: Skip menu.lst when removing
29020 /boot/grub/*.lst.
78fa1790 29021
2952da5d 29022 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 29023
2952da5d 29024 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
29025 before adding it to device.map.
29026
01b82a64 290272006-08-15 Johan Rydberg <jrydberg@gnu.org>
29028
fe6b695a 29029 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 29030 compiles a file; using the -MD option.
29031 * conf/common.mk: Regenerate.
29032 * conf/i386-pc.mk: Likewise.
29033 * conf/i386-efi.mk: Likewise.
29034 * conf/powerpc-ieee1275.mk: Likewise.
29035 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 29036
1064790d 290372006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
29038
29039 Move the prototypes of grub_setjmp and grub_longjmp to
29040 cpu/setjmp.h, so that each architecture may specify different
29041 attributes.
f19dbdb7 29042
1064790d 29043 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
29044 (grub_longjmp): Likewise.
29045 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
29046 (grub_longjmp): Likewise.
29047 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
29048 (grub_longjmp): Likewise.
29049
29050 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
29051 [!GRUB_UTIL] (grub_longjmp): Removed.
29052
29dda3ed 290532006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
29054
29055 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
29056 "color!" method does not return any value.
29057
ad2a06ed 290582006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29059
29060 * include/grub/bitmap.h: New file.
29061
29062 * include/grub/i386/pc/vbeutil.h: Likewise.
29063
29064 * video/bitmap.c: Likewise.
29065
29066 * video/readers/tga.c: Likewise.
29067
29068 * video/i386/pc/vbeutil.c: Likewise.
29069
29070 * commands/videotest.c: Code cleanup and updated to reflect to new
29071 video API.
29072
29073 * term/gfxterm.c: Likewise.
29074
29075 * video/video.c: Likewise.
29076
29077 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
29078 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
29079 (bitmap_mod_SOURCES): New entry.
29080 (bitmap_mod_CFLAGS): Likewise.
29081 (bitmap_mod_LDFLAGS): Likewise.
29082 (tga_mod_SOURCES): Likewise.
29083 (tga_mod_CFLAGS): Likewise.
29084 (tga_mod_LDFLAGS): Likewise.
29085
29086 * include/grub/video.h (grub_video_blit_operators): New enum type.
29087 (grub_video_render_target): Changed as forward declaration and moved
29088 actual definition to be video driver specific.
29089 (grub_video_adapter.blit_bitmap): Added blitting operator.
29090 (grub_video_adapter.blit_render_target): Likewise.
29091 (grub_video_blit_bitmap): Likewise.
29092 (grub_video_blit_render_target): Likewise.
29093
29094 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
29095 driver specific render target definition.
29096 (grub_video_vbe_map_rgba): Added driver internal helper.
29097 (grub_video_vbe_unmap_color): Updated to use
29098 grub_video_i386_vbeblit_info.
29099 (grub_video_vbe_get_video_ptr): Likewise.
29100
29101 * include/grub/i386/pc/vbeblit.h
29102 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
29103 grub_video_i386_vbeblit_info.
29104 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29105 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29106 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29107 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29108 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29109 (grub_video_i386_vbeblit_index_index): Likewise.
29110 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
29111 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29112 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29113 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
29114 operator.
29115 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
29116 operator.
29117
29118 * video/i386/pc/vbeblit.c: Updated to reflect changes on
29119 include/grub/i386/pc/vbeblit.h.
29120
29121 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
29122 Updated to use grub_video_i386_vbeblit_info.
29123 (grub_video_i386_vbefill_R8G8B8): Likewise.
29124 (grub_video_i386_vbefill_index): Likewise.
29125 (grub_video_i386_vbefill): Added generic filler.
29126
29127 * video/i386/pc/vbefill.c: Updated to reflect changes on
29128 include/grub/i386/pc/vbefill.h.
29129
29130 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
29131 grub_video_i386_vbeblit_info.
29132 (grub_video_vbe_unmap_color): Likewise.
29133 (grub_video_vbe_blit_glyph): Likewise.
29134 (grub_video_vbe_scroll): Likewise.
29135 (grub_video_vbe_draw_pixel): Removed function.
29136 (grub_video_vbe_get_pixel): Likewise.
29137 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
29138 updated code to use it.
29139 (common_blitter): Added common blitter for render target and bitmap.
29140 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
29141 (grub_video_vbe_blit_render_target): Likewise.
29142
bc8c036d 291432006-07-30 Johan Rydberg <jrydberg@gnu.org>
29144
29145 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
29146 is in text mode if there is no console control protocol instance
29147 available.
29148
684a8eff 291492006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29150
29151 * include/grub/video.h: Code cleanup.
29152
29153 * include/grub/i386/pc/vbe.h: Likewise.
29154
29155 * video/i386/pc/vbe.c: Likewise.
29156
29157 * video/i386/pc/vbeblit.c: Likewise.
29158
29159 * video/i386/pc/vbefill.c: Likewise.
29160
29161 * video/video.c: Likewise. Also added more comments.
29162
5915059b 291632006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29164
29165 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
29166 (struct grub_biosdisk_dap): Likewise.
29167
29168 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
29169 linkage settings for all functions.
29170
90ce5d56 291712006-07-12 Marco Gerards <marco@gnu.org>
29172
29173 * configure.ac (--enable-mm-debug): Fix typo.
29174
29175 * genkernsyms.sh.in: Use proper quoting for `CC'.
29176
43e7f879 291772006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
29178
29179 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
29180 (normal_mod_ASFLAGS): Remove "-m32".
29181
4889bdec 291822006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
29183
29184 * util/misc.c: Include config.h.
29185 [!HAVE_MEMALIGN]: Do not include malloc.h.
29186 (grub_memalign): Use posix_memalign, if present. Then, use
29187 memalign, if present. Otherwise, emit an error.
29188
29189 * util/grub-emu.c: Do not include malloc.h.
29190
29191 * include/grub/util/misc.h: Include unistd.h. This is required for
29192 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
29193 D. Eades III <hde@foobar-qux.org>.
29194
29195 * configure.ac (AC_GNU_SOURCE): Added.
29196 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
29197 type.
29198
fd39d4da 291992006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
29200
29201 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
29202 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
29203
b786f3b5 292042006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
29205
29206 * include/grub/types.h (grub_host_addr_t): Rename to
29207 grub_target_addr_t.
29208 (grub_host_off_t): Rename to grub_target_off_t.
29209 (grub_host_size_t): Rename to grub_target_size_t.
29210 (grub_host_ssize_t): Rename to grub_target_ssize_t.
29211 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
29212
29213 * include/grub/kernel.h (struct grub_module_header): Change type
29214 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
29215 (grub_module_info): Likewise.
f19dbdb7 29216
051988bb 292172006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29218
29219 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
29220 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
29221 Velazquez <jesus.velazquez@gmail.com>.
29222
deae281b 292232006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29224
29225 Count partitions from 1 instead of 0 in the string representation
29226 of partitions. Still use 0-based internally.
f19dbdb7 29227
deae281b 29228 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
29229 (sun_partition_map_iterate): Use grub_partition_t instead of
29230 struct grub_partition *. Cast DESC->START_CYLINDER to
29231 grub_uint64_t after converting the endian.
29232 (sun_partition_map_probe): Subtract 1 for PARTNUM.
29233 (sun_partition_map_get_name): Add 1 to P->INDEX.
29234
29235 * partmap/pc.c (grub_partition_parse): Subtract 1 for
29236 PCDATA->DOS_PART.
29237 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
29238
29239 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
29240 zero instead of one.
29241 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
29242 (gpt_partition_map_get_name): Add 1 into P->INDEX.
29243
29244 * partmap/apple.c (apple_partition_map_iterate): Change the type
29245 of POS to unsigned.
29246 (apple_partition_map_probe): Subtract 1 for PARTNUM.
29247 (apple_partition_map_get_name): Add 1 into P->INDEX.
29248
29249 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
29250 of POS to unsigned.
29251 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
29252 calculate the offset of a partition.
29253 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
29254 (amiga_partition_map_get_name): Add 1 into P->INDEX.
29255
29256 * partmap/acorn.c (acorn_partition_map_find): Change the type of
29257 SECTOR to grub_disk_addr_t.
29258 (acorn_partition_map_iterate): Likewise.
29259 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
29260 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
29261 top.
29262 (acorn_partition_map_get_name): Add 1 into P->INDEX.
29263
29264 * kern/i386/pc/init.c (make_install_device): Add 1 into
29265 GRUB_INSTALL_DOS_PART.
29266
29267 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
29268 conditional.
29269
524a1e6a 292702006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29271
29272 Clean up the code to support 64-bit addressing in disks and
29273 files. This change is not enough for filesystems yet.
f19dbdb7 29274
524a1e6a 29275 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
29276 type of "start" to grub_uint64_t.
29277 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
29278 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
29279 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
29280 convert addresses.
29281
29282 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
29283 to grub_disk_addr_t.
29284
29285 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
29286 string.
29287
29288 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29289
29290 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
29291 to char *.
29292
29293 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
29294
29295 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
29296
29297 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
29298
29299 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
29300 to grub_off_t, to detect an error from grub_file_seek.
29301 (grub_multiboot_load_elf32): Likewise.
29302
29303 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
29304 maximum unsigned long value when an overflow is detected.
29305 (grub_strtoull): New function.
29306 (grub_divmod64): Likewise.
29307 (grub_lltoa): use grub_divmod64.
29308
29309 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
29310 grub_disk_addr_t.
29311 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
29312 the pointer to next character. Use grub_strtoull instead of
29313 grub_strtoul.
29314 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
29315 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
29316 respectively.
29317
fe6b695a 29318 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 29319 return value is signed.
29320 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
29321 test if OFFSET is less than zero, as OFFSET is unsigned now.
29322
29323 * kern/disk.c (struct grub_disk_cache): Change the type of
29324 "sector" to grub_disk_addr_t.
29325 (grub_disk_cache_get_index): Change the type of SECTOR to
29326 grub_disk_addr_t. Calculate the hash with SECTOR casted to
29327 unsigned after shifting.
29328 (grub_disk_cache_invalidate): Change the type of SECTOR to
29329 grub_disk_addr_t.
29330 (grub_disk_cache_unlock): Likewise.
29331 (grub_disk_cache_store): Likewise.
29332 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
29333 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
29334 grub_disk_addr_t and grub_uint64_t, respectively.
29335 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
29336 body, as the value of OFFSET is tweaked by
29337 grub_disk_check_range. Change the types of START_SECTOR, LEN and
29338 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
29339 respectively.
29340 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
29341 body, as the value of OFFSET is tweaked by
29342 grub_disk_check_range. Change the types of LEN and N to
29343 grub_size_t.
29344
29345 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
29346 and "saved_offset" to grub_off_t.
29347 (test_header): Cast BUF to char *.
29348 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
29349 to char *.
29350 (grub_gzio_read): Change the types of OFFSET and SIZE to
29351 grub_off_t and grub_size_t, respectively.
29352
29353 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
29354 Removed.
29355 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
29356 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
29357 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
29358 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
29359 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
29360
29361 * include/grub/types.h (grub_off_t): Unconditionally set to
29362 grub_uint64_t.
29363 (grub_disk_addr_t): Changed to grub_uint64_t.
29364
29365 * include/grub/partition.h (struct grub_partition): Change the
29366 types of "start", "len" and "offset" to grub_disk_addr_t,
29367 grub_uint64_t and grub_disk_addr_t, respectively.
29368 (grub_partition_get_start): Return grub_disk_addr_t.
29369 (grub_partition_get_len): Return grub_uint64_t.
29370
29371 * include/grub/misc.h (grub_strtoull): New prototype.
29372 (grub_divmod64): Likewise.
29373
29374 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
29375 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
29376 grub_off_t, respectively.
29377 All callers and references changed.
29378
29379 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
29380 grub_size_t in "read".
29381 All callers and references changed.
29382
29383 * include/grub/file.h (struct grub_file): Change the types of
29384 "offset" and "size" to grub_off_t and grub_off_t,
29385 respectively. Change the type of SECTOR to grub_disk_addr_t in
29386 "read_hook".
29387 (grub_file_read): Change the type of LEN to grub_size_t.
29388 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
29389 grub_off_t.
29390 (grub_file_size): Return grub_off_t.
29391 (grub_file_tell): Likewise.
29392 All callers and references changed.
29393
29394 * include/grub/disk.h (struct grub_disk_dev): Change the types of
29395 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
29396 "write".
29397 (struct grub_disk): Change the type of "total_sectors" to
29398 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 29399 "read_hook".
524a1e6a 29400 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
29401 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
29402 (grub_disk_write): Likewise.
29403 All callers and references changed.
29404
29405 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
29406 char * for grub_strncmp to silence gcc.
29407 (grub_iso9660_mount): Likewise.
29408 (grub_iso9660_mount): Likewise.
29409 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
29410 return statement.
29411 (grub_iso9660_iterate_dir): Likewise.
29412 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
29413
29414 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
29415 LEN to grub_disk_addr_t and grub_size_t, respectively.
29416
29417 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29418
29419 * fs/jfs.c (grub_jfs_read_file): Likewise.
29420
29421 * fs/minix.c (grub_jfs_read_file): Likewise.
29422
29423 * fs/sfs.c (grub_jfs_read_file): Likewise.
29424
29425 * fs/ufs.c (grub_jfs_read_file): Likewise.
29426
29427 * fs/xfs.c (grub_jfs_read_file): Likewise.
29428
29429 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
29430 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
29431 respectively.
29432
29433 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
29434 BLKNR to -1 instead of returning GRUB_ERRNO.
29435 (grub_ext2_read_file): Change the types of SECTOR and
29436 LEN to grub_disk_addr_t and grub_size_t, respectively.
29437
29438 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
29439 LEN to grub_disk_addr_t and grub_size_t, respectively.
29440
29441 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
29442 grub_file_read.
29443
29444 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
29445 string. Do not cast SECTOR explicitly.
29446
29447 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
29448 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
29449 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
29450 grub_disk_addr_t and grub_size_t, respectively. If the sector is
29451 over 2TB and LBA mode is not supported, raise an error.
29452 (get_safe_sectors): New function.
29453 (grub_biosdisk_read): Use get_safe_sectors.
29454 (grub_biosdisk_write): Likewise.
29455
29456 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
29457 (grub_efidisk_write): Likewise.
29458
29459 * disk/loopback.c (delete_loopback): Cosmetic changes.
29460 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
29461 correctly.
29462 (grub_loopback_open): Likewise.
29463 (grub_loopback_read): Likewise. Also, change the type of POS to
29464 grub_off_t, and fix the usage of grub_memset.
29465
29466 * commands/i386/pc/play.c: Include grub/machine/time.h.
29467
29468 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
29469 print FILE->SIZE.
29470
29471 * commands/configfile.c: Include grub/env.h.
29472
29473 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
29474 GRUB_ERRNO directly instead. Change the type of POS to
29475 grub_off_t. Follow the coding standard.
29476
29477 * commands/blocklist.c: Include grub/partition.h.
29478 (grub_cmd_blocklist): Return an error if the underlying device is
29479 not a disk. Take the starting sector of a partition into account,
29480 if a partition is used.
29481
29482 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
29483 a length field.
29484 (lba_mode): Support 64-bit addresses.
29485 (chs_mode): Likewise.
29486 (copy_buffer): Adapted to the new offsets of a length field and a
29487 segment field.
29488 (blocklist_default_start): Allocate 64-bit space.
29489
29490 * boot/i386/pc/boot.S (force_lba): Removed.
29491 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 29492 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 29493 space.
29494 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
29495 is useless.
29496 (lba_mode): Refactored to support a 64-bit address. More size
29497 optimization.
29498 (setup_sectors): Likewise.
29499
53af98ad 295002006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29501
29502 * DISTLIST: Added include/grub/i386/linux.h. Removed
29503 include/grub/i386/pc/linux.h
29504
29505 * configure.ac (AC_INIT): Bumped to 1.94.
29506
29507 * config.guess: Updated from gnulib.
29508 * config.sub: Likewise.
29509 * install-sh: Likewise.
29510 * mkinstalldirs: Likewise.
29511
b4c1940a 295122006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29513
29514 * conf/common.rmk (grub_modules_init.lst): Depended on
29515 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
29516 MODSRCFILES.
29517
29518 * genmk.rb (PModule::rule): Reverted the previous change.
29519
cfca1cfd 295202006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29521
29522 * conf/common.rmk (grub_modules_init.lst): Depends on
29523 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
29524 that the target does not exist before producing.
29525 (grub_modules_init.h): Remove the target before generating.
29526 (grub_emu_init.c): Likewise.
29527
29528 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
29529
aa6d7826 295302006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
29531
29532 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
29533 for the target-specific tests. Make sure that we also have the
29534 up-to-date target variables for those tests.
29535
26c607b9 295362006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29537
29538 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
29539 (PModule::rule): Likewise.
29540
0162321a 295412006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29542
29543 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
29544 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
29545 target-specific flags should be prefixed.
29546 (PModule::rule): Likewise.
29547
6c826348 295482006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
29549
29550 * configure.ac (CMP): Check if cmp is available explicitly.
29551
b977bf01 295522006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
29553
29554 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
29555 (target_cpu): New variable.
29556 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 29557
b977bf01 29558 * util/i386/pc/grub-install.in (host_cpu): Removed.
29559 (target_cpu): New variable.
29560 (pkglibdir): Use target_cpu instead of host_cpu.
29561
29562 * util/genmoddep.c: Removed.
f19dbdb7 29563
b977bf01 29564 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
29565 instead of GRUB_HOST_SIZEOF_VOID_P.
29566 * kern/dl.c: Likewise.
29567
29568 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
29569 ...
29570 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29571 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29572 (GRUB_TARGET_SIZEOF_LONG): ... this.
29573 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29574 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29575 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29576 to ...
29577 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29578 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29579 (GRUB_TARGET_SIZEOF_LONG): ... this.
29580 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29581 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29582 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29583 to ...
29584 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29585 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29586 (GRUB_TARGET_SIZEOF_LONG): ... this.
29587 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29588 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29589
29590 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
29591 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
29592 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
29593 instead of GRUB_HOST_SIZEOF_LONG.
29594 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
29595 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
29596 GRUB_CPU_WORDS_BIGENDIAN.
29597 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
29598 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
29599 grub_host_ssize_t.
29600
29601 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
29602 (genmoddep_SOURCES): Likewise.
29603 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
29604 (genmoddep_SOURCES): Likewise.
29605 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
29606 (genmoddep_SOURCES): Likewise.
29607 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
29608 Likewise.
29609 (genmoddep_SOURCES): Likewise.
29610
29611 * genmoddep.awk: New file.
29612
29613 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
29614 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
29615 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
29616 (PModule::rule): Likewise.
29617 (Program::rule): Likewise.
29618 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
29619 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
29620 respectively.
29621
29622 * configure.ac: Rewritten intensively to use host and target
29623 instead of build and host, respectively.
29624
29625 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
29626 (host_cpu): Removed.
29627 (target_cpu): New variable.
29628 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
29629 (BUILD_CC): Removed.
29630 (BUILD_CFLAGS): Likewise.
29631 (BUILD_CPPFLAGS): Likewise.
29632 (TARGET_CC): New variable.
29633 (TARGET_CFLAGS): Likewise.
29634 (TARGET_CPPFLAGS): Likewise.
29635 (TARGET_LDFLAGS): Likewise.
29636 (AWK): Likewise.
29637 (include): Use target_cpu instead of host_cpu.
29638 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 29639
b977bf01 29640 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
29641
f09771a1 296422006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
29643
29644 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
29645 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
29646 field 'false' to 'exec_on_false'.
29647 (grub_script_create_cmdif): Renamed argument names to reflect above
29648 changes.
29649
29650 * normal/execute.c (grub_script_execute_cmdif): Likewise.
29651
29652 * normal/script.c (grub_script_create_cmdif): Likewise.
29653
118f4fb3 296542006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
29655
29656 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
29657 top.
29658 (grub_hfsplus_btree_recptr): Likewise.
29659 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
29660 FILEBLOCK both to pass a block number and store next block
29661 number.
29662 (grub_hfsplus_read_block): Rewritten heavily to support an extent
29663 overflow file correctly. Specify errors appropriately, because
29664 fshelp expects that GRUB_ERRNO is set when fails. Reuse
29665 grub_hfsplus_btree_recptr to get the pointer to a found key.
29666 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
29667 is found.
29668
29669 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
29670 linux.mod.
29671 (_linux_mod_SOURCES): New variable.
29672 (_linux_mod_CFLAGS): Likewise.
29673 (_linux_mod_LDFLAGS): Likewise.
29674 (linux_mod_SOURCES): Likewise.
29675 (linux_mod_CFLAGS): Likewise.
29676 (linux_mod_LDFLAGS): Likewise.
29677
29678 * DISTLIST: Added loader/i386/efi/linux.c,
29679 loader/i386/efi/linux_normal.c and
29680 include/grub/i386/efi/loader.h.
29681
29682 * loader/i386/efi/linux.c: New file.
29683 * loader/i386/efi/linux_normal.c: Likewise.
29684 * include/grub/i386/efi/loader.h: Likewise.
29685
89a7d726 296862006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
29687
29688 * commands/blocklist.c: New file.
29689
29690 * DISTLIST: Added commands/blocklist.c.
29691
29692 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 29693 color for the background, and a darker color for the foreground.
89a7d726 29694 (grub_console_checkkey): Return READ_KEY.
29695 (grub_console_cls): Set the background to
29696 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
29697
29698 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
29699
29700 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
29701 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
29702
29703 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
29704 prototype.
29705
29706 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
29707 BG. The spec is wrong again.
29708
29709 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
29710 prototype.
29711 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
29712
29713 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29714 commands/blocklist.c.
29715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 29716
89a7d726 29717 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
29718 (blocklist_mod_SOURCES): New variable.
29719 (blocklist_mod_CFLAGS): Likewise.
29720 (blocklist_mod_LDFLAGS): Likewise.
29721
75c8f258 297222006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
29723
29724 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
29725 duplication.
29726 (lba_mode): Use %eax more intensively to reduce the code size.
29727
da2eb181 297282006-05-20 Marco Gerards <marco@gnu.org>
29729
29730 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
29731
29732 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
29733 for `menuentry'.
29734 (script): Accept leading newlines.
29735 (newlines): New rule to describe 0 or more newlines.
29736 (commands): Accept `command' with trailing newline. Fixed the
29737 order in which arguments were passed to `grub_script_add_cmd'.
29738 Accept commands separated by newlines.
29739 (function): Changed to accept newlines.
29740 (menuentry) Rewritten.
29741
29742 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
29743 front of the list, instead of to the end.
29744
577b4050 297452006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
29746
29747 * util/i386/pc/grub-install.in (bindir): New variable.
29748 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
29749 Shaver <lbgwjl@gmail.com>.
29750
0d6e1189 297512006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
29752
29753 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
29754 grub/machine/linux.h
29755 * loader/i386/pc/linux.c: Likewise.
29756
29757 * include/grub/i386/pc/linux.h: Moved to ...
29758 * include/grub/i386/linux.h: ... here.
29759
29760 * include/grub/i386/linux.h (struct linux_kernel_params): New
29761 struct.
f19dbdb7 29762
31b86e9f 297632006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
29764
29765 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
29766 checking.
29767 (grub_video_vbe_blit_glyph): Likewise.
29768 (grub_video_vbe_blit_bitmap): Likewise.
29769 (grub_video_vbe_blit_render_target): Likewise.
29770
83b984de 297712006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
29772
29773 * configure.ac (--with-platform): Properly quote the square
29774 brackets.
29775
5f0413bd 297762006-05-08 Marco Gerards <marco@gnu.org>
29777
29778 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
29779 this...
29780 (kernel_elf_HEADERS): ...to this. Updated all users.
29781 (grubof_symlist.c): Renamed from this...
29782 (kernel_elf_symlist.c): ...to this. Updated all users.
29783 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29784 (grubof_SOURCES): Renamed from this...
29785 (kernel_elf_SOURCES): ...to this.
29786 (grubof_HEADERS): Renamed from this...
29787 (kernel_elf_HEADERS): ...to this.
29788 (grubof_CFLAGS): Renamed from this...
29789 (kernel_elf_CFLAGS): ...to this.
29790 (grubof_ASFLAGS): Renamed from this...
29791 (kernel_elf_ASFLAGS): ...to this.
29792 (grubof_LDFLAGS): Renamed from this...
29793 (kernel_elf_LDFLAGS): ...to this.
29794
29795 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
29796 this...
29797 (kernel_elf_HEADERS): ...to this. Updated all users.
29798 (grubof_symlist.c): Renamed from this...
29799 (kernel_elf_symlist.c): ...to this. Updated all users.
29800 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29801 (grubof_SOURCES): Renamed from this...
29802 (kernel_elf_SOURCES): ...to this.
29803 (grubof_HEADERS): Renamed from this...
29804 (kernel_elf_HEADERS): ...to this.
29805 (grubof_CFLAGS): Renamed from this...
29806 (kernel_elf_CFLAGS): ...to this.
29807 (grubof_ASFLAGS): Renamed from this...
29808 (kernel_elf_ASFLAGS): ...to this.
29809 (grubof_LDFLAGS): Renamed from this...
29810 (kernel_elf_LDFLAGS): ...to this.
29811
29812 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
29813 `kernel.elf' instead of `grubof'.
29814
05568c2e 298152006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
29816
29817 Add --with-platform to configure. Use pkglibdir instead of
29818 pkgdatadir. This is reported by Roger Leigh.
29819
29820 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
29821 (host_vendor): Likewise.
29822 (host_os): Likewise.
29823 (pkgdatadir): Likewise.
29824 (platform): New variable.
29825 (pkglibdir): Likewise.
29826 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 29827
05568c2e 29828 * util/i386/pc/grub-install.in (datadir): Removed.
29829 (host_vendor): Likewise.
29830 (host_os): Likewise.
29831 (pkgdatadir): Likewise.
29832 (platform): New variable.
29833 (pkglibdir): Likewise.
29834 Use PKGLIBDIR instead of PKGDATADIR.
29835
29836 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
29837 instead of GRUB_DATADIR.
29838 (main): Likewise.
29839 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29840 (main): Likewise.
29841 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29842 (main): Likewise.
29843
29844 * configure.ac (--with-platform): New option.
29845 Use PLATFORM instead of HOST_VENDOR to specify a platform.
29846
29847 * Makefile.in: Include a makefile based on PLATFORM instead of
29848 HOST_VENDOR.
29849 (pkgdatadir): Not appended by the machine type.
29850 (pkglibdir): Appended by the machine type.
29851 (host_vendor): Removed.
29852 (platform): New variable.
29853 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
29854 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
29855 (uninstall): Likewise.
29856
4e93851c 298572006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
29858
29859 Use the environment context in the menu. Remove the commands
29860 "default" and "timeout", and use variables instead.
f19dbdb7 29861
4e93851c 29862 * normal/menu.c: Include grub/env.h.
29863 (print_entry): Cast TITLE to silence gcc.
29864 (get_timeout): New function.
29865 (set_timeout): Likewise.
29866 (get_entry_number): Likewise.
29867 (run_menu): Use a default entry, a fallback entry and a timeout
29868 in the environment variables "default", "fallback" and
29869 "timeout". Also, tweak the default entry if it is not within the
29870 current menu entries.
29871 (grub_menu_run): Use a fallback entry in the environment variable
29872 "fallback".
29873
29874 * normal/main.c (read_config_file): Do not initialize
29875 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
29876 NEWMENU->TIMEOUT.
29877 (grub_normal_execute): Use a data slot to store the menu.
29878
29879 * include/grub/normal.h (struct grub_menu): Removed default_entry,
29880 fallback_entry and timeout.
29881 (struct grub_menu_list): Removed.
29882 (grub_menu_list_t): Likewise.
29883 (struct grub_context): Likewise.
29884 (grub_context_t): Likewise.
29885 (grub_context_get): Likewise.
29886 (grub_context_get_current_menu): Likewise.
29887 (grub_context_push_menu): Likewise.
29888 (grub_context_pop_menu): Likewise.
29889 (grub_default_init): Likewise.
29890 (grub_default_fini): Likewise.
29891 (grub_timeout_init): Likewise.
29892 (grub_timeout_fini): Likewise.
29893
29894 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
29895 and timeout.mod.
29896 (normal_mod_SOURCES): Removed normal/context.c.
29897
29898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
29899 commands/default.c, commands/timeout.c and normal/context.c.
29900 (normal_mod_SOURCES): Removed normal/context.c.
29901
29902 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
29903 commands/timeout.c and normal/context.c.
29904 (normal_mod_SOURCES): Removed normal/context.c.
29905
29906 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
29907 commands/default.c, commands/timeout.c and normal/context.c.
29908 (normal_mod_SOURCES): Removed normal/context.c.
29909
29910 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
29911 timeout.mod.
29912 (default_mod_SOURCES): Removed.
29913 (default_mod_CFLAGS): Likewise.
29914 (default_mod_LDFLAGS): Likewise.
29915 (timeout_mod_SOURCES): Removed.
29916 (timeout_mod_CFLAGS): Likewise.
29917 (timeout_mod_LDFLAGS): Likewise.
29918
29919 * DISTLIST: Removed commands/default.c, commands/timeout.c and
29920 normal/context.c.
29921
29922 * commands/default.c: Removed.
29923 * commands/timeout.c: Likewise.
29924 * normal/context.c: Likewise.
29925
1eb9cc1d 299262006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
29927
29928 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
29929
385bd9c1 299302006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
29931
29932 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
29933 "next" to "prev" for readability.
29934 (struct grub_env_sorted_var): New struct.
29935 (grub_env_context): Renamed to ...
29936 (initial_context): ... this.
29937 (grub_env_var_context): Renamed to ...
29938 (current_context): ... this.
29939 (grub_env_find): Look only at CURRENT_CONTEXT.
29940 (grub_env_context_open): Rewritten to copy exported variables from
29941 previous context.
29942 (grub_env_context_close): Rewritten according to the new
29943 scheme. Also, add an assertion to prevent the initial context from
29944 removed.
29945 (grub_env_insert): Removed the code for the sorted list.
29946 (grub_env_remove): Likewise.
29947 (grub_env_export): Simply mark the variable with
29948 GRUB_ENV_VAR_GLOBAL.
29949 (grub_env_set): A cosmetic change for naming consistency.
29950 (grub_env_get): Likewise.
29951 (grub_env_unset): Likewise.
29952 (grub_env_iterate): Rewritten to sort variables within this
29953 function.
29954 (grub_register_variable_hook): Fixed for naming consistency. Call
29955 grub_env_find again, only if NAME is not found at the first time.
29956 (mangle_data_slot_name): New function.
29957 (grub_env_set_data_slot): Likewise.
29958 (grub_env_get_data_slot): Likewise.
29959 (grub_env_unset_data_slot): Likewise.
29960
29961 * include/grub/env.h (grub_env_var_type): New enum.
29962 (GRUB_ENV_VAR_LOCAL): New constant.
29963 (GRUB_ENV_VAR_GLOBAL): Likewise.
29964 (GRUB_ENV_VAR_DATA): Likewise.
29965 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
29966 "type".
29967 (grub_env_set): Replace VAR with NAME for consistency.
29968 (grub_register_variable_hook): Likewise.
29969 (grub_env_export): Specify the name of the argument.
29970 (grub_env_set_data_slot): New prototype.
29971 (grub_env_get_data_slot): Likewise.
29972 (grub_env_unset_data_slot): Likewise.
29973
7f362539 299742006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29975
29976 Extend the loader so that GRUB can accept a loader which comes
29977 back to GRUB when a loaded image exits. Also, this change adds
29978 support for a chainloader on EFI.
f19dbdb7 29979
7f362539 29980 * term/efi/console.c: Include grub/misc.h.
29981 (grub_console_checkkey): Display a scan code on the top for
29982 debugging. This will be removed once the EFI port gets stable.
29983 Correct the scan code mapping.
29984
29985 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
29986 allocate memory from larger regions, in order to reduce the number
29987 of allocated regions. Otherwise, the MacOSX loader panics.
29988 (filter_memory_map): Avoid less than 1MB for compatibility with
29989 other loaders.
29990 (add_memory_regions): Allocate from the tail of a region, if
29991 possible, to avoid allocating a region near to 1MB, for the MacOSX
29992 loader.
29993
29994 * kern/efi/init.c (grub_efi_set_prefix): Specify
29995 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
29996
29997 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
29998 argument IMAGE_HANDLE and specify it to get a loaded image.
29999 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
30000 grub_efi_get_loaded_image.
fe6b695a 30001 (grub_efi_get_filename): Divide the length by the size of
7f362539 30002 grub_efi_char16_t.
30003 (grub_efi_get_device_path): New function.
30004 (grub_efi_print_device_path): Print End Device Path nodes. Divide
30005 the length by the size of grub_efi_char16_t for a file path device
30006 path node.
30007
30008 * kern/loader.c (grub_loader_noreturn): New variable.
30009 (grub_loader_set): Accept a new argument NORETURN. Set
30010 GRUB_LOADER_NORETURN to NORETURN.
30011 All callers changed.
30012 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
30013 grub_machine_fini.
30014
30015 * include/grub/efi/efi.h (grub_efi_get_device_path): New
30016 prototype.
30017 (grub_efi_get_loaded_image): Take an argument to specify an image
30018 handle.
30019
30020 * include/grub/loader.h (grub_loader_set): Added one more argument
30021 NORETURN.
30022
30023 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
30024 instead of grub_efi_open_protocol.
30025 (grub_efidisk_get_device_name): Likewise.
30026 (grub_efidisk_close): Print a newline.
30027 (grub_efidisk_get_device_handle): Fixed to use
30028 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
30029 GRUB_EFI_DEVICE_PATH_TYPE.
30030
30031 * disk/efi/efidisk.c (device_path_guid): Moved to ...
30032 * kern/efi/efi.c (device_path_guid): ... here.
30033
30034 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
30035 chain.mod.
30036 (kernel_mod_HEADERS): Added efi/disk.h.
30037 (_chain_mod_SOURCES): New variable.
30038 (_chain_mod_CFLAGS): Likewise.
30039 (_chain_mod_LDFLAGS): Likewise.
30040 (chain_mod_SOURCES): Likewise.
30041 (chain_mod_CFLAGS): Likewise.
30042 (chain_mod_LDFLAGS): Likewise.
30043
30044 * DISTLIST: Added include/grub/efi/chainloader.h,
30045 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
30046
30047 * include/grub/efi/chainloader.h: New file.
30048 * loader/efi/chainloader.c: Likewise.
30049 * loader/efi/chainloader_normal.c: Likewise.
30050
c0111d6e 300512006-04-30 Marco Gerards <marco@gnu.org>
30052
30053 * commands/configfile.c (grub_cmd_source): New function.
30054 (GRUB_MOD_INIT): Register the commands `source' and `.'.
30055 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
30056
df5341da 300572006-04-30 Marco Gerards <marco@gnu.org>
30058
30059 * normal/execute.c (grub_script_execute_cmd): Change the return
30060 type to `grub_err_t'. Correctly return the error.
30061 (grub_script_execute_cmdline): In case a command line is not a
30062 command or a function, try to interpret it as an assignment.
30063
f85934bd 300642006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
30065
30066 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
30067 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
30068 skip a node whose name is obviously invalid as UTF-16,
30069 i.e. contains a NUL character. Stop the iteration when the last
30070 directory entry is found. Instead of using the return value of
30071 grub_hfsplus_btree_iterate_node, store the value in RET and use
30072 it, because the iterator can be stopped by the last directory
30073 entry.
30074
8f8a2cf8 300752006-04-30 Marco Gerards <marco@gnu.org>
30076
30077 * include/grub/env.h (grub_env_export): New prototype. Reported
30078 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
30079
a27e84ce 300802006-04-30 Marco Gerards <marco@gnu.org>
30081
30082 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
30083 size of the extents in a catalog file record.
30084
eaef0553 300852006-04-29 Marco Gerards <marco@gnu.org>
30086
30087 * commands/configfile.c (grub_cmd_configfile): Execute the
30088 configfile within its own context.
30089
30090 * include/grub/env.h (grub_env_context_open): New prototype.
30091 (grub_env_context_close): Likewise.
30092
30093 * kern/env.c (grub_env): Removed.
30094 (grub_env_sorted): Likewise.
30095 (grub_env_context): New variable.
30096 (grub_env_var_context): Likewise.
30097 (grub_env_find): Search both the active context and the global
30098 context.
30099 (grub_env_context_open): New function.
30100 (grub_env_context_close): Likewise.
30101 (grub_env_insert): Likewise.
30102 (grub_env_remove): Likewise.
30103 (grub_env_export): Likewise.
30104 (grub_env_set): Changed to use helper functions to avoid code
30105 duplication.
30106 (grub_env_iterate): Rewritten so both the current context and the
30107 global context are being used.
30108
30109 * normal/command.c (export_command): New function.
30110 (grub_command_init): Register the `export' function.
30111
7b455f4d 301122006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
30113
30114 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
30115 explicitly to suppress gcc's warnings.
30116 * fs/fat.c (grub_fat_find_dir): Likewise.
30117 (grub_fat_label): Likewise.
30118 * fs/xfs.c (grub_xfs_read_inode): Likewise.
30119 (grub_xfs_mount): Likewise.
30120 (grub_xfs_label): Likewise.
30121 * fs/affs.c (grub_affs_mount): Likewise.
30122 (grub_affs_label): Likewise.
30123 (grub_affs_iterate_dir): Likewise.
30124 * fs/sfs.c (grub_sfs_mount): Likewise.
30125 (grub_sfs_iterate_dir): Likewise.
30126 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
30127 * fs/hfs.c (grub_hfs_mount): Likewise.
30128 (grub_hfs_cmp_catkeys): Likewise.
30129 (grub_hfs_find_dir): Likewise.
30130 (grub_hfs_dir): Likewise.
30131 (grub_hfs_label): Likewise.
30132 * fs/jfs.c (grub_jfs_mount): Likewise.
30133 (grub_jfs_opendir): Likewise.
30134 (grub_jfs_getent): Likewise.
30135 (grub_jfs_lookup_symlink): Likewise.
30136 (grub_jfs_label): Likewise.
30137 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
30138 (grub_hfsplus_iterate_dir): Likewise.
30139 (grub_hfsplus_btree_iterate_node): Made static.
30140
30141 * util/grub-emu.c (prefix): New variable.
30142 (grub_machine_set_prefix): New function.
30143 (main): Do not set the environment variable "prefix" here. Only
30144 set PREFIX, which is used later by grub_machine_set_prefix.
30145
30146 * include/grub/video.h: Do not include grub/symbol.h.
30147 (grub_video_register): Not exported. This symbol is not defined in
30148 the kernel.
30149 (grub_video_unregister): Likewise.
30150 (grub_video_iterate): Likewise.
30151 (grub_video_setup): Likewise.
30152 (grub_video_restore): Likewise.
30153 (grub_video_get_info): Likewise.
30154 (grub_video_get_blit_format): Likewise.
30155 (grub_video_set_palette): Likewise.
30156 (grub_video_get_palette): Likewise.
30157 (grub_video_set_viewport): Likewise.
30158 (grub_video_get_viewport): Likewise.
30159 (grub_video_map_color): Likewise.
30160 (grub_video_map_rgb): Likewise.
30161 (grub_video_map_rgba): Likewise.
30162 (grub_video_fill_rect): Likewise.
30163 (grub_video_blit_glyph): Likewise.
30164 (grub_video_blit_bitmap): Likewise.
30165 (grub_video_blit_render_target): Likewise.
30166 (grub_video_scroll): Likewise.
30167 (grub_video_swap_buffers): Likewise.
30168 (grub_video_create_render_target): Likewise.
30169 (grub_video_delete_render_target): Likewise.
30170 (grub_video_set_active_render_target): Likewise.
30171
30172 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
30173 Undefined.
30174 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
30175
30176 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
30177 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30178 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30179 instead of $(srcdir)/genkernsyms.sh.
30180
30181 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
30182 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30183 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30184 instead of $(srcdir)/genkernsyms.sh.
30185
30186 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
30187 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30188 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30189 instead of $(srcdir)/genkernsyms.sh.
30190
30191 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
30192 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30193 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30194 instead of $(srcdir)/genkernsyms.sh.
30195
30196 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
30197 genkernsyms.sh.
30198
30199 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
30200 genkernsyms.sh.
30201 (gensymlist.sh): New target.
30202 (genkernsyms.sh): Likewise.
30203
30204 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
30205 genkernsyms.sh.in and gensymlist.sh.in.
30206
30207 * genkernsyms.sh: Removed.
30208 * gensymlist.sh: Likewise.
f19dbdb7 30209
7b455f4d 30210 * genkernsyms.sh.in: New file.
30211 * gensymlist.sh.in: Likewise.
30212
1885bb27 302132006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30214
30215 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
30216 clobber "prefix", since we may have already set it manually.
30217
71538dff 302182006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30219
30220 * kern/misc.c (abort): New alias for grub_abort.
30221
2965c7cc 302222006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
30223
30224 A new machine-specific function "grub_machine_set_prefix" is
30225 defined. This is called after loading modules, so that a prefix
30226 initialization can use modules. Also, this change adds an
30227 intensive debugging feature for the memory manager via the
30228 configure option "--enable-mm-debug".
f19dbdb7 30229
2965c7cc 30230 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
30231 PART.LEN.
30232
30233 * kern/sparc64/ieee1275/init.c (abort): Removed.
30234 (grub_stop): Likewise.
30235 (grub_exit): New function.
30236 (grub_set_prefix): Renamed to ...
30237 (grub_machine_set_prefix): ... this.
30238 (grub_machine_init): Do not call grub_set_prefix.
30239
30240 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
30241 (grub_machine_set_prefix): ... this.
30242 (grub_machine_init): Do not call grub_set_prefix.
30243
30244 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
30245 (grub_machine_init): Do not set the prefix here.
30246
30247 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
30248
30249 * kern/efi/init.c: Include grub/mm.h.
30250 (grub_efi_set_prefix): New function.
30251
30252 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
30253 (grub_efi_get_filename): New function.
30254 (grub_print_device_path): Renamed to ...
30255 (grub_efi_print_device_path): ... this.
30256
30257 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
30258 [MM_DEBUG] (grub_realloc): Likewise.
30259 [MM_DEBUG] (grub_free): Likewise.
30260 [MM_DEBUG] (grub_memalign): Likewise.
30261 [MM_DEBUG] (grub_mm_debug): New variable.
30262 [MM_DEBUG] (grub_debug_malloc): New function.
30263 [MM_DEBUG] (grub_debug_free): New function.
30264 [MM_DEBUG] (grub_debug_realloc): New function.
30265 [MM_DEBUG] (grub_debug_memalign): New function.
30266
30267 * kern/misc.c (grub_abort): Print a newline to distinguish
30268 the message.
30269
30270 * kern/main.c (grub_main): Call grub_machine_set_prefix and
30271 grub_set_root_dev after loading modules. This is necessary when
30272 setting a prefix depends on modules.
30273
30274 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
30275 (grub_efi_print_device_path): ... this.
30276 (grub_efi_get_filename): New prototype.
30277 (grub_efi_set_prefix): Likewise.
30278
30279 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
30280 and grub/disk.h.
30281 (grub_efidisk_get_device_handle): New prototype.
30282 (grub_efidisk_get_device_name): Likewise.
30283
30284 * include/grub/mm.h: Include config.h.
30285 (MM_DEBUG): Removed.
30286 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
30287 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
30288 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
30289 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
30290 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
30291 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
30292 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
30293 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
30294 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
30295
30296 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
30297
30298 * disk/efi/efidisk.c: Include grub/partition.h.
30299 (iterate_child_devices): New function.
30300 (add_device): First, compare only last device path nodes, so that
30301 devices are sorted by the types.
30302 (grub_efidisk_get_device_handle): New function.
30303 (grub_efidisk_get_device_name): Likewise.
30304
30305 * configure.ac (--enable-mm-debug): New option to enable the
30306 memory manager debugging feature. This makes the binary much
30307 bigger, so is disabled by default.
30308
9cacaa17 303092006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
30310
30311 Use grub_abort instead of grub_stop, and grub_exit must be
30312 define in each architecture now. Also, this change adds support
30313 for EFI disks.
f19dbdb7 30314
9cacaa17 30315 * util/i386/pc/grub-probefs.c: Include grub/term.h.
30316 (grub_getkey): New function.
30317 (grub_term_get_current): Likewise.
30318
30319 * util/i386/pc/grub-setup.c: Include grub/term.h.
30320 (grub_getkey): New function.
30321 (grub_term_get_current): Likewise.
30322
30323 * util/misc.c (grub_stop): Renamed to ...
30324 (grub_exit): ... this.
30325
30326 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
30327 (grub_exit): ... this.
30328 (grub_machine_init): Use grub_abort instead of abort.
30329 (grub_stop): Removed.
30330
30331 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
30332 abort.
30333
30334 * kern/i386/pc/startup.S (grub_exit): New function.
30335 (cold_reboot): New label.
30336
30337 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
30338 (grub_efi_init): Call grub_efidisk_init.
30339 (grub_efi_fini): Call grub_efidisk_fini.
30340
30341 * kern/efi/efi.c: Include grub/mm.h.
30342 (grub_efi_console_control_guid): Renamed to ...
30343 (console_control_guid): ... this.
30344 (grub_efi_loaded_image_guid): Renamed to ...
30345 (loaded_image_guid): ... this.
30346 (grub_efi_locate_handle): New function.
30347 (grub_efi_open_protocol): Likewise.
30348 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
30349 GRUB_EFI_CONSOLE_CONTROL_GUID.
30350 (grub_efi_exit): Removed.
30351 (grub_stop): Likewise.
30352 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
30353 (grub_exit): New function.
30354 (grub_print_device_path): Likewise.
30355
30356 * kern/rescue.c (grub_rescue_cmd_exit): New function.
30357 (grub_enter_rescue_mode): Register "exit".
30358
30359 * kern/misc.c (grub_real_dprintf): A cosmetic change.
30360 (grub_abort): New function.
30361
30362 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
30363
30364 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
30365
30366 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
30367
30368 * include/grub/efi/efi.h (grub_efi_exit): Removed.
30369 (grub_print_device_path): New prototype.
30370 (grub_efi_locate_handle): Likewise.
30371 (grub_efi_open_protocol): Likewise.
30372
30373 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
30374 * disk/efi/efidisk.c: Likewise.
30375
30376 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
30377
30378 * include/grub/efi/console_control.h
30379 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
30380
30381 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
30382 last 8 bytes as an array.
30383 (GRUB_EFI_DISK_IO_GUID): New macro.
30384 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
30385 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
30386 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
30387 grub_uint8_t.
30388 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
30389 (struct grub_efi_device_path): Rename the member "sub_type" to
30390 "subtype".
30391 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
30392 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
30393 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
30394 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
30395 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
30396 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
30397 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
30398 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
30399 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
30400 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
30401 (struct grub_efi_pci_device_path): New structure.
30402 (grub_efi_pci_device_path_t): New type.
30403 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
30404 (struct grub_efi_pccard_device_path): New structure.
30405 (grub_efi_pccard_device_path_t): New type.
30406 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
30407 (struct grub_efi_memory_mapped_device_path): New structure.
30408 (grub_efi_memory_mapped_device_path_t): New type.
30409 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
30410 (struct grub_efi_vendor_device_path): New structure.
30411 (grub_efi_vendor_device_path_t): New type.
30412 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
30413 (struct grub_efi_controller_device_path): New structure.
30414 (grub_efi_controller_device_path_t): New type.
30415 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
30416 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
30417 (struct grub_efi_acpi_device_path): New structure.
30418 (grub_efi_acpi_device_path_t): New type.
30419 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
30420 (struct grub_efi_expanded_acpi_device_path): New structure.
30421 (grub_efi_expanded_acpi_device_path_t): New type.
30422 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
30423 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
30424 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
30425 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
30426 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
30427 (struct grub_efi_atapi_device_path): New structure.
30428 (grub_efi_atapi_device_path_t): New type.
30429 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
30430 (struct grub_efi_fibre_channel_device_path): New structure.
30431 (grub_efi_fibre_channel_device_path_t): New type.
30432 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
30433 (struct grub_efi_1394_device_path): New structure.
30434 (grub_efi_1394_device_path_t): New type.
30435 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
30436 (struct grub_efi_usb_device_path): New structure.
30437 (grub_efi_usb_device_path_t): New type.
30438 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
30439 (struct grub_efi_usb_class_device_path): New structure.
30440 (grub_efi_usb_class_device_path_t): New type.
30441 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
30442 (struct grub_efi_i2o_device_path): New structure.
30443 (grub_efi_i2o_device_path_t): New type.
30444 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
30445 (struct grub_efi_mac_address_device_path): New structure.
30446 (grub_efi_mac_address_device_path_t): New type.
30447 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
30448 (struct grub_efi_ipv4_device_path): New structure.
30449 (grub_efi_ipv4_device_path_t): New type.
30450 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
30451 (struct grub_efi_ipv6_device_path): New structure.
30452 (grub_efi_ipv6_device_path_t): New type.
30453 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
30454 (struct grub_efi_infiniband_device_path): New structure.
30455 (grub_efi_infiniband_device_path_t): New type.
30456 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
30457 (struct grub_efi_uart_device_path): New structure.
30458 (grub_efi_uart_device_path_t): New type.
30459 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
30460 (struct grub_efi_vendor_messaging_device_path): New structure.
30461 (grub_efi_vendor_messaging_device_path_t): New type.
30462 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
30463 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
30464 (struct grub_efi_hard_drive_device_path): New structure.
30465 (grub_efi_hard_drive_device_path_t): New type.
30466 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
30467 (struct grub_efi_cdrom_device_path): New structure.
30468 (grub_efi_cdrom_device_path_t): New type.
30469 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
30470 (struct grub_efi_vendor_media_device_path): New structure.
30471 (grub_efi_vendor_media_device_path_t): New type.
30472 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
30473 (struct grub_efi_file_path_device_path): New structure.
30474 (grub_efi_file_path_device_path_t): New type.
30475 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
30476 (struct grub_efi_protocol_device_path): New structure.
30477 (grub_efi_protocol_device_path_t): New type.
30478 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
30479 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
30480 (struct grub_efi_bios_device_path): New structure.
30481 (grub_efi_bios_device_path_t): New type.
30482 (struct grub_efi_disk_io): New structure.
30483 (grub_efi_disk_io_t): New type.
30484 (struct grub_efi_block_io_media): New structure.
30485 (grub_efi_block_io_media_t): New type.
30486 (struct grub_efi_block_io): New structure.
30487 (grub_efi_block_io_t): New type.
30488
30489 * include/grub/misc.h (grub_stop): Removed.
30490 (grub_exit): New prototype.
30491 (grub_abort): Likewise.
30492
30493 * include/grub/disk.h (enum grub_disk_dev_id): Added
30494 GRUB_DISK_DEVICE_EFIDISK_ID.
30495
30496 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
30497 disk/efi/efidisk.c.
30498 (kernel_syms.lst): Remove the target if an error occurs.
30499
49986a9f 305002006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
30501
30502 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
30503 as it was simply too buggy.
30504
970d3b8a 305052006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
30506
30507 * kern/misc.c (grub_lltoa): New function.
30508 (grub_vsprintf): Added support for the long long suffix,
30509 i.e. "ll".
30510
ff04ec24 305112006-04-20 Hollis Blanchard <hollis@penguinppc.org>
30512
30513 * Makefile.in (LDFLAGS): Add variable.
30514 (LD): Remove variable.
30515 * configure.ac: Add -m32 to LDFLAGS.
30516 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
30517 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
30518 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
30519 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
30520 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
30521 variables.
30522 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
30523 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
30524 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
30525
37e5e1a4 305262006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
30527
30528 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
30529 length for unknown glyph.
30530
c352d8dd 305312006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30532
2eab1c0d 30533 Add support for pre-loaded modules into the EFI port.
f19dbdb7 30534
2eab1c0d 30535 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
30536 completely. Accept one more argument DIR. The caller has changed.
30537
30538 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
30539
30540 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
30541 (grub_efi_loaded_image_guid): New variable.
30542 (grub_efi_get_loaded_image): New function.
30543 (grub_arch_modules_addr): Likewise.
30544
30545 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
30546 prototype.
30547
30548 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
30549 (struct grub_efi_loaded_image): New structure.
30550 (grub_efi_loaded_image_t): New type.
30551
305522006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30553
c352d8dd 30554 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
30555 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
30556 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
30557
6d01d6b4 305582006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
30559
30560 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
30561
976a4ea0 305622006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
30563
30564 * DISTLIST: Added include/grub/efi/console.h,
30565 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
30566 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30567
30568 * include/grub/efi/console.h: New file.
30569 * include/grub/efi/time.h: Likewise.
30570 * include/grub/i386/efi/kernel.h: Likewise.
30571 * kern/efi/init.c: Likewise.
30572 * kern/efi/mm.c: Likewise.
30573 * term/efi/console.c: Likewise.
f19dbdb7 30574
976a4ea0 30575 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
30576 (grub_stop): Removed.
30577 (grub_get_rtc): Likewise.
30578 (grub_machine_init): Simply call grub_efi_init.
30579 (grub_machine_fini): Call grub_efi_fini.
30580
30581 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
30582 (grub_efi_output_string): Removed.
30583 (grub_efi_stall): New function.
30584 (grub_stop): Likewise.
30585 (grub_get_rtc): Likewise.
30586
30587 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
30588 (grub_efi_stall): New prototype.
30589 (grub_efi_allocate_pages): Likewise.
30590 (grub_efi_free_pages): Likewise.
30591 (grub_efi_get_memory_map): Likewise.
30592 (grub_efi_mm_init): Likewise.
30593 (grub_efi_mm_fini): Likewise.
30594 (grub_efi_init): Likewise.
30595 (grub_efi_fini): Likewise.
30596
30597 * include/grub/i386/efi/time.h: Do not include
30598 grub/symbol.h. Include grub/efi/time.h.
30599 (GRUB_TICKS_PER_SECOND): Removed.
30600 (grub_get_rtc): Likewise.
30601
30602 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
30603 Added padding. The EFI spec is buggy.
30604 (GRUB_EFI_BLACK): New macro.
30605 (GRUB_EFI_BLUE): Likewise.
30606 (GRUB_EFI_GREEN): Likewise.
30607 (GRUB_EFI_CYAN): Likewise.
30608 (GRUB_EFI_RED): Likewise.
30609 (GRUB_EFI_MAGENTA): Likewise.
30610 (GRUB_EFI_BROWN): Likewise.
30611 (GRUB_EFI_LIGHTGRAY): Likewise.
30612 (GRUB_EFI_BRIGHT): Likewise.
30613 (GRUB_EFI_DARKGRAY): Likewise.
30614 (GRUB_EFI_LIGHTBLUE): Likewise.
30615 (GRUB_EFI_LIGHTGREEN): Likewise.
30616 (GRUB_EFI_LIGHTCYAN): Likewise.
30617 (GRUB_EFI_LIGHTRED): Likewise.
30618 (GRUB_EFI_LIGHTMAGENTA): Likewise.
30619 (GRUB_EFI_YELLOW): Likewise.
30620 (GRUB_EFI_WHITE): Likewise.
30621 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
30622 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
30623 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
30624 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
30625 (GRUB_EFI_BACKGROUND_RED): Likewise.
30626 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
30627 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
30628 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
30629 (GRUB_EFI_TEXT_ATTR): Likewise.
30630
30631 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
30632 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30633 (kernel_mod_HEADERS): Added efi/time.h.
30634
83709125 306352006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
30636
30637 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
30638 include/grub/efi/api.h, include/grub/efi/console_control.h,
30639 include/grub/efi/efi.h, include/grub/efi/pe32.h,
30640 include/grub/i386/efi/time.h, kern/efi/efi.c,
30641 kern/i386/efi/init.c, kern/i386/efi/startup.S,
30642 and util/i386/efi/grub-mkimage.c.
30643
30644 * Makefile.in (RMKFILES): Added i386-efi.rmk.
30645
30646 * genmk.rb (PModule#rule): Do not export symbols if
30647 #{prefix}_EXPORTS is set to "no".
30648
30649 * conf/i386-efi.mk: New file.
30650 * conf/i386-efi.rmk: Likewise.
30651 * include/grub/efi/api.h: Likewise.
30652 * include/grub/efi/console_control.h: Likewise.
30653 * include/grub/efi/efi.h: Likewise.
30654 * include/grub/efi/pe32.h: Likewise.
30655 * include/grub/i386/efi/time.h: Likewise.
30656 * kern/efi/efi.c: Likewise.
30657 * kern/i386/efi/init.c: Likewise.
30658 * kern/i386/efi/startup.S: Likewise.
30659 * util/i386/efi/grub-mkimage.c: Likewise.
30660
306612006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 30662
30663 * include/grub/script.h: Include <grub/parser.h> and
30664 "grub_script.tab.h".
30665 (struct grub_lexer_param): New struct.
30666 (struct grub_parser_param): Likewise.
30667 (grub_script_create_arglist): Pass the state in an argument.
30668 (grub_script_add_arglist): Likewise.
30669 (grub_script_create_cmdline): Likewise.
30670 (grub_script_create_cmdblock): Likewise.
30671 (grub_script_create_cmdif): Likewise.
30672 (grub_script_create_cmdmenu): Likewise.
30673 (grub_script_add_cmd): Likewise.
30674 (grub_script_arg_add): Likewise.
30675 (grub_script_lexer_ref): Likewise.
30676 (grub_script_lexer_deref): Likewise.
30677 (grub_script_lexer_record_start): Likewise.
30678 (grub_script_lexer_record_stop): Likewise.
30679 (grub_script_mem_record): Likewise.
30680 (grub_script_mem_record_stop): Likewise.
30681 (grub_script_malloc): Likewise.
30682 (grub_script_yylex): Likewise.
30683 (grub_script_yyparse): Likewise.
30684 (grub_script_yyerror): Likewise.
30685 (grub_script_yylex): Likewise.
30686 (grub_script_lexer_init): Return the state.
30687
30688 * normal/lexer.c (grub_script_lexer_state): Removed variable.
30689 (grub_script_lexer_done): Likewise.
30690 (grub_script_lexer_getline): Likewise.
30691 (grub_script_lexer_refs): Likewise.
30692 (script): Likewise.
30693 (newscript): Likewise.
30694 (record): Likewise.
30695 (recording): Likewise.
30696 (recordpos): Likewise.
30697 (recordlen): Likewise.
30698 (grub_script_lexer_init): Return the state instead of setting
30699 global variables.
30700 (grub_script_lexer_ref): Use the newly added argument for state
30701 instead of globals.
30702 (grub_script_lexer_deref): Likewise.
30703 (grub_script_lexer_record_start): Likewise.
30704 (grub_script_lexer_record_stop): Likewise.
30705 (recordchar): Likewise.
30706 (nextchar): Likewise.
30707 (grub_script_yylex2): Likewise.
30708 (grub_script_yylex): Likewise.
30709 (grub_script_yyerror): Likewise.
30710
30711 * normal/parser.y (func_mem): Removed variable.
30712 (menu_entry): Likewise.
30713 (err): Likewise.
30714 (%lex-param): New parser option.
30715 (%parse-param): Likewise.
30716 (script): Always return the AST.
30717 (argument): Pass the state around.
30718 (arguments): Likewise.
30719 (grubcmd): Likewise.
30720 (commands): Likewise.
30721 (function): Likewise.
30722 (menuentry): Likewise.
30723 (if_statement): Likewise.
30724 (if): Likewise.
30725
30726 * normal/script.c (grub_script_memused): Removed variable.
30727 (grub_script_parsed): Likewise.
30728 (grub_script_malloc): Added a state argument. Use that instead of
30729 global variables.
30730 (grub_script_mem_record): Likewise.
30731 (grub_script_mem_record_stop): Likewise.
30732 (grub_script_arg_add): Likewise.
30733 (grub_script_add_arglist): Likewise.
30734 (grub_script_create_cmdline): Likewise.
30735 (grub_script_create_cmdif): Likewise.
30736 (grub_script_create_cmdmenu): Likewise.
30737 (grub_script_add_cmd): Likewise.
30738 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 30739
e2a8c904 307402006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 30741
30742 * normal/command.c (grub_command_init): Remove the title command.
30743
30744 * normal/lexer.c (grub_script_yylex): Renamed from this...
30745 (grub_script_yylex2): ... to this.
30746 (grub_script_yylex): New function. Temporary
30747 introduced to filter some tokens.
30748 (grub_script_yyerror): Print a newline.
30749
30750 * normal/main.c (read_config_file): Output information about the
30751 lines that contain errors. Wait for a key after all lines have
30752 been processed. Don't return an empty menu.
30753
30754 * normal/parser.y (func_mem): Don't initialize.
30755 (menu_entry): Likewise.
30756 (err): New variable.
30757 (script): Don't return anything when an error was encountered.
30758 (ws, returns): Removed rules.
30759 (argument): Disabled concatenated variable support.
30760 (arguments): Remove explicit separators.
30761 (grubcmd): Likewise.
30762 (function): Likewise.
30763 (menuentry): Likewise.
30764 (if): Likewise.
30765 (commands): Likewise. Add error handling.
30766
30767 * normal/script.c (grub_script_create_cmdline): If
30768 `grub_script_parsed' is 0, assume the parser encountered an error.
30769
c9a86192 307702006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
30771
30772 * configure.ac: Add support for EFI. Fix the typo
30773 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
30774
70f3b243 307752006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30776
30777 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
30778 foreign multibyte characters should be shown correctly.
30779
65f201ad 307802006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30781
30782 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
30783 calculation.
30784 (read_config_file): Made it to close file before returning.
30785
b4b93674 307862006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
30787
30788 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
30789 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
30790 video/i386/pc/vbefill.c.
30791
30792 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
30793 video/i386/pc/vbefill.c.
30794
30795 * include/grub/video.h (grub_video_blit_format): New enum.
30796 (grub_video_mode_info): Added new member blit_format.
30797 (grub_video_get_blit_format): New function prototype.
30798
30799 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
30800 function prototype.
30801 (grub_video_vbe_map_rgb): Likewise.
30802 (grub_video_vbe_unmap_color): Likewise.
30803
30804 * include/grub/i386/pc/vbeblit.h: New file.
30805
30806 * include/grub/i386/pc/vbefill.h: New file.
30807
30808 * video/video.c (grub_video_get_blit_format): New function.
30809 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
30810 (grub_video_vbe_map_rgb): Likewise.
30811 (grub_video_vbe_unmap_color): Likewise.
30812
30813 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
30814 optimized fills.
30815 (grub_video_vbe_blit_render_target): Changed to use more optimized
30816 blits.
30817 (grub_video_vbe_setup): Added detection for optimized settings.
30818 (grub_video_vbe_create_render_target): Likewise.
30819
30820 * video/i386/pc/vbeblit.c: New file.
30821
30822 * video/i386/pc/vbefill.c: New file.
30823
c2379b9c 308242006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
30825
30826 * font/manager.c (grub_font_get_glyph): Removed font fixup from
30827 here...
30828
30829 * util/unifont2pff.rb: ... and moved it to here. Improved argument
30830 parsing to support both hex and dec ranges. If filename was missing
30831 show usage information.
30832
bd0d7896 308332006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
30834
30835 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
30836 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
30837
30838 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
30839 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
30840 (video_mod_SOURCES): Added.
30841 (video_mod_CFLAGS): Likewise.
30842 (video_mod_LDFLAGS): Likewise.
30843 (gfxterm_mod_SOURCES): Likewise.
30844 (gfxterm_mod_CFLAGS): Likewise.
30845 (gfxterm_mod_LDFLAGS): Likewise.
30846 (videotest_mod_SOURCES): Likewise.
30847 (videotest_mod_CFLAGS): Likewise.
30848 (videotest_mod_LDFLAGS): Likewise.
30849 (vesafb_mod_SOURCES): Removed.
30850 (vesafb_mod_CFLAGS): Likewise.
30851 (vesafb_mod_LDFLAGS): Likewise.
30852 (vga_mod_SOURCES): Likewise.
30853 (vga_mod_CFLAGS): Likewise.
30854 (vga_mod_LDFLAGS): Likewise.
30855
30856 * commands/videotest.c: New file.
30857
30858 * font/manager.c (fill_with_default_glyph): Modified to use
30859 grub_font_glyph.
30860 (grub_font_get_glyph): Likewise.
30861 (fontmanager): Renamed from this...
30862 (font_manager): ... to this.
30863
30864 * include/grub/font.h (grub_font_glyph): Added new structure.
30865 (grub_font_get_glyph): Modified to use grub_font_glyph.
30866
30867 * include/grub/misc.h (grub_abs): Added as inline function.
30868
30869 * include/grub/video.h: New file.
30870
30871 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
30872 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
30873 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
30874 (grub_vbe_get_controller_info): Renamed from this...
30875 (grub_vbe_bios_get_controller_info): ... to this.
30876 (grub_vbe_get_mode_info): Renamed from this...
30877 (grub_vbe_bios_get_mode_info): ... to this.
30878 (grub_vbe_set_mode): Renamed from this...
30879 (grub_vbe_bios_set_mode): ... to this.
30880 (grub_vbe_get_mode): Renamed from this...
30881 (grub_vbe_bios_get_mode): ... to this.
30882 (grub_vbe_set_memory_window): Renamed from this...
30883 (grub_vbe_bios_set_memory_window): ... to this.
30884 (grub_vbe_get_memory_window): Renamed from this...
30885 (grub_vbe_bios_get_memory_window): ... to this.
30886 (grub_vbe_set_scanline_length): Renamed from this...
30887 (grub_vbe_set_scanline_length): ... to this.
30888 (grub_vbe_get_scanline_length): Renamed from this...
30889 (grub_vbe_bios_get_scanline_length): ... to this.
30890 (grub_vbe_set_display_start): Renamed from this...
30891 (grub_vbe_bios_set_display_start): ... to this.
30892 (grub_vbe_get_display_start): Renamed from this...
30893 (grub_vbe_bios_get_display_start): ... to this.
30894 (grub_vbe_set_palette_data): Renamed from this...
30895 (grub_vbe_bios_set_palette_data): ... to this.
30896 (grub_vbe_set_pixel_rgb): Removed.
30897 (grub_vbe_set_pixel_index): Likewise.
30898
30899 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
30900 from this...
30901 (grub_vbe_bios_get_controller_info): ... to this.
30902 (grub_vbe_get_mode_info): Renamed from this...
30903 (grub_vbe_bios_get_mode_info): ... to this.
30904 (grub_vbe_set_mode): Renamed from this...
30905 (grub_vbe_bios_set_mode): ... to this.
30906 (grub_vbe_get_mode): Renamed from this...
30907 (grub_vbe_bios_get_mode): ... to this.
30908 (grub_vbe_set_memory_window): Renamed from this...
30909 (grub_vbe_bios_set_memory_window): ... to this.
30910 (grub_vbe_get_memory_window): Renamed from this...
30911 (grub_vbe_bios_get_memory_window): ... to this.
30912 (grub_vbe_set_scanline_length): Renamed from this...
30913 (grub_vbe_set_scanline_length): ... to this.
30914 (grub_vbe_get_scanline_length): Renamed from this...
30915 (grub_vbe_bios_get_scanline_length): ... to this.
30916 (grub_vbe_set_display_start): Renamed from this...
30917 (grub_vbe_bios_set_display_start): ... to this.
30918 (grub_vbe_get_display_start): Renamed from this...
30919 (grub_vbe_bios_get_display_start): ... to this.
30920 (grub_vbe_set_palette_data): Renamed from this...
30921 (grub_vbe_bios_set_palette_data): ... to this.
30922 (grub_vbe_bios_get_controller_info): Fixed problem with registers
30923 getting corrupted after calling it. Added more pushes and pops.
30924 (grub_vbe_bios_set_mode): Likewise.
30925 (grub_vbe_bios_get_mode): Likewise.
30926 (grub_vbe_bios_get_memory_window): Likewise.
30927 (grub_vbe_bios_set_scanline_length): Likewise.
30928 (grub_vbe_bios_get_scanline_length): Likewise.
30929 (grub_vbe_bios_get_display_start): Likewise.
30930 (grub_vbe_bios_set_palette_data): Likewise.
30931
30932 * normal/cmdline.c (cl_set_pos): Refresh the screen.
30933 (cl_insert): Likewise.
30934 (cl_delete): Likewise.
30935
30936 * term/gfxterm.c: New file.
30937
30938 * term/i386/pc/vesafb.c: Removed file.
30939
30940 * video/video.c: New file.
30941
30942 * video/i386/pc/vbe.c (real2pm): Added new function.
30943 (grub_video_vbe_draw_pixel): Likewise.
30944 (grub_video_vbe_get_video_ptr): Likewise.
30945 (grub_video_vbe_get_pixel): Likewise
30946 (grub_video_vbe_init): Likewise.
30947 (grub_video_vbe_fini): Likewise.
30948 (grub_video_vbe_setup): Likewise.
30949 (grub_video_vbe_get_info): Likewise.
30950 (grub_video_vbe_set_palette): Likewise.
30951 (grub_video_vbe_get_palette): Likewise.
30952 (grub_video_vbe_set_viewport): Likewise.
30953 (grub_video_vbe_get_viewport): Likewise.
30954 (grub_video_vbe_map_color): Likewise.
30955 (grub_video_vbe_map_rgb): Likewise.
30956 (grub_video_vbe_map_rgba): Likewise.
30957 (grub_video_vbe_unmap_color): Likewise.
30958 (grub_video_vbe_fill_rect): Likewise.
30959 (grub_video_vbe_blit_glyph): Likewise.
30960 (grub_video_vbe_blit_bitmap): Likewise.
30961 (grub_video_vbe_blit_render_target): Likewise.
30962 (grub_video_vbe_scroll): Likewise.
30963 (grub_video_vbe_swap_buffers): Likewise.
30964 (grub_video_vbe_create_render_target): Likewise.
30965 (grub_video_vbe_delete_render_target): Likewise.
30966 (grub_video_vbe_set_active_render_target): Likewise.
30967 (grub_vbe_set_pixel_rgb): Remove function.
30968 (grub_vbe_set_pixel_index): Likewise.
30969 (index_color_mode): Remove static variable.
30970 (active_mode): Likewise.
30971 (framebuffer): Likewise.
30972 (bytes_per_scan_line): Likewise.
30973 (grub_video_vbe_adapter): Added new static variable.
30974 (framebuffer): Likewise.
30975 (render_target): Likewise.
30976 (initial_mode): Likewise.
30977 (mode_in_use): Likewise.
30978 (mode_list): Likewise.
30979
5f97350b 309802006-03-10 Marco Gerards <marco@gnu.org>
30981
30982 * configure.ac (AC_INIT): Bumped to 1.93.
30983
30984 * DISTLIST: Added `include/grub/hfs.h'.
30985
a3c5c6f8 309862006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
30987
30988 * boot/i386/pc/boot.S (general_error): Before looping, try INT
30989 18H, which might help the BIOS falling back to next boot media.
30990
6de53d26 309912006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
30992
30993 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
30994 Poe Chen <poe.poechen@gmail.com>.
30995
77c4a393 309962006-01-17 Marco Gerards <marco@gnu.org>
30997
30998 * include/grub/normal.h: Include <grub/script.h>.
30999 (grub_command_list): Removed struct.
31000 (grub_command_list_t): Removed type.
31001 (grub_menu_entry): Remove members `num' and `command_list'. Add
31002 members `commands' and `sourcecode'.
31003 * include/grub/script.h: Add inclusion guards.
31004 (grub_script_cmd_menuentry): New struct.
31005 (grub_script_execute_menuentry): New prototype.
31006 (grub_script_lexer_record_start): Likewise.
31007 (grub_script_lexer_record_stop): Likewise.
31008 * normal/execute.c (grub_script_execute_menuentry): New function.
31009 * normal/lexer.c (record, recording, recordpos, recordlen): New
31010 variables.
31011 (grub_script_lexer_record_start): New function.
31012 (grub_script_lexer_record_stop): Likewise.
31013 (recordchar): Likewise.
31014 (nextchar): Likewise.
31015 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
31016 2048 as the buffer size. Add the tokens `menuentry' and `@'.
31017 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
31018 (current_menu): New variable.
31019 (free_menu): Mainly rewritten.
31020 (grub_normal_menu_addentry): New function.
31021 (read_config_file): Rewritten.
31022 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 31023 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 31024 the menu entry.
31025 (run): Mainly rewritten.
31026 * normal/parser.y (menu_entry): New variable.
31027 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
31028 (menuentry): New rule.
31029 (command): Add `menuentry'.
31030 (if_statement): Allow additional returns before `fi'.
31031 * normal/script.c (grub_script_create_cmdmenu): New function.
31032
144f1f98 310332006-01-03 Marco Gerards <marco@gnu.org>
31034
31035 * INSTALL: GNU Bison is required.
31036 * configure.ac: Rewritten the test to detect Bison.
31037 * Makefile.in (YACC): New variable. Reported by Xun Sun
31038 <xun.sun.cn@gmail.com>.
31039
af4b2d89 310402006-01-03 Marco Gerards <marco@gnu.org>
31041
31042 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
31043 the HFS+ filesystem to filesystem blocks.
31044 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
31045 GCC warning is silenced.
31046
15643b71 310472006-01-03 Marco Gerards <marco@gnu.org>
31048
31049 * partmap/apple.c (apple_partition_map_iterate): Convert the data
31050 read from disk from big endian to host byte order.
31051
00905879 310522006-01-03 Hollis Blanchard <hollis@penguinppc.org>
31053
31054 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
31055 documentation.
31056 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
31057 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
31058 embedded HFS+ filesystem.
31059 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
31060 (grub_hfs_sblock): Move from here...
31061 * include/grub/hfs.h: To here... New file.
31062 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
31063 documentation.
31064 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
31065 New macros.
31066 (grub_hfsplus_volheader): Change type of member `magic' to
31067 `grub_uint16_t'.
31068 (grub_hfsplus_data): Add new member `embedded_offset'.
31069 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
31070 returned block.
31071 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
31072 Calculate the offset.
31073
8899bc3e 310742005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31075
31076 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
31077 Removed.
31078 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
31079
ae8c0277 310802005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31081
31082 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
31083 ENV->NAME is NULL after allocating ENV->VALUE.
31084
07084456 310852005-12-25 Marco Gerards <marco@gnu.org>
31086
31087 * kern/env.c (grub_env_set): Rewritten the error handling code.
31088
4750f5f1 310892005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31090
31091 * geninit.sh: Made more robust, and more portable.
31092
50214199 310932005-12-25 Marco Gerards <marco@gnu.org>
31094
31095 Add support for Apple HFS+ filesystems.
f19dbdb7 31096
50214199 31097 * fs/hfsplus.c: New file.
31098
31099 * DISTLIST: Added `fs/hfsplus.c'.
31100
31101 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
31102 (hfsplus_mod_SOURCES): New variable.
31103 (hfsplus_mod_CFLAGS): Likewise.
31104 (hfsplus_mod_LDFLAGS): Likewise.
31105 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
31106 (grub_setup_SOURCES): Likewise.
31107 (grub_mkdevicemap_SOURCES): Likewise.
31108 (grub_emu_SOURCES): Likewise.
31109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31110
31111 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
31112
31113 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
31114
befaed6c 311152005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31116
31117 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
31118 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
31119 include/grub/parser.h, include/grub/script.h, kern/parser.c,
31120 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
31121 normal/lexer.c, normal/parser.y, normal/script.c, and
31122 partmap/gpt.c.
31123 Removed kern/sparc64/cache.c.
31124
31125 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
31126 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
31127 grub_emu_init.c.
31128
31129 * configure.ac (AC_INIT): Bumped to 1.92.
31130
6a124103 311312005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
31132
31133 * kern/err.c (grub_error_push): Added new function to support error
31134 stacks.
31135 (grub_error_pop): Likewise.
31136 (grub_error_stack_items): New local variable to support error stacks.
31137 (grub_error_stack_pos): Likewise.
31138 (grub_error_stack_assert): Likewise.
31139 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
31140 stack depth.
31141 (grub_print_error): Added support to print errors from error stack.
31142
31143 * include/grub/err.h (grub_error_push): Added function prototype.
31144 (grub_error_pop): Likewise.
31145
be973c1b 311462005-12-09 Hollis Blanchard <hollis@penguinppc.org>
31147
31148 * configure.ac: Accept `powerpc64' as host_cpu.
31149 (amd64): Rename to `biarch32'.
31150
31151 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
31152 non-cacheline-aligned addresses.
31153
31154 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
31155 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
31156 if `size' is non-zero.
31157
b04216ab 311582005-12-03 Marco Gerards <mgerards@xs4all.nl>
31159
31160 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
31161 and `cd' to make sure the filename is not prefixed with a
31162 directory name.
31163 (pkgdata_MODULES): Add `gpt.mod'.
31164 (gpt_mod_SOURCES): New variable.
31165 (gpt_mod_CFLAGS): Likewise.
31166 (gpt_mod_LDFLAGS): Likewise.
31167
31168 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
31169
31170 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
31171 New macro.
31172
31173 * partmap/gpt.c: New file.
31174
31175 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
31176 GPT partition map is detected.
31177
41730ed9 311782005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
31179
31180 * commands/i386/pc/play.c: New file.
31181 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
31182 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
31183 macros.
f19dbdb7 31184
95dc3643 311852005-11-27 Marco Gerards <mgerards@xs4all.nl>
31186
31187 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
31188 ((unused))' to silence gcc warning.
31189
1569ec51 311902005-11-26 Hollis Blanchard <hollis@penguinppc.org>
31191
31192 * configure.ac: Correct `AC_PROG_YACC' test.
31193
9abde152 311942005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31195
31196 * util/powerpc/ieee1275/grub-install.in: Run the mount point
31197 check before installing files.
31198
44b83271 311992005-11-22 Mike Small <smallm@panix.com>
31200
31201 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
31202 number regex so multidigit numbers are recognized correctly.
31203
312042005-11-22 Mike Small <smallm@panix.com>
31205
31206 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
31207 debugging message before attempting to claim memory.
31208 (grub_rescue_cmd_initrd): Add a claim debugging message and try
31209 multiple addresses in case of failure.
31210
9c12956b 312112005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31212
31213 * term/tparm.c (get_space): Remove empty `if' statement.
31214
31215 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
31216
31217 * kern/parser.c (check_varstate): Rename `state' to 's'.
31218
aeaf81d9 312192005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31220
31221 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
31222 variable definitions to the beginning of each function. Sort stack
31223 variables by size.
31224 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
31225 `buf' argument to `char *'.
31226
79bbb63f 312272005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31228
31229 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
31230 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 31231 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 31232 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31233 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31234 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31235 configfile.mod, search.mod, gzio.mod and test.mod.
31236 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31237 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31238 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31239 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31240 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31241 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31242 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31243 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31244 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31245 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31246 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31247 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31248 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31249 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31250 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31251 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31252 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31253 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31254 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31255 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31256 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31257 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31258 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
31259
31260 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
31261 `grep --include'.
31262 (pkgdata_MODULES): Add test.mod.
31263
233b1628 312642005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31265
31266 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
31267 appending to variables with "+=".
31268 (PModule): Use full pathname to generate *.lst filenames.
31269
31270 * Makefile.in: Fixed list rules moved from genmk.rb.
31271 (.DELETE_ON_ERROR): New special target.
31272 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
31273
31274 * conf/i386-pc.rmk: Include conf/common.mk.
31275 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 31276 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 31277 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31278 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31279 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31280 configfile.mod, search.mod, gzio.mod and test.mod.
31281 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31282 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31283 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31284 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31285 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31286 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31287 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31288 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31289 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31290 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31291 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31292 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31293 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31294 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31295 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31296 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31297 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31298 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31299 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31300 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31301 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31302 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31303 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
31304 here...
31305 * conf/common.rmk: ... to here. New file.
31306
31307 * conf/common.mk: New file.
31308
16f820c8 313092005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
31310
31311 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
31312 (grub_script.tab.c): ... here.
31313
31314 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
31315 (grub_script.tab.c): ... here.
31316
31317 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
31318 (grub_script.tab.c): ... here.
31319
31320 * normal/command.c (grub_command_find): Fixed a memory leak of
31321 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
31322
63ba1554 313232005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31324
31325 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
31326 "@" which marks the start of a comment on ARM.
31327 (VARIABLE): Likewise.
31328
7f67dc13 313292005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31330
79bbb63f 31331 Add support for Linux/ADFS partition tables.
7f67dc13 31332
31333 * partmap/acorn.c: New file.
31334
31335 * include/grub/acorn_filecore.h: Likewise.
31336
31337 * DISTLIST: Added `partmap/acorn.c' and
31338 `include/grub/acorn_filecore.h'.
f19dbdb7 31339
7f67dc13 31340 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31341 `partmap/acorn.c'.
31342 (pkgdata_MODULES): Add `acorn.mod'.
31343 (acorn_mod_SOURCES): New variable.
31344 (acorn_mod_CFLAGS): Likewise.
31345
31346 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31347 `partmap/acorn.c'.
31348 (pkgdata_MODULES): Add `acorn.mod'.
31349 (acorn_mod_SOURCES): New variable.
31350 (acorn_mod_CFLAGS): Likewise.
31351
31352 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
31353 (pkgdata_MODULES): Add `acorn.mod'.
31354 (acorn_mod_SOURCES): New variable.
31355 (acorn_mod_CFLAGS): Likewise.
31356 (acorn_mod_LDFLAGS): Likewise.
31357
31358 * include/types.h (grub_disk_addr_t): New typedef.
31359
6d099807 313602005-11-13 Marco Gerards <mgerards@xs4all.nl>
31361
31362 * geninit.sh: New file.
31363
31364 * geninitheader.sh: Likewise.
31365
31366 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
31367 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
31368 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
31369 * commands/configfile.c (grub_configfile_init)
31370 (grub_configfile_fini): Likewise.
31371 * commands/default.c (grub_default_init, grub_default_fini):
31372 Likewise.
31373 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
31374 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
31375 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
31376 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
31377 Likewise.
31378 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
31379 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
31380 Likewise.
31381 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 31382 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 31383 Likewise.
31384 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
31385 Likewise.
fe6b695a 31386 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 31387 Likewise.
31388 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
31389 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
31390 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
31391 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
31392 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
31393 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
31394 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
31395 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
31396 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
31397 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
31398 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
31399 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
31400 * partmap/amiga.c (grub_amiga_partition_map_init)
31401 (grub_amiga_partition_map_fini): Likewise.
31402 * partmap/apple.c (grub_apple_partition_map_init)
31403 (grub_apple_partition_map_fini): Likewise.
31404 * partmap/pc.c (grub_pc_partition_map_init)
31405 (grub_pc_partition_map_fini): Likewise.
31406 * partmap/sun.c (grub_sun_partition_map_init,
31407 grub_sun_partition_map_fini): Likewise.
31408 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
31409 Likewise.
31410
31411 * util/grub-emu.c: Include <grub_modules_init.h>.
31412 (main): Don't initialize and de-initialize any modules directly,
31413 use `grub_init_all' and `grub_fini_all' instead.
31414
31415 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
31416 `grub_vesafb_mod_init'.
31417 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
31418 all users.
31419 * term/i386/pc/vga.c (grub_vga_init): Renamed to
31420 `grub_vga_mod_init'. Updated all users.
31421 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 31422
6d099807 31423 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
31424 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
31425 rules.
31426
31427 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
31428 Generate a function to initialize the module in utilities.
31429 Updated all callers.
31430 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
31431 initialize the module in utilities. Updated all callers.
31432
9046bcf0 314332005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31434
31435 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
31436 escape sequence and a literal ^L to clear the screen.
31437
31438 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
31439 when returning from Open Firmware.
31440
d13ea639 314412005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31442
31443 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
31444 (grub_ofconsole_height): Likewise.
31445 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
31446 manually insert a '\n'.
31447 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
31448 `grub_ofconsole_height'. Return early if these are already set.
31449
a8fcf206 314502005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
31451
31452 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31453 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
31454 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
31455 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
31456 and `normal/script.c'.
31457 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31458 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31459 (test_mod_SOURCES): New variable.
31460 (test_mod_CFLAGS): Likewise.
31461 (test_mod_LDFLAGS): Likewise.
31462 (pkgdata_MODULES): Add `test.mod'.
31463 (grub_script.tab.c): New rule.
31464 (grub_script.tab.h): Likewise.
31465
b6b32745 314662005-11-07 Marco Gerards <mgerards@xs4all.nl>
31467
31468 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31469 `commands/test.c', `normal/execute.c', `normal/lexer.c',
31470 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31471 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31472 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31473 (test_mod_SOURCES): New variable.
31474 (test_mod_CFLAGS): Likewise.
31475 (pkgdata_MODULES): Add `test.mod'.
31476 (grub_script.tab.c): New rule.
31477 (grub_script.tab.h): Likewise.
31478
daac212a 314792005-11-06 Marco Gerards <mgerards@xs4all.nl>
31480
31481 Add initial scripting support.
31482
31483 * commands/test.c: New file.
31484 * include/grub/script.h: Likewise.
31485 * normal/execute.c: Likewise.
31486 * normal/function.c: Likewise.
31487 * normal/lexer.c: Likewise.
31488 * normal/parser.y: Likewise.
31489 * normal/script.c: Likewise.
31490
31491 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 31492
daac212a 31493 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
31494 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
31495 `normal/function.c' and `normal/script.c'.
31496 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31497 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 31498 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
31499 variables.
daac212a 31500 (pkgdata_MODULES): Add `test.mod'.
31501 (grub_script.tab.c): New rule.
31502 (grub_script.tab.h): Likewise.
31503
31504 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
31505
31506 * include/grub/normal.h (grub_test_init): New prototype.
31507 (grub_test_fini): Likewise.
f19dbdb7 31508
daac212a 31509 * normal/command.c: Include <grub/script.h>.
31510 (grub_command_execute): Rewritten.
f19dbdb7 31511
daac212a 31512 * util/grub-emu.c (main): Call `grub_test_init' and
31513 `grub_test_fini'.
31514
77500b2b 315152005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31516
31517 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
31518 to 0.
31519 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
31520 there are no pending characters.
31521
e45deb9e 315222005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31523
31524 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
31525 `grub_strndup' to drop device arguments. Replace unnecessary
31526 `grub_strndup' with `grub_strdup'.
31527
4ce32619 315282005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31529
31530 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
31531 `debug' environment variable has been set.
31532
315332005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 31534
4ce32619 31535 * Makefile.in (install-local): Use $(DATA).
31536 (uninstall): Likewise.
31537 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
31538 (sbin_UTILITIES): ... to here.
31539 (sbin_SCRIPTS): New variable.
31540 (grub_install_SOURCES): New variable.
31541 * util/powerpc/ieee1275/grub-install.in: New file.
31542 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
31543 variable.
31544 (add_segments): Call `grub_util_get_path'.
31545
25fe6f03 315462005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
31547
31548 From Timothy Baldwin:
31549 * commands/ls.c (grub_ls_list_files): Close FILE with
31550 grub_file_close.
31551 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
31552
04ccf3ec 315532005-10-24 Marco Gerards <mgerards@xs4all.nl>
31554
31555 * include/grub/parser.h: New file.
31556
31557 * kern/parser.c: Likewise.
31558
31559 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
31560 (grub_setup_SOURCES): Likewise.
31561 (grub_probefs_SOURCES): Likewise.
31562 (grub_emu_SOURCES): Likewise.
31563 (kernel_img_HEADERS): Add `parser.h'.
31564
31565 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31566 (grub_emu_SOURCES): Add `kern/parser.c'.
31567 (grubof_SOURCES): Likewise.
31568
31569 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31570 (grubof_SOURCES): Add `kern/parser.c'.
31571
31572 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
31573
31574 * kern/misc.c (grub_split_cmdline): Removed function.
31575
31576 * kern/rescue.c: Include <grub/parser.h>.
31577 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
31578 of `grub_split_cmdline'.
31579
31580 * normal/command.c: Include <grub/parser.h>.
31581 (grub_command_execute): Use `grub_parser_split_cmdline' instead
31582 of `grub_split_cmdline'.
31583
31584 * normal/completion.c: Include <grub/parser.h>.
31585 (cmdline_state): New variable.
31586 (iterate_dir): End the filename with a quote depending on the
31587 command line state.
31588 (get_state): new function.
31589 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
31590 split the arguments and determine the current argument. When the
31591 argument string is not quoted, escape all spaces.
31592
6d8f4b0e 315932005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31594
31595 * normal/sparc64/setjmp.S: New file.
31596
15cf03ed 315972005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31598
31599 * include/grub/sparc64/libgcc.h: New file.
31600 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
31601 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
31602 normal/sparc64/setjmp.c.
31603
03e8661a 316042005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31605
31606 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
31607 * kern/sparc64/cache.S: New file.
31608 * kern/sparc64/cache.c: Removed.
31609 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
31610 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
31611 -mtune=ultrasparc.
31612 (COMMON_LDFLAGS): Add -melf64_sparc.
31613 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
31614 (grubof_SOURCES): Use cache.S instead of cache.c.
31615 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
31616 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
31617 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
31618 commented though.
31619 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
31620 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
31621 (linux_mod_CFLAGS): Commented out.
31622 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
31623 out because module isn't built.
31624 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
31625 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
31626 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
31627 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
31628 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
31629 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31630 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31631 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
31632 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
31633 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
31634 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31635 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31636 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
31637 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
31638
34eeec8a 316392005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
31640
31641 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
31642 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
31643 longer, because HFS should not be used on PC.
31644
708367a3 316452005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31646
31647 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
31648 consistently within the loop.
31649
6fa1251a 316502005-10-15 Marco Gerards <mgerards@xs4all.nl>
31651
31652 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
31653 directory can not be read.
31654
4801580b 316552005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31656
31657 * configure.ac (AC_INIT): Increase the version number to 1.91.
31658
31659 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
31660 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
31661 term/i386/pc/serial.c.
31662
219ad426 316632005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31664
31665 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
31666 file size must be permitted.
31667
31668 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
31669 between %ah and %al.
31670
688e5699 316712005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31672
31673 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
31674 grub_uint64_t.
31675 Call the hook with a NUL-terminated filename.
31676 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
31677 grub_cpu_to_be32.
31678
31679 * kern/term.c (cursor_state): New variable.
31680 (grub_term_set_current): Reset the cursor state on a new
31681 terminal.
31682 (grub_setcursor): Rewritten to use CURSOR_STATE.
31683 (grub_getcursor): New function.
31684
31685 * include/grub/term.h (grub_getcursor): New prototype.
31686
31687 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
31688 integers on ARM. Reported by Timothy Baldwin
31689 <T.E.Baldwin99@members.leeds.ac.uk>.
31690
bb34586c 316912005-10-11 Marco Gerards <mgerards@xs4all.nl>
31692
31693 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
31694 allocated.
31695 (grub_sfs_dir): Likewise.
31696
9a909877 316972005-10-09 Marco Gerards <mgerards@xs4all.nl>
31698
31699 Add support for the SFS filesystem.
31700
31701 * fs/sfs.c: New file.
31702
31703 * DISTLIST: Added `fs/sfs.c'.
31704
31705 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
31706 (grub_probefs_SOURCES): Likewise.
31707 (grub_emu_SOURCES): Likewise.
31708 (pkgdata_MODULES): Add `sfs.mod'.
31709 (sfs_mod_SOURCES): New variable.
31710 (sfs_mod_CFLAGS): Likewise.
31711 (sfs_mod_LDFLAGS): Likewise.
31712
31713 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
31714 (pkgdata_MODULES): Add `sfs.mod'.
31715 (sfs_mod_SOURCES): New variable.
31716 (sfs_mod_CFLAGS): Likewise.
31717
31718 * util/grub-emu.c (main): Call `grub_sfs_init' and
31719 `grub_sfs_fini'.
31720
31721 * include/grub/fs.h (grub_sfs_init): New prototype.
31722 (grub_sfs_fini): Likewise.
31723
57bdbde3 317242005-10-07 Marco Gerards <mgerards@xs4all.nl>
31725
31726 Add support for the AFFS filesystem.
31727
31728 * fs/affs.c: New file.
31729
31730 * DISTLIST: Added `fs/affs.c'.
31731
31732 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
31733 (grub_probefs_SOURCES): Likewise.
31734 (grub_emu_SOURCES): Likewise.
31735 (pkgdata_MODULES): Add `affs.mod'.
31736 (affs_mod_SOURCES): New variable.
31737 (affs_mod_CFLAGS): Likewise.
31738 (affs_mod_LDFLAGS): Likewise.
31739
31740 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
31741 (pkgdata_MODULES): Add `affs.mod'.
31742 (affs_mod_SOURCES): New variable.
31743 (affs_mod_CFLAGS): Likewise.
31744
31745 * util/grub-emu.c (main): Call `grub_affs_init' and
31746 `grub_affs_fini'.
31747
31748 * include/grub/fs.h (grub_affs_init): New prototype.
31749 (grub_affs_fini): Likewise.
31750
047b67e0 317512005-10-01 Marco Gerards <mgerards@xs4all.nl>
31752
31753 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
31754
59b8208a 317552005-10-01 Marco Gerards <mgerards@xs4all.nl>
31756
31757 * configure.ac: Accept `x86_64' as host_cpu. In that case add
31758 `-m32' to CFLAGS.
31759
31760 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
31761 linking.
f19dbdb7 31762
59b8208a 31763 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
31764 (COMMON_LDFLAGS): New variable.
31765 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
31766 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
31767 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
31768 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
31769 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
31770 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
31771 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
31772 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
31773 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
31774 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
31775 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31776 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31777 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
31778 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
31779 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
31780 variables.
31781 (normal_mod_ASFLAGS): Add `-m32'.
31782
31783 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
31784 (grub_host_size_t, grub_host_ssize_t): New types.
31785 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 31786 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 31787 `GRUB_HOST_SIZEOF_VOID_P'.
31788
31789 * include/grub/kernel.h (struct grub_module_header): Type of
31790 member offset changed to `grub_host_off_t'. Type of member size
31791 changed to `grub_host_size_t'.
31792 (struct grub_module_info): Type of member offset changed to
31793 `grub_host_off_t'. Type of member size changed to
31794 `grub_host_size_t'.
31795
b4093103 317962005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
31797
31798 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 31799
b4093103 31800 * kern/i386/pc/startup.S (multiboot_header): New label.
31801 (multiboot_entry): Likewise.
31802 (multiboot_trampoline): Likewise.
31803
31804 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31805 Increased to 0x4A0.
31806
31807 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
31808 put parentheses after a question mark.
31809 [!GRUB_UTIL] (my_mod): New variable.
31810
31811 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
31812
b2499b29 318132005-09-28 Marco Gerards <mgerards@xs4all.nl>
31814
31815 Adds support for the XFS filesystem. Btrees are not supported
31816 yet.
31817
31818 * fs/xfs.c: New file.
31819
31820 * DISTLIST: Added `fs/xfs.c'.
31821
31822 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
31823 (grub_probefs_SOURCES): Likewise.
31824 (grub_emu_SOURCES): Likewise.
31825 (pkgdata_MODULES): Add `xfs.mod'.
31826 (xfs_mod_SOURCES): New variable.
31827 (xfs_mod_CFLAGS): Likewise.
31828
31829 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
31830 (pkgdata_MODULES): Add `xfs.mod'.
31831 (xfs_mod_SOURCES): New variable.
31832 (xfs_mod_CFLAGS): Likewise.
31833
31834 * util/grub-emu.c (main): Call `grub_xfs_init' and
31835 `grub_xfs_fini'.
31836
31837 * include/grub/fs.h (grub_xfs_init): New prototype.
31838 (grub_xfs_fini): Likewise.
31839
f19dbdb7 31840
83d37a62 318412005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
31842
31843 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
31844 color modes, allow greater than 16 colors to be configured as
31845 a default palette.
31846
47d2d65e 318472005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31848
31849 * normal/completion.c (complete_arguments): Add the qualifier
31850 const into OPTIONS.
31851
31852 From Omniflux <omniflux+lists@omniflux.com>:
31853 * include/grub/terminfo.h: New file.
31854 * include/grub/tparm.h: Likewise.
31855 * include/grub/i386/pc/serial.h: Likewise.
31856 * term/terminfo.c: Likewise.
31857 * term/tparm.c: Likewise.
31858 * term/i386/pc/serial.c: Likewise.
31859 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
31860 serial.mod.
31861 (terminfo_mod_SOURCES): New variable.
31862 (terminfo_mod_CFLAGS): Likewise.
31863 (serial_mod_SOURCES): Likewise.
31864 (serial_mod_CFLAGS): Likewise.
31865
48b671ff 318662005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
31867
31868 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
31869 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
31870 and kern/powerpc/ieee1275/cmain.c, respectively.
31871
31872 * boot/powerpc/ieee1275/crt0.S: Moved to ...
31873 * kern/powerpc/ieee1275/crt0.S: ... here.
31874
31875 * boot/powerpc/ieee1275/cmain.c: Moved to ...
31876 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 31877
48b671ff 31878 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
31879 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
31880 instead of boot/powerpc/ieee1275/crt0.S and
31881 boot/powerpc/ieee1275/cmain.c, respectively.
31882
31883 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
31884 sectors. It was not used anyway.
31885
09fc77a7 318862005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31887
31888 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
31889 `unused parameter' warning.
31890
003789c7 318912005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31892
31893 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
31894 function.
31895 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
31896 getcharwidth.
31897
67f44c86 318982005-08-28 Marco Gerards <metgerards@student.han.nl>
31899
31900 * include/grub/normal.h (enum grub_completion_type): Added
31901 `GRUB_COMPLETION_TYPE_ARGUMENT'.
31902
31903 * normal/cmdline.c (print_completion): Handle
31904 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
31905 * normal/menu_entry.c (store_completion): Likewise.
31906
31907 * normal/completion.c (complete_arguments): New function.
31908 (grub_normal_do_completion): Call `complete_arguments' when the
31909 current words start with a dash.
31910
0b5abe02 319112005-08-27 Marco Gerards <metgerards@student.han.nl>
31912
31913 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
31914 `gzio.mod' instead of `io.mod').
31915
d9864ee1 319162005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
31917
31918 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
31919 (DISTDIRS): Added io and video.
31920 Rewrite the search routine to make an output consistently.
31921
31922 * DISTLIST: Added conf/sparc64-ieee1275.mk,
31923 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
31924 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
31925 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
31926 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
31927 util/powerpc/ieee1275/misc.c.
f19dbdb7 31928
d9864ee1 31929 * include/grub/gzio.h: New file.
31930 * io/gzio.c: Likewise.
f19dbdb7 31931
d9864ee1 31932 * kern/file.c (grub_file_close): Call grub_device_close only if
31933 FILE->DEVICE is not NULL.
31934
31935 * include/grub/mm.h [!NULL] (NULL): New macro.
31936
31937 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
31938
31939 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
31940 (pkgdata_MODULES): Added gzio.mod.
31941 (gzio_mod_SOURCES): New variable.
31942 (gzio_mod_CFLAGS): Likewise.
31943
31944 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
31945 (pkgdata_MODULES): Added gzio.mod.
31946 (gzio_mod_SOURCES): New variable.
31947 (gzio_mod_CFLAGS): Likewise.
31948
31949 * commands/cat.c: Include grub/gzio.h.
31950 (grub_cmd_cat): Use grub_gzfile_open instead of
31951 grub_file_open.
f19dbdb7 31952
d9864ee1 31953 * commands/cmp.c: Include grub/gzio.h.
31954 (grub_cmd_cmp): Use grub_gzfile_open instead of
31955 grub_file_open.
31956
31957 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
31958 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
31959 grub_file_open.
31960 (grub_rescue_cmd_module): Likewise.
31961
fa46f4b5 319622005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31963
31964 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
31965 kern/sparc64/ieee1275/init.c because it contains _start.
31966 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
31967
e9211b5d 319682005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31969
31970 * configure.ac: Add support for sparc64 host with ieee1275
31971 firmware.
31972 * configure: Generated from configure.ac.
31973 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
31974 instead of int.
31975 (grub_ofdisk_read): Likewise.
31976 (grub_ofdisk_open): Use %p to print pointer values, and cast the
31977 pointers as (void *) to remove a warning.
31978 (grub_ofdisk_close): Likewise.
31979 (grub_ofdisk_read): Likewise.
31980 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
31981 returns, so make it return void to remove a warning.
31982 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
31983 Corresponding prototype change.
31984 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
31985 values, and cast the pointers as (void *) to remove a warning.
31986 (grub_mm_dump): Likewise.
31987 * conf/sparc64-ieee1275.mk: New file.
31988 * conf/sparc64-ieee1275.rmk: Likewise.
31989 * include/grub/sparc64/setjmp.h: Likewise.
31990 * include/grub/sparc64/types.h: Likewise.
31991 * include/grub/sparc64/ieee1275/console.h: Likewise.
31992 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31993 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31994 * include/grub/sparc64/ieee1275/time.h: Likewise.
31995 * kern/sparc64/cache.c: Likewise.
31996 * kern/sparc64/dl.c: Likewise.
31997 * kern/sparc64/ieee1275/init.c: Likewise.
31998 * kern/sparc64/ieee1275/openfw.c: Likewise.
31999
385c6a92 320002005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
32001
32002 * util/console.c (grub_ncurses_putchar): If C is greater than
32003 0x7f, set C to a question mark.
32004 (grub_ncurses_getcharwidth): New function.
32005 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
32006 getcharwidth.
32007
32008 * normal/menu.c (print_entry): Made aware of Unicode. First,
32009 convert TITLE to UCS-4, and predict the cursor position by
32010 grub_getcharwidth.
32011
32012 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
32013 const to SRC.
32014 * kern/misc.c (grub_utf16_to_utf8): Likewise.
32015
16ccb8b1 320162005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
32017
32018 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
32019 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
32020 grub_strcat.
32021
32022 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
32023 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
32024 grub_strcpy and grub_strlen. Take it into account that a space
32025 character is inserted as a delimiter.
32026
6a85ce79 320272005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
32028
32029 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 32030 invalid magic in the error.
6a85ce79 32031
32032 * commands/search.c: New file.
f19dbdb7 32033
6a85ce79 32034 * util/grub-emu.c (main): Call grub_search_init and
32035 grub_search_fini.
32036
32037 * kern/rescue.c (grub_rescue_print_disks): Removed.
32038 (grub_rescue_print_devices): New function.
32039 (grub_rescue_cmd_ls): Use grub_device_iterate with
32040 grub_rescue_print_devices instead of grub_disk_dev_iterate with
32041 grub_rescue_print_disks.
32042
32043 * kern/partition.c (grub_partition_iterate): Return the result of
32044 PARTMAP->ITERATE instead of GRUB_ERRNO.
32045
32046 * kern/device.c: Include grub/partition.h.
32047 (grub_device_iterate): New function.
32048
32049 * include/grub/partition.h (grub_partition_iterate): Return int
32050 instead of grub_err_t.
32051
32052 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
32053 prototype.
32054 [GRUB_UTIL] (grub_search_fini): Likewise.
32055
32056 * include/grub/device.h (grub_device_iterate): New prototype.
32057
32058 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32059 commands/search.c.
32060 (pkgdata_MODULES): Added search.mod.
32061 (search_mod_SOURCES): New variable.
32062 (search_mod_CFLAGS): Likewise.
32063
32064 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
32065 (pkgdata_MODULES): Added search.mod.
32066 (search_mod_SOURCES): New variable.
32067 (search_mod_CFLAGS): Likewise.
32068
32069 * commands/ls.c (grub_ls_list_disks): Renamed to ...
32070 (grub_ls_list_devices): ... this, and use grub_device_iterate.
32071 All callers changed.
32072
32073 * DISTLIST: Added commands/search.c.
32074
ef095434 320752005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
32076
32077 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
32078 conversion.
32079 (grub_getcharwidth): New function.
32080
32081 * kern/misc.c (grub_utf8_to_ucs4): New function.
32082
32083 * include/grub/term.h (struct grub_term): Added a new member
32084 "getcharwidth".
32085 (grub_getcharwidth): New prototype.
32086
32087 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
32088
32089 * term/i386/pc/console.c (map_char): New function. Segregated from
32090 grub_console_putchar.
32091 (grub_console_putchar): Use map_char.
32092 (grub_console_getcharwidth): New function.
32093 (grub_console_term): Specified grub_console_getcharwidth as
32094 getcharwidth.
32095
32096 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
32097 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
32098
32099 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
32100 GRUB_ERRNO.
32101 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
32102 on grub_strtoul completely.
32103 (write_char): Declare local variables in the beginning of the
32104 function.
32105 (grub_vesafb_getcharwidth): New function.
32106 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
32107 getcharwidth.
32108
1f0a95e4 321092005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
32110
32111 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
32112 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
32113 commands/i386/pc/vbetest.c.
32114
32115 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
32116 call grub_vbe_get_controller_info again, because the returned
32117 information is volatile.
32118 (grub_vbe_set_video_mode): Mostly rewritten.
32119 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
32120 grub_vbe_status_t correctly.
32121 (grub_vbe_get_video_mode_info): Likewise.
32122 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
32123 several if statements.
32124
32125 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
32126 * commands/i386/pc/vbeinfo.c: ... this.
32127
32128 * commands/i386/pc/vbe_test.c: Renamed to ...
32129 * commands/i386/pc/vbetest.c: ... this.
32130
32131 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
32132 ...
32133 (grub_cmd_vbeinfo): ... this. Save video modes before
32134 iterating. Skip a video mode, if it is not available, not enough
32135 information is given or it is monochrome. Show the memory
32136 model. Leave the interpretation of MODEVAR to grub_strtoul
32137 completely.
32138 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
32139 (GRUB_MOD_FINI): Likewise.
32140
32141 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
32142 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
32143 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
32144 duplicated grub_env_get. Leave the interpretation of MODEVAR to
32145 grub_strtoul completely.
32146 (real2pm): Removed.
32147 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
32148 (GRUB_MOD_FINI): Likewise.
32149
32150 * normal/misc.c: Include grub/mm.h.
32151
32152 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
32153 vbe_list_modes with vbetest.mod and vbeinfo.mod.
32154 (vbe_list_modes_mod_SOURCES): Removed.
32155 (vbe_list_modes_mod_CFLAGS): Likewise.
32156 (vbe_test_mod_SOURCES): Likewise.
32157 (vbe_test_mod_CFLAGS): Likewise.
32158 (vbeinfo_mod_SOURCES): New variable.
32159 (vbeinfo_mod_CFLAGS): Likewise.
32160 (vbetest_mod_SOURCES): Likewise.
32161 (vbetest_mod_CFLAGS): Likewise.
32162
992ffbbe 321632005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
32164
32165 * normal/misc.c: New file.
32166
32167 * DISTLIST: Added normal/misc.c.
f19dbdb7 32168
992ffbbe 32169 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
32170 DISK to HOOK. Call HOOK with DISK.
32171 * partmap/apple.c (apple_partition_map_iterate): Likewise.
32172 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32173 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32174
32175 * normal/menu_entry.c (struct screen): Added a new member
32176 "completion_shown".
32177 (completion_buffer): New global variable.
32178 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
32179 (store_completion): New function.
32180 (complete): Likewise.
32181 (clear_completions): Likewise.
32182 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
32183 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
32184 a tab, call complete.
32185
32186 * normal/completion.c (disk_dev): Removed.
32187 (print_simple_completion): Likewise.
32188 (print_partition_completion): Likewise.
32189 (print_func): New global variable.
32190 (add_completion): Do not take the arguments WHAT or PRINT any
32191 longer. Added a new argument TYPE. Instead of printing directly,
32192 call PRINT_FUNC if not NULL.
32193 All callers changed.
32194 (complete_device): Use a local variable DEV instead of
32195 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
32196 (grub_normal_do_completion): Take a new argument HOOK. Do not
32197 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
32198 empty string, return NULL instead.
32199 All callers changed.
32200
32201 * normal/cmdline.c (print_completion): New function.
32202
32203 * kern/partition.c (grub_partition_iterate): Add an argument DISK
32204 to HOOK.
32205 All callers changed.
32206
32207 * kern/disk.c (grub_print_partinfo): Removed.
32208
32209 * include/grub/partition.h (struct grub_partition_map): Add a new
32210 argument DISK into HOOK of ITERATE.
32211 (grub_partition_iterate): Add a new argument DISK to HOOK.
32212
32213 * include/grub/normal.h (enum grub_completion_type): New enum.
32214 (grub_completion_type_t): New type.
32215 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
32216 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
32217 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
32218 (GRUB_COMPLETION_TYPE_FILE): Likewise.
32219 (grub_normal_do_completion): Added a new argument HOOK.
32220 (grub_normal_print_device_info): New prototype.
32221
32222 * include/grub/disk.h (grub_print_partinfo): Removed.
32223
32224 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
32225 (normal_mod_SOURCES): Likewise.
32226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32227 (normal_mod_SOURCES): Likewise.
32228
32229 * commands/ls.c (grub_ls_list_disks): Use
32230 grub_normal_print_device_info instead of grub_print_partinfo. Free
32231 PNAME.
32232 (grub_ls_list_files): Use grub_normal_print_device_info instead of
32233 duplicating the code.
32234
0bd41162 322352005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32236
32237 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 32238 follow GCS more precisely.
32239 * commands/i386/pc/vbe_test.c: Likewise.
32240 * include/grub/i386/pc/vbe.h: Likewise.
32241 * term/i386/pc/vesafb.c: Likewise.
32242 * video/i386/pc/vbe.c: Likewise.
0bd41162 32243
6323696a 322442005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32245
32246 * DISTLIST: Added term/i386/pc/vesafb.c
32247 DISTLIST: Added video/i386/pc/vbe.c
32248 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
32249 DISTLIST: Added commands/i386/pc/vbe_test.c.
32250 * commands/i386/pc/vbe_list_modes.c: New file.
32251 * commands/i386/pc/vbe_test.c: Likewise.
32252 * term/i386/pc/vesafb.c: Likewise.
32253 * video/i386/pc/vbe.c: Likewise.
32254 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
32255 (grub_vbe_probe) Added prototype.
32256 (grub_vbe_set_video_mode) Likewise.
32257 (grub_vbe_get_video_mode) Likewise.
32258 (grub_vbe_get_video_mode_info) Likewise.
32259 (grub_vbe_set_pixel_rgb) Likewise.
32260 (grub_vbe_set_pixel_index) Likewise.
32261 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
32262 (pkgdata_MODULES): Added vesafb.mod.
32263 (pkgdata_MODULES): Added vbe_list_modes.mod.
32264 (pkgdata_MODULES): Added vbe_test.mod.
32265 (vbe_mod_SOURCES): Added.
32266 (vbe_mod_CFLAGS): Likewise.
32267 (vesafb_mod_SOURCES): Likewise.
32268 (vesafb_mod_CFLAGS): Likewise.
32269 (vbe_list_modes_mod_SOURCES): Likewise.
32270 (vbe_list_modes_mod_CFLAGS): Likewise.
32271 (vbe_test_mod_SOURCES): Likewise.
32272 (vbe_test_mod_CFLAGS): Likewise.
32273
0a74e62f 322742005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
32275
0a74e62f 32276 * normal/command.c (grub_command_execute): If INTERACTIVE is
32277 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
32278 CMDLINE. Disable the pager if INTERACTIVE is true.
32279 All callers are changed.
32280
32281 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
32282 before reading a config file.
32283 * normal/main.c (read_config_file): Even if a command is not
32284 found, register it if it is within an entry.
32285
32286 * util/grub-emu.c: Include sys/types.h and unistd.h.
32287 (options): Added --hold.
32288 (struct arguments): Added a new member "hold".
32289 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
32290 missing.
32291 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
32292 cleared by a debugger, if it is not zero.
32293
32294 * include/grub/normal.h (grub_command_execute): Add an argument
32295 INTERACTIVE.
32296
e51f85ae 322972005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
32298
32299 * DISTLIST: Added include/grub/i386/pc/vbe.h.
32300
e9c6f39b 323012005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
32302
32303 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
32304 program with another one, because the old one didn't detect a bug
32305 in gcc-3.4. Always use regparm 2, because the new test is still
32306 not enough for gcc-4.0. Someone must investigate a simple test
32307 case which detects a bug in gcc-4.0.
32308
8de3495c 323092005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
32310
32311 * DISTLIST: Added normal/completion.c.
32312
32313 * normal/completion.c: New file.
f19dbdb7 32314
8de3495c 32315 * term/i386/pc/console.c (grub_console_getwh): New function.
32316 (grub_console_term): Assign grub_console_getwh to getwh.
32317
32318 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
32319 function is defined in normal/completion.c as
32320 grub_normal_do_completion.
32321 (grub_cmdline_get): Use grub_normal_do_completion instead of
32322 grub_tab_complete.
32323
32324 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
32325 returns non-zero, otherwise return 0.
32326 (grub_partition_iterate): First, probe the partition map. Then,
32327 call ITERATE only for this partition map.
32328
32329 * kern/misc.c (grub_strncmp): Rewritten.
32330
32331 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
32332 returns non-zero. Otherwise return 0.
32333
32334 * include/grub/partition.h (grub_partition_map_iterate): Return
32335 int instead of void.
32336
32337 * include/grub/normal.h (grub_normal_do_completion): New prototype.
32338
32339 * include/grub/misc.h (grub_strncmp): Change the type of N to
32340 grub_size_t.
32341
32342 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
32343 of void.
32344
32345 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 32346 unsigned explicitly before comparing it with I.
8de3495c 32347
32348 * kern/main.c (grub_env_write_root): Add the attribute unused into
32349 VAR.
32350
32351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32352 normal/completion.c.
32353 (normal_mod_SOURCES): Likewise.
32354 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32355 (normal_mod_SOURCES): Likewise.
32356
32357 * normal/command.c (grub_iterate_commands): If ITERATE returns
32358 non-zero, return one immediately.
32359
e85e144b 323602005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
32361
32362 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
32363 * kern/i386/pc/startup.S: Updated Global Descriptor table's
32364 descriptions.
32365 (grub_vbe_get_controller_info): New function.
32366 (grub_vbe_get_mode_info): Likewise.
32367 (grub_vbe_set_mode): Likewise.
32368 (grub_vbe_get_mode): Likewise.
32369 (grub_vbe_set_memory_window): Likewise.
32370 (grub_vbe_get_memory_window): Likewise.
32371 (grub_vbe_set_scanline_length): Likewise.
32372 (grub_vbe_get_scanline_length): Likewise.
32373 (grub_vbe_set_display_start): Likewise.
32374 (grub_vbe_get_display_start): Likewise.
32375 (grub_vbe_set_palette_data): Likewise.
32376 * include/grub/i386/pc/vbe.h: New file.
32377
c46153d2 323782005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32379
32380 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32381 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
32382 * DISTLIST: Likewise.
32383 * kern/ieee1275/of.c: Moved to ...
32384 * kern/ieee1275/ieee1275.c: ... here.
32385
0cb90c45 323862005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32387
32388 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
32389 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
32390 Pass 0 as `end' parameter to grub_strtoul().
32391
a19fb360 323922005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32393
32394 * include/grub/powerpc/ieee1275/console.h: Do not include
32395 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
32396 ifdef.
32397 (grub_console_cur_color): Remove i386-specific prototype.
32398 (grub_console_real_putchar): Likewise.
32399 (grub_console_checkkey): Likewise.
32400 (grub_console_getkey): Likewise.
32401 (grub_console_getxy): Likewise.
32402 (grub_console_gotoxy): Likewise.
32403 (grub_console_cls): Likewise.
32404 (grub_console_setcursor): Likewise.
32405 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
32406 Include <grub/machine/console.h>.
32407 * term/ieee1275/ofconsole.c: Likewise.
32408
4ac9bd04 324092005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
32410
32411 * Makefile.in (LIBLZO): New variable.
32412
32413 * configure.ac: Check for LZO version 2.
32414
32415 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
32416 lzo/lzo1x.h instead of lzo1x.h.
32417
32418 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
32419 of -llzo.
32420
32421 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
32422 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
32423
32424 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
32425 copying the data from PARTITION to P.
32426
f4917dfd 324272005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32428
32429 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
32430 negative, unload the module.
32431
32432 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
32433 map is "pc_partition_map" but not "pc".
32434 (usage): Fix the description. The options are --boot-image and
32435 --core-image but not --boot-file or --core-file.
32436 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
32437 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
32438 DEFAULT_DIRECTORY.
32439
32440 * util/i386/pc/grub-install.in: Do not specify --boot-file or
32441 --core-file. Specify INSTALL_DEVICE as an argument.
32442
32443 * util/console.c: Include config.h.
32444 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
32445 [HAVE_NCURSES_H]: Include ncurses.h.
32446 [HAVE_CURSES_H]: Include curses.h.
32447 [!A_NORMAL] (A_NORMAL): Defined as zero.
32448 [!A_STANDOUT] (A_STANDOUT): Likewise.
32449
32450 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
32451 -lncurses.
32452 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
32453
32454 * configure.ac: Check for curses libraries and headers.
32455
32456 * Makefile.in (LIBCURSES): New variable.
32457
32458 * genmk.rb (Script::rule): Set the executable bits.
32459
32460 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
32461 name of the PC partition map is "pc_partition_map" but not "pc".
32462
0e143073 324632005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32464
32465 * util/i386/pc/grub-install.in (grub_probefs): New variable.
32466 (modules): Likewise.
32467 (usage): Added descriptions for --modules and --grub-probefs.
32468 Handle --modules and --grub-probefs. Save the arguments in MODULES
32469 and GRUB_PROBEFS, respectively.
32470 Auto-detect a filesystem module against GRUBDIR. If the result is
32471 empty and modules are not specified explicitly, abort the
32472 installation. Add the result to MODULES.
32473
32474 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
32475 disk/powerpc/ieee1275/ofdisk.c,
32476 include/grub/powerpc/ieee1275/init.h and
32477 term/powerpc/ieee1275/ofconsole.c.
32478 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
32479 term/ieee1275/ofconsole.c.
32480
32481 * include/grub/powerpc/ieee1275/console.h: Resurrected.
32482
32483 * COPYING: Upgraded to the latest version. Only the address of the
32484 FSF office has changed.
f19dbdb7 32485
efd6e6d5 324862005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32487
32488 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32489 kern/ieee1275.c with kern/ieee1275/of.c.
32490
32491 * kern/ieee1275.c: Moved to ...
32492 * kern/ieee1275/of.c: ... here.
32493
8ceafda2 324942005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
32495
32496 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 32497 readability.
8ceafda2 32498
32499 * config.guess: Updated to the latest version from gnulib.
32500 * config.sub: Likewise.
32501 * install.sh: Likewise.
32502 * mkinstalldirs: Likewise.
32503
32504 * include/grub/console.h: Removed. This file is arch-specific. Do
32505 not put this in include/grub.
32506
32507 * include/grub/i386/pc/console.h: Resurrected.
32508
32509 * util/console.c: Include grub/machine/console.h instead of
32510 grub/console.h.
32511 * util/grub-emu.c: Likewise.
32512
267f6cd9 325132005-08-04 Marco Gerards <metgerards@student.han.nl>
32514
32515 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
32516 hardcoded value.
f19dbdb7 32517
267f6cd9 32518 From Vincent Pelletier <subdino2004@yahoo.fr>
32519 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
32520 Redefined to use grub_getwh.
32521 (grub_term): New member named getwh.
32522 (grub_getwh): New prototype.
32523 * kern/term.c (grub_getwh): New function.
32524 * term/i386/pc/console.c (grub_console_getwh): New function.
32525 (grub_console_term): New member `getwh'.
32526 * term/i386/pc/vga.c (grub_vga_getwh): New function.
32527 (grub_vga_term): New member `getwh'.
0b5abe02 32528 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 32529 grub_ssize_t.
32530 (grub_ofconsole_getw): New function.
32531 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
32532 (grub_ofconsole_term): New field named getwh and new initial
32533 value.
32534
3be7266d 325352005-08-03 Hollis Blanchard <hollis@penguinppc.org>
32536
32537 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
32538 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
32539 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
32540 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
32541 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
32542 of <grub/machine/ieee1275.h>.
32543 * commands/ieee1275/reboot.c: Likewise.
32544 * boot/powerpc/ieee1275/ieee1275.c: Move ...
32545 * kern/ieee1275.c: ... to here. All users updated. Change all
32546 parameter structs to use new type `grub_ieee1275_cell_t'.
32547 * term/powerpc/ieee1275/ofconsole.c: Move ...
32548 * term/ieee1275/ofconsole.c: ... to here. All users updated.
32549 * disk/powerpc/ieee1275/ofdisk.c: Move ...
32550 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
32551 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
32552 to return int.
32553 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
32554 Remove unused prototypes. All users updated.
32555 * include/grub/powerpc/ieee1275/console.h: Removed.
32556 * include/grub/powerpc/ieee1275/ieee1275.h: Define
32557 `grub_ieee1275_cell_t'.
32558 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
32559 Cast comparisons with -1 to the correct type.
32560 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
32561 type to match `grub_ieee1275_entry_fn'.
32562
8b5f3938 325632005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
32564
32565 * DISTLIST: Added util/i386/pc/grub-probefs.c.
32566
32567 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
32568 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
32569 partmap/sun.c.
32570 (grub_probefs_SOURCES): New variable.
32571
32572 * util/i386/pc/grub-probefs.c: New file.
32573
32574 * util/i386/pc/grub-setup.c (main): Call
32575 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
32576 grub_hfs_init and grub_jfs_init to initialize the system. Call
32577 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
32578 grub_pc_partition_map_fini to finish the system.
32579
ea409713 325802005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
32581
32582 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
32583 function.
32584 (grub_multiboot_load_elf32): Likewise.
32585 (grub_multiboot_is_elf64): Likewise.
32586 (grub_multiboot_load_elf64): Likewise.
32587 (grub_multiboot_load_elf): Likewise.
32588 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
32589 an ELF32 or ELF64 file.
32590 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
32591
32592 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
32593 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
32594 NULL before calling FS->LABEL.
32595 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
32596 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
32597 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
32598 before calling FS->LABEL.
32599
141a288b 326002005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
32601
32602 * util/i386/pc/grub-install.in (datadir): New variable.
32603 (libdir): Removed.
32604 (pkgdatadir): New variable.
32605 (pkglibdir): Removed.
32606
0d5f8a54 326072005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
32608
32609 * DISTLIST: Added util/i386/pc/grub-install.in.
32610
32611 * util/i386/pc/grub-install.in: New file.
32612
32613 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
32614 (grub_install_SOURCES): Likewise.
32615
32616 * genmk.rb: Added support for scripts.
32617 (Script): New class.
32618 (scripts): New variable.
32619
32620 * Makefile.in (install-local): Install sbin_SCRIPTS by
32621 INSTALL_SCRIPT.
32622 (uninstall): Remove sbin_SCRIPTS.
32623
32624 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
32625 device, try to get a GRUB device by
32626 grub_util_biosdisk_get_grub_dev.
32627 Free DEST_DEV.
32628
32629 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
32630 description for --device-map.
32631
5f968e1e 326322005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32633
32634 Change the semantics of variable hooks. They now return strings
32635 instead of error values.
f19dbdb7 32636
5f968e1e 32637 * util/i386/pc/grub-setup.c: Include grub/env.h.
32638 (setup): Use grub_device_set_root instead of grub_env_set.
32639
32640 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
32641 grub_env_get instead of grub_device_set_root and
32642 grub_device_get_root, respectively.
32643
32644 * kern/main.c (grub_env_write_root): New function.
32645 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
32646 grub_env_set instead of grub_device_set_root.
32647
32648 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
32649 many variables.
32650 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
32651 rather than calling ENV->WRITE_HOOK afterwards.
32652 (grub_env_get): Return the result of ENV->READ_HOOK rather than
32653 passing a pointer of a pointer.
32654 (grub_register_variable_hook): Change the types of "read_hook" and
32655 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
32656 respectively.
32657 Allocate the default empty string on the heap, because this string
32658 may be freed later.
32659
32660 * kern/device.c: Include grub/env.h.
32661 (grub_device_set_root): Removed.
32662 (grub_device_get_root): Likewise.
32663 (grub_device_open): Use grub_env_get instead of
32664 grub_device_get_root.
32665
32666 * include/grub/env.h (grub_env_read_hook_t): New type.
32667 (grub_env_write_hook_t): Likewise.
32668 (grub_env_var): Change the types of "read_hook" and "write_hook"
32669 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
32670 (grub_register_variable_hook): Likewise.
32671
32672 * include/grub/device.h (grub_device_set_root): Removed.
32673 (grub_device_set_root): Likewise.
32674
32675 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
32676 make sure that DIRNAME terminates with '/', so that
32677 grub_fat_find_dir will fail if PATH is not a directory.
32678
32679 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
32680 from DIRNAME.
32681 Use the qualifier auto for print_files and print_files_long.
32682 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
32683 as a regular file.
32684 Put a newline only if there is no error.
32685 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
32686 used.
32687
896f0afd 326882005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32689
32690 * kern/partition.c (grub_partition_probe): Initialize PART to
32691 NULL. Otherwise, when no partition map is registered, this returns
32692 a garbage.
32693
b28b81b2 326942005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
32695
32696 * partmap/apple.c (apple_partition_map_iterate): Check if POS
32697 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
32698 valid.
32699
5f3607e0 327002005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
32701
32702 * commands/ls.c (grub_ls_list_disks): Print the filesystem
32703 information on each device, if it does not have partitions. Print
32704 "Device" instead of "Disk", because this function is not specific
32705 to disk devices.
32706
32707 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
32708 static to ensure that it is put on the memory rather than a
32709 register.
32710
502c87e8 327112005-07-17 Yoshinori Okuji <okuji@enbug.org>
32712
32713 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
32714 (grub_cat_init): Likewise.
32715 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
32716 (options): Likewise.
32717 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32718 (grub_configfile_init): Likewise.
32719 * font/manager.c (GRUB_MOD_INIT): Likewise.
32720 * commands/help.c (GRUB_MOD_INIT): Likewise.
32721 (grub_help_init): Likewise.
32722 * normal/command.c (grub_command_init): Likewise.
32723 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
32724 * disk/loopback.c (grub_loop_init): Likewise.
32725 (GRUB_MOD_INIT): Likewise.
32726 * commands/ls.c (grub_ls_init): Likewise.
32727 (GRUB_MOD_INIT): Likewise.
32728 (options): Likewise.
32729 * commands/boot.c (grub_boot_init): Likewise.
32730 (GRUB_MOD_INIT): Likewise.
32731 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
32732 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
32733 (GRUB_MOD_INIT): Likewise.
32734 * commands/cmp.c (grub_cmp_init): Likewise.
32735 (GRUB_MOD_INIT): Likewise.
32736
32737 * normal/arg.c: Use <> instead of "" to include header files.
32738 (SHORT_ARG_HELP): New macro.
32739 (SHORT_ARG_USAGE): Likewise.
32740 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
32741 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
32742 descriptions.
32743 (find_short): Check if C is 'h' or 'u' explicitly.
32744 (grub_arg_show_help): Use space characters instead of tabs. Treat
32745 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
32746 are shown with --help and --usage only if they are not used for
32747 the command itself.
32748 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
32749 'h' and 'u'.
32750
32751 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
32752 const into "longarg". Change the type of "shortarg" to int.
32753
f806d18e 327542005-07-17 Yoshinori Okuji <okuji@enbug.org>
32755
32756 * boot/i386/pc/boot.S (boot_drive_check): New label.
32757
32758 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
32759 macro.
32760
32761 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
32762 which do not pass a boot drive correctly. Copied from GRUB Legacy.
32763
e293232b 327642005-07-17 Yoshinori Okuji <okuji@enbug.org>
32765
32766 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
32767 When turning off Gate A20, skip the check and return immediately,
32768 because this is not fatal usually.
32769
ebedfd00 327702005-07-17 Yoshinori Okuji <okuji@enbug.org>
32771
32772 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
32773 be 0x7C00 instead of 0x8000.
32774
32775 * boot/i386/pc/pxeboot.S: Rewritten.
32776
32777 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
32778 EXT_C.
32779 (gate_a20_check_state): Read a byte from 0x108000. Invert the
32780 result.
32781
654fc59f 327822005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
32783
32784 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
32785 robustness. This routine now supports a BIOS call and System
32786 Control Port A to modify the gate A20.
32787
32788 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32789 Increased to 0x440.
32790
09f9923f 327912005-07-12 Hollis Blanchard <hollis@penguinppc.org>
32792
32793 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
32794 device path and resulting ihandle.
32795 (grub_ofdisk_close): dprintf the ihandle being closed.
32796 (grub_ofdisk_read): dprintf function parameters.
32797 * kern/mm.c (grub_mm_init_region): Likewise.
32798 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
32799 (grub_linux_boot): dprintf the Linux entry point, initrd address and
32800 size, and boot arguments.
32801 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
32802 before loading into memory.
32803 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
32804 before loading into memory.
32805
7ef504d8 328062005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
32807
32808 * kern/mm.c: Added much documentation.
32809 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
32810 8, set to 5 instead of 8.
32811
e0f050c2 328122005-07-10 Yoshinori Okuji <okuji@enbug.org>
32813
32814 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
32815
32816 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
32817 (grub_mkdevicemap_SOURCES): New variable.
32818
32819 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
32820 lib/device.c of GRUB Legacy.
32821
7224189a 328222005-07-10 Yoshinori Okuji <okuji@enbug.org>
32823
32824 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
32825 instead of PATH is NULL.
32826
68c864eb 328272005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
32828
32829 * commands/cmp.c (BUFFER_SIZE): New macro.
32830 (grub_cmd_cmp): Close the right file at the right time. Compare
32831 only data just read. Don't report files of different size as
32832 identical. Dynamically allocate buffers. Move variable
32833 declarations at the beginning of function.
32834
e6f3e614 328352005-07-09 Yoshinori Okuji <okuji@enbug.org>
32836
32837 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
32838 reverse.
32839
f8f1559a 328402004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
32841
32842 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
32843 when backspace is pressed at beginning of line.
32844
39c9d41d 328452005-07-03 Yoshinori Okuji <okuji@enbug.org>
32846
32847 * DISTLIST: Added genfslist.sh.
32848
32849 * normal/main.c (fs_module_list): New variable.
32850 (autoload_fs_module): New function.
32851 (read_fs_list): Likewise.
32852 (grub_normal_execute): Call read_fs_list.
32853
32854 * kern/fs.c (grub_fs_autoload_hook): New variable.
32855 (grub_fs_probe): Added support for auto-loading.
32856
32857 * include/grub/normal.h (struct grub_fs_module_list): New struct.
32858 (grub_fs_module_list_t): New type.
32859
32860 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
32861 (grub_fs_autoload_hook): New prototype.
32862
32863 * genfslist.sh: New file.
f19dbdb7 32864
39c9d41d 32865 * genmk.rb: Added a rule to generate a filesystem list.
32866
121c1d83 328672005-06-30 Marco Gerards <metgerards@student.han.nl>
32868
32869 * configure.ac: Fix the test for cross-compiling.
32870
32871 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
32872 define GRUB_UTIL anymore.
32873
32874 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
32875 so this function works on other systems than just big endian.
32876 (load_modules): Likewise.
32877 (add_segments): Likewise.
32878
e75d76e1 328792005-06-23 Hollis Blanchard <hollis@penguinppc.org>
32880
32881 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
32882 contains `l' modifier, get a long from va_arg().
32883
50b5a0a7 328842005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
32885
32886 * kern/mm.c (grub_free): If the next free block which is being
32887 merged is the first free block, set the first block to the block
32888 being freed.
32889 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
32890
89371b20 328912005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32892
32893 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
32894 `grub_ieee1275_chosen'.
32895
168d6e58 328962005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32897
32898 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
32899 (grub_ieee1275_chosen): New variable.
32900 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
32901 `chosen'.
32902 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
32903 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32904 Rename first argument to `phandle' for consistency.
32905 (grub_ieee1275_get_property_length): Likewise.
32906 (grub_ieee1275_next_property): Likewise. Change type of first argument
32907 to grub_ieee1275_phandle_t.
32908 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
32909 Move export next to declaration.
32910 (grub_ieee1275_chosen): New variable.
32911 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
32912 Correct cosmetic typo.
32913 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
32914 `grub_ieee1275_chosen'.
32915 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
32916 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
32917 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
32918 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
32919 `grub_ieee1275_chosen'.
32920
ca5baa3f 329212005-05-10 Hollis Blanchard <hollis@penguinppc.org>
32922
32923 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
32924 /chosen/bootargs.
32925 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
32926 /chosen/bootargs as "variable=value" pairs.
32927
708b345f 329282005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
32929
32930 * include/grub/misc.h (grub_dprintf): New macro.
32931 (grub_real_dprintf): New prototype.
32932 (grub_strword): Likewise.
32933 (grub_iswordseparator): Likewise.
32934 * kern/misc.c (grub_real_dprintf): New function.
32935 (grub_strword): Likewise.
32936 (grub_iswordseparator): Likewise.
32937
f4c5e67c 329382005-04-30 Hollis Blanchard <hollis@penguinppc.org>
32939
32940 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
32941 (roundup): Remove macro.
32942 (grub_ieee1275_flags): Make static.
32943 (grub_ieee1275_realmode): Remove.
32944 (grub_ieee1275_test_flag): New function.
32945 (grub_ieee1275_set_flag): Likewise.
32946 (find_options): Rename to `grub_ieee1275_find_options'; update
32947 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
32948 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
32949 (cmain): New prototype.
32950 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
32951 `grub_ieee1275_flags' directly.
32952 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
32953 machine/biosdisk.h.
32954 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
32955 Don't include grub/machine/init.h.
32956 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
32957 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32958 Remove prototype.
32959 (grub_ieee1275_realmode): Likewise.
32960 (grub_ieee1275_flag): New enum.
32961 (grub_ieee1275_test_flag): New prototype.
32962 (grub_ieee1275_set_flag): New prototype.
32963 * include/grub/powerpc/ieee1275/init.h: Remove file.
32964 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
32965 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
32966 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
32967 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
32968 comment.
32969 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
32970 `grub_ieee1275_test_flag'.
32971 (grub_ieee1275_encode_devname): Likewise.
32972
ed16607e 329732005-04-21 Hollis Blanchard <hollis@penguinppc.org>
32974
32975 * include/grub/powerpc/ieee1275/ieee1275.h
32976 (grub_ieee1275_encode_devname): New prototype.
32977 (grub_ieee1275_get_filename): Likewise.
32978 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
32979 function.
32980 (grub_set_prefix): Likewise.
32981 (grub_machine_init): Call grub_set_prefix.
32982 * kern/powerpc/ieee1275/openfw.c: Fix typos.
32983 (grub_parse_type): New enum.
32984 (grub_ieee1275_get_devargs): New function.
32985 (grub_ieee1275_get_devname): Likewise.
32986 (grub_ieee1275_parse_args): Likewise.
32987 (grub_ieee1275_get_filename): Likewise.
32988 (grub_ieee1275_encode_devname): Likewise.
32989
be369920 329902005-03-30 Marco Gerards <metgerards@student.han.nl>
32991
32992 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
32993 `grub_loader_unset'.
32994
a5ce3a4a 329952005-03-26 Hollis Blanchard <hollis@penguinppc.org>
32996
32997 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
32998 instead of grub_ieee1275_interpret.
32999 (grub_halt_init): New function.
33000 (grub_halt_fini): Likewise.
33001 (GRUB_MOD_INIT): Correct message grammar.
33002 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
33003 instead of grub_ieee1275_interpret.
33004 (grub_reboot_init): New function.
33005 (grub_reboot_fini): Likewise.
33006 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
33007 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
33008 util/i386/pc/misc.c with commands/ieee1275/halt.c,
33009 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
33010 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
33011 function.
33012 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
33013 Add prototype.
33014 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
33015 prototype.
33016 (grub_halt): Likewise.
33017 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
33018 (cmain): Remove __attribute__((unused)).
33019 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
33020 (grub_heap_len): Likewise.
33021 (grub_machine_fini): New function.
33022 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
33023 (grub_halt): Likewise.
33024 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
33025 function.
33026 * util/powerpc/ieee1275/misc.c: New file.
33027
0058f771 330282005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33029
33030 * DISTLIST: New file.
33031 * gendistlist.sh: Likewise.
f19dbdb7 33032
0058f771 33033 * Makefile.in (COMMON_DISTFILES): Removed.
33034 (BOOT_DISTFILES): Likewise.
33035 (CONF_DISTFILES): Likewise.
33036 (DISK_DISTFILES): Likewise.
33037 (FS_DISTFILES): Likewise.
33038 (INCLUDE_DISTFILES): Likewise.
33039 (KERN_DISTFILES): Likewise.
33040 (LOADER_DISTFILES): Likewise.
33041 (TERM_DISTFILES): Likewise.
33042 (UTIL_DISTFILES): Likewise.
33043 (DISTFILES): Likewise.
33044 (uninstall): Uninstall files in $(pkgdata_DATA).
33045 (DISTLIST): New target.
33046 (distdir): Use the contents of the file DISTLIST to get a list of
33047 distributed files.
33048
46b3b8a5 330492005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33050
33051 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
33052 descriptor. This is ported from GRUB Legacy.
33053
33054 * gencmdlist.sh: Added an extra semicolon to make it work with
33055 old sed versions. Reported by Robert Bihlmeyer
33056 <robbe@orcus.priv.at>.
33057
5822ff87 330582005-03-08 Yoshinori Okuji <okuji@enbug.org>
33059
33060 Automatic loading of commands is supported.
f19dbdb7 33061
5822ff87 33062 * normal/main.c (read_command_list): New function.
33063 (grub_normal_execute): Call read_command_list.
33064
33065 * normal/command.c (grub_register_command): Return zero or CMD.
33066 Allocate CMD->NAME from the heap.
33067 Initialize CMD->MODULE_NAME to zero.
33068 Find the same name as well. If the same command is found and it is
33069 a dummy command, overwrite members. If it is not a dummy command,
33070 return zero.
33071 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
33072 (grub_command_find): If a dummy command is found, load a module
33073 and retry to find a command only once.
33074
33075 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
33076 make sure that each command is loaded.
33077
33078 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
33079 macro.
33080 (struct grub_command): Remove const from the member `name'.
33081 Add a new member `module_name'.
33082 (grub_register_command): Return grub_command_t.
33083
33084 * commands/help.c (grub_cmd_help): Call grub_command_find to make
33085 sure that each command is loaded.
33086
33087 * genmk.rb (PModule::rule): Specify a module name without the
33088 suffix ".mod" to gencmdlist.sh.
33089
7b1f4b57 330902005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
33091
33092 * gencmdlist.sh: New file.
f19dbdb7 33093
7b1f4b57 33094 * genmk.rb (PModule::rule): Generate a rule for a command list.
33095 Clean command.lst.
33096 Generate command.lst from $(COMMANDFILES).
33097
33098 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
33099 (DATA): Added $(pkgdata_DATA).
33100 (install-local): Install files in $(pkgdata_DATA).
33101
062aaf39 331022005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
33103
33104 * term/i386/pc/vga.c (debug_command): Removed.
33105 (GRUB_MOD_INIT): Do not register the command "debug".
33106
33107 From Hollis Blanchard:
33108 * commands/configfile.c: New file.
33109 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33110 commands/configfile.c.
33111 (pkgdata_MODULES): Added configfile.mod.
33112 (configfile_mod_SOURCES): New variable.
33113 (configfile_mod_CFLAGS): Likewise.
33114 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
33115 commands/configfile.c.
33116 (pkgdata_MODULES): Added configfile.mod.
33117 (configfile_mod_SOURCES): New variable.
33118 (configfile_mod_CFLAGS): Likewise.
33119 * util/grub-emu.c (main): Call grub_configfile_init and
33120 grub_configfile_fini.
33121 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
33122 prototype.
33123 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 33124
cee01aa6 331252005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
33126
33127 * normal/arg.c (grub_arg_show_help): Do not show the bug report
33128 address.
33129
33130 * commands/help.c (grub_cmd_help): Do not print newlines after
33131 the last command in print_command_help.
33132
93f3a1d8 331332005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
33134
33135 * commands/default.h: New file.
33136 * commands/timeout.h: Likewise.
33137 * normal/context.c: Likewise.
f19dbdb7 33138
93f3a1d8 33139 * util/misc.c: Do not include sys/times.h.
33140 Include sys/time.h and grub/machine/time.h.
33141 (grub_get_rtc): Rewritten with gettimeofday.
33142
33143 * util/grub-emu.c (main): Call grub_default_init and
33144 grub_timeout_init before grub_normal_init, and call
33145 grub_timeout_fini and grub_default_fini after grub_main.
33146
33147 * util/console.c (grub_ncurses_checkkey): Return the read
33148 character or -1.
33149
33150 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
33151 timeouts.
33152
33153 * normal/main.c (read_config_file): Push MENU. If this fails,
33154 print an error and wait for a user input.
33155 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
33156 If a menu is empty or an error occurs, pop MENU.
33157 (grub_normal_execute): Pop and free MENU after grub_menu_run
33158 returns.
33159
33160 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
33161
33162 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
33163 include time.h.
33164 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33165 without GRUB_UTIL.
33166 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
33167 time.h.
33168 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33169 without GRUB_UTIL.
33170
33171 * include/grub/normal.h (struct grub_menu_list): New struct.
33172 (grub_menu_list_t): New type.
33173 (struct grub_context): New struct.
33174 (grub_context_t): New type.
33175 (grub_register_command): Got rid of EXPORT_FUNC.
33176 (grub_unregister_command): Likewise.
33177 (grub_context_get): New prototype.
33178 (grub_context_get_current_menu): Likewise.
33179 (grub_context_push_menu): Likewise.
33180 (grub_context_pop_menu): Likewise.
33181 [GRUB_UTIL] (grub_default_init): Likewise.
33182 [GRUB_UTIL] (grub_default_fini): Likewise.
33183 [GRUB_UTIL] (grub_timeout_init): Likewise.
33184 [GRUB_UTIL] (grub_timeout_fini): Likewise.
33185
33186 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
33187 commands/timeout.c and normal/context.c.
33188 (pkgdata_MODULES): Added default.mod and timeout.mod.
33189 (normal_mod_SOURCES): Added normal/context.c.
33190 (default_mod_SOURCES): New variable.
33191 (default_mod_CFLAGS): Likewise.
33192 (timeout_mod_SOURCES): Likewise.
33193 (timeout_mod_CFLAGS): Likewise.
33194 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
33195 conf/i386-pc.rmk.
33196 (pkgdata_MODULES): Added default.mod and timeout.mod.
33197 (normal_mod_SOURCES): Added normal/context.c.
33198 (default_mod_SOURCES): New variable.
33199 (default_mod_CFLAGS): Likewise.
33200 (timeout_mod_SOURCES): Likewise.
33201 (timeout_mod_CFLAGS): Likewise.
33202
33203 * Makefile.in (all-local): Added $(MKFILES).
33204
4ed2e1dd 332052005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
33206
33207 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
33208 (grub_emu_SOURCES): Likewise.
33209 (pkgdata_MODULES): Add `sun.mod'.
33210 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33211 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33212 `partmap/sun.c'.
33213 (pkgdata_MODULES): Add `sun.mod'.
33214 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33215 * include/grub/partition.h (grub_sun_partition_map_init): New
33216 prototype.
33217 (grub_sun_partition_map_fini): Likewise.
33218 * partmap/sun.c: New file.
33219 * util/grub-emu.c (main): Initialize and de-initialize the sun
33220 partitionmap support.
33221
4d4e372e 332222005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
33223
33224 This implements an Emacs-like menu entry editor.
f19dbdb7 33225
4d4e372e 33226 * normal/menu_entry.c: New file.
f19dbdb7 33227
4d4e372e 33228 * util/console.c (grub_ncurses_putchar): Translate some Unicode
33229 characters to ASCII.
33230 (saved_char): New variable.
33231 (grub_ncurses_checkkey): Rewritten completely.
33232 (grub_ncurses_getkey): Likewise.
33233 (grub_ncurses_init): Call raw instead of cbreak.
33234
33235 * normal/menu.c (print_entry): Do not put a space.
33236 (init_page): Renamed to ...
33237 (grub_menu_init_page): ... this. All callers changed.
33238 (edit_menu_entry): Removed.
33239 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
33240
33241 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
33242
33243 * kern/misc.c (grub_vprintf): Call grub_refresh.
33244
33245 * normal/menu.c (DISP_LEFT): Renamed to ...
33246 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
33247 * normal/menu.c (DISP_UP): Renamed to ...
33248 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
33249 * normal/menu.c (DISP_RIGHT): Renamed to ...
33250 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
33251 * normal/menu.c (DISP_DOWN): Renamed to ...
33252 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
33253 * normal/menu.c (DISP_HLINE): Renamed to ...
33254 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
33255 * normal/menu.c (DISP_VLINE): Renamed to ...
33256 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
33257 * normal/menu.c (DISP_UL): Renamed to ...
33258 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
33259 * normal/menu.c (DISP_UR): Renamed to ...
33260 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
33261 * normal/menu.c (DISP_LL): Renamed to ...
33262 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
33263 * normal/menu.c (DISP_LR): Renamed to ...
33264 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
33265 * normal/menu.c (TERM_WIDTH): Renamed to ...
33266 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
33267 * normal/menu.c (TERM_HEIGHT): Renamed to ...
33268 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
33269 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
33270 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
33271 * normal/menu.c (TERM_MARGIN): Renamed to ...
33272 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
33273 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
33274 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
33275 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
33276 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
33277 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
33278 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
33279 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
33280 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
33281 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
33282 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
33283 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
33284 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
33285 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
33286 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
33287 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
33288 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
33289 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
33290 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
33291 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
33292 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
33293 All callers changed.
33294
33295 * include/grub/normal.h: New prototype.
33296
33297 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33298 normal/menu_entry.c.
33299 (normal_mod_SOURCES): Likewise.
33300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33301 (normal_mod_SOURCES): Likewise.
33302
e6b92c8a 333032005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
33304
33305 * include/grub/normal.h (grub_halt_init): New prototype.
33306 (grub_halt_fini): Likewise.
33307 (grub_reboot_init): Likewise.
33308 (grub_reboot_fini): Likewise.
33309
33310 * util/grub-emu.c: Include signal.h.
33311 (main_env): New global variable.
33312 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
33313 catch C-c.
33314 (grub_machine_fini): New function.
33315 (main): Call grub_halt_init and grub_reboot_init before
33316 grub_main, and grub_reboot_fini and grub_halt_fini after it.
33317 Call setjmp with MAIN_ENV to go back afterwards.
33318 Call grub_machine_fini right before return.
33319
33320 * include/grub/util/misc.h: Include setjmp.h.
33321 (main_env): New prototype.
33322
33323 * include/grub/kernel.h (grub_machine_fini): New prototype.
33324 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
33325 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
33326
33327 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
33328 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
33329 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 33330
e6b92c8a 33331 * util/i386/pc/misc.c: New file.
f19dbdb7 33332
e6b92c8a 33333 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33334 util/i386/pc/misc.c, commands/i386/pc/halt.c and
33335 commands/i386/pc/reboot.c.
33336
c642636f 333372005-02-14 Guillem Jover <guillem@hadrons.org>
33338
33339 * include/grub/dl.h (grub_dl_check_header): New prototype.
33340 (grub_arch_dl_check_header): Change return type to grub_err_t,
33341 remove size parameter and export function. Update all callers.
33342 * kern/dl.c (grub_dl_check_header): New function.
33343 (grub_dl_load_core): Use `grub_dl_check_header' instead of
33344 `grub_arch_dl_check_header'. Check ELF type. Check if sections
33345 are inside the core.
33346 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
33347 independent ELF header checks.
33348 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33349 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
33350 `grub_dl_check_header' instead of explicit checks. Check for the
33351 ELF type.
33352 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
33353 `grub_dl_check_header' instead of explicit checks. Remove arch
33354 specific ELF header checks.
33355
e6b92c8a 33356 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
33357 argument SIZE.
33358
5eabe94b 333592005-02-13 Hollis Blanchard <hollis@penguinppc.org>
33360
33361 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
33362 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
33363
1b14a681 333642005-02-12 Hollis Blanchard <hollis@penguinppc.org>
33365
33366 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 33367 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 33368 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 33369 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 33370 * partmap/amiga.c (amiga_partition_map_iterate): Return
33371 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
33372 * partmap/apple.c (apple_partition_map_iterate): Likewise.
33373
aca108aa 333742005-02-01 Guillem Jover <guillem@hadrons.org>
33375
33376 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
33377 help info.
33378
c9f9c556 333792005-01-31 Marco Gerards <metgerards@student.han.nl>
33380
33381 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
33382 Removed prototype.
33383 (grub_rescue_cmd_linux): New prototype.
33384 (grub_rescue_cmd_initrd): Likewise.
33385 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
33386 `bi_rec'.
33387 (grub_linux_release_mem): Release the memory for the initrd.
33388 (grub_load_linux): Renamed from this...
33389 (grub_rescue_cmd_linux): ...To this. Changed all callers.
33390 Changed `entry' not to be static. Loop over memory regions to
33391 find another one when the default fails.
33392 (grub_rescue_cmd_initrd): New function.
33393 (grub_linux_init): Remove function.
33394 (grub_linux_fini): Likewise.
33395 (GRUB_MOD_INIT): Register `initrd'.
33396 (GRUB_MOD_FINI): Unregister `initrd'.
33397 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
33398 Function removed.
33399 (grub_linux_normal_fini): Likewise.
33400 (GRUB_MOD_INIT): Register `initrd'.
33401 (GRUB_MOD_FINI): Unregister `initrd'.
33402
990cf3aa 334032005-01-31 Marco Gerards <metgerards@student.han.nl>
33404
33405 * commands/help.c: New file.
33406 * normal/arg.c (show_help): Renamed to...
33407 (grub_arg_show_help): ... this.
33408 * commands/i386/pc/halt.c: New file.
33409 * commands/i386/pc/reboot.c: Likewise.
33410 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
33411 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
33412 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
33413 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
33414 variables.
33415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33416 `commands/help.c'.
33417 (pkgdata_MODULES): Add `help.mod'.
33418 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
33419 * grub/i386/pc/init.h (grub_reboot): New prototype.
33420 (grub_halt): Likewise.
33421 * include/grub/normal.h (grub_arg_show_help): New prototype.
33422 (grub_help_init): Likewise.
33423 (grub_help_fini): Likewise.
33424 * util/grub-emu.c (main): Initialize and deinitialize the help
33425 command.
33426
33427 * normal/cmdline.c (grub_cmdline_get): Doc fix.
33428
33429 * normal/command.c (grub_command_init): Fixed the description of
33430 the `set' and `unset' commands.
33431
334322005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 33433
33434 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
33435 function.
33436 * commands/ieee1275/halt.c: New file.
33437 * commands/ieee1275/reboot.c: Likewise.
33438 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
33439 `__attribute__ ((unused))'. Some GCS related fixed.
33440 (grub_suspend_init) [GRUB_UTIL]: Function removed.
33441 (grub_suspend_fini): Likewise.
33442 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
33443 and `halt.mod'.
33444 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
33445 (halt_mod_CFLAGS): New variables.
33446 * include/grub/powerpc/ieee1275/ieee1275.h
33447 (grub_ieee1275_interpret): New prototype.
33448
1ab09cc7 334492005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
33450
33451 * include/grub/misc.h (memmove): New prototype.
33452 (memcpy): Likewise.
33453
8b8cbdb2 334542005-01-22 Hollis Blanchard <hollis@penguinppc.org>
33455
33456 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
33457 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
33458
e3741a27 334592005-01-22 Marco Gerards <metgerards@student.han.nl>
33460
33461 * kern/misc.c (grub_strndup): Function rewritten.
33462
776bd780 334632005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
33464
33465 * normal/menu.c (TERM_WIDTH): Macro redefined.
33466 (TERM_TOP_BORDER_Y): Likewise.
33467 (draw_border): Replaced while-loop by a for-loop. Make the number
33468 of lines consistent with the number of lines displayed in
33469 print_entries. Added a margin below the rectangle.
33470 (print_entry): Make the entry fit in the rectangle.
33471 (print_entries): Display the scroll arrows next to the right
33472 border.
33473
78026bce 334742005-01-21 Marco Gerards <metgerards@student.han.nl>
33475
33476 * fs/minix.c (grub_minix_find_file): Reserve more space for
33477 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
33478 `grub_strncpy' to copy `path' into it.
33479
67bbaf0f 334802005-01-21 Marco Gerards <metgerards@student.han.nl>
33481
33482 Add the loopback device, a device via which files can be accessed
33483 as devices.
f19dbdb7 33484
67bbaf0f 33485 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
33486 (pkgdata_MODULES): Add loopback.mod.
33487 (loopback_mod_SOURCES): New variable.
33488 (loopback_mod_CFLAGS): Likewise.
33489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33490 `disk/loopback.c'.
33491 (pkgdata_MODULES): Add loopback.mod.
33492 (loopback_mod_SOURCES): New variable.
33493 (loopback_mod_CFLAGS): Likewise.
33494 * disk/loopback.c: new file.
33495 * include/grub/normal.h (grub_loop_init): New prototype.
33496 (grub_loop_fini): New prototype.
33497 * util/grub-emu.c (main): Initialize and de-initialize loopback
33498 support.
33499 * include/grub/disk.h (grub_disk_dev_id): Add
33500 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
33501
6f1c18bd 335022005-01-20 Hollis Blanchard <hollis@penguinppc.org>
33503
33504 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
33505 function.
33506 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
33507 (suspend_mod_SOURCES): New variable.
33508 (suspend_mod_CFLAGS): Likewise.
33509 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
33510 New prototype.
33511 * commands/ieee1275/suspend.c: New file.
33512
b38551da 335132005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33514
33515 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 33516 ((unused))' to `__attribute__ ((used))'.
b38551da 33517 (GRUB_MOD_FINI): Likewise.
33518 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
33519 * genmk.rb (PModule): Assign space to common symbols when linking
33520 modules.
33521
777aff39 335222005-01-20 Marco Gerards <metgerards@student.han.nl>
33523
33524 * include/grub/mm.h (grub_mm_init_region): Change the type of the
33525 `unsigned' arguments to `grub_size_t'.
33526 (grub_malloc): Likewise.
33527 (grub_realloc): Likewise.
33528 (grub_memalign): Likewise.
33529 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
33530 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33531 * util/misc.c (grub_malloc): Likewise.
33532 (grub_realloc): Likewise.
33533 * kern/mm.c (get_header_from_pointer): Change the casts to
33534 `unsigned' into a cast to `grub_size_t'.
33535
33536 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
33537 point to `currnode' when `currnode' is changed.
33538
33539 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
33540 Schottelius <nico-linux@schottelius.org>.
33541
d0ff18e1 335422005-01-09 Hollis Blanchard <hollis@penguinppc.org>
33543
33544 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
33545 (note_path): Remove variable.
33546 (GRUB_IEEE1275_NOTE_NAME): New macro.
33547 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
33548 (grub_ieee1275_note_hdr): New structure.
33549 (grub_ieee1275_note_desc): Likewise.
33550 (grub_ieee1275_note): Likewise.
33551 (load_note): Remove `dir' argument. All callers updated. Remove
33552 `note_img' and `path'. Do not load a file from `note_path'.
33553 Initialize a struct grub_ieee1275_note and write that to `out'.
33554 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
33555
4ca7004c 335562005-01-05 Marco Gerards <metgerards@student.han.nl>
33557
33558 * util/misc.c (grub_util_read_image): Revert last change. It
33559 called `grub_util_read_at', which seeks from the beginning of the
33560 file.
33561
0b412211 335622005-01-04 Hollis Blanchard <hollis@penguinppc.org>
33563
33564 * TODO: Add note about endianness in grub-mkimage.
33565 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
33566 section.
33567 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
33568 (grub_mkimage_SOURCES): New target.
33569 * include/grub/kernel.h (grub_start_addr): Remove variable.
33570 (grub_end_addr): Likewise.
33571 (grub_total_module_size): Likewise.
33572 (grub_kernel_image_size): Likewise.
33573 (GRUB_MODULE_MAGIC): New constant.
33574 (grub_module_info): New structure.
33575 (grub_arch_modules_addr): New prototype.
33576 (grub_get_end_addr): Remove prototype.
33577 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
33578 * include/grub/powerpc/ieee1275/kernel.h: New file.
33579 * include/grub/util/misc.h (grub_util_get_fp_size): New
33580 prototype.
33581 (grub_util_read_at): Likewise.
33582 (grub_util_write_image_at): Likewise.
33583 * kern/main.c (grub_get_end_addr): Remove function.
33584 (grub_load_modules): Call grub_arch_modules_addr instead of using
33585 grub_end_addr. Look for a grub_module_info struct in memory. Use
33586 the grub_module_info fields instead of calling grub_get_end_addr
33587 as loop conditions. Move grub_add_unused_region code here.
33588 (grub_add_unused_region): Remove function.
33589 * kern/i386/pc/init.c: Include grub/cache.h.
33590 (grub_machine_init): Remove call to grub_get_end_addr. Remove
33591 one call to add_mem_region.
33592 (grub_arch_modules_addr): New function.
33593 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
33594 (grub_total_module_size): Likewise.
33595 Include grub/machine/kernel.h.
33596 (grub_arch_modules_addr): New function.
33597 * util/grub-emu.c (grub_end_addr): Remove variable.
33598 (grub_total_module_size): Likewise.
33599 (grub_arch_modules_addr): New function.
33600 * util/misc.c: Include unistd.h.
33601 (grub_util_get_fp_size): New function.
33602 (grub_util_read_at): Likewise.
33603 (grub_util_write_image_at): Likewise.
33604 (grub_util_read_image): Call grub_util_read_at.
33605 (grub_util_write_image): Call grub_util_write_image_at.
33606 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
33607 additional memory in kernel_img for a struct grub_module_info.
33608 Fill in that grub_module_info.
33609 * util/powerpc/ieee1275/grub-mkimage.c: New file.
33610
458786f8 336112005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33612
33613 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
33614 New function.
33615 * include/grub/powerpc/ieee1275/ieee1275.h
33616 (grub_ieee1275_milliseconds): New prototype.
33617 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
33618 Change to 1000.
33619 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
33620 grub_ieee1275_milliseconds.
33621
ac507d1b 336222005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33623
33624 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
33625 variable.
33626 (find_options): New function.
33627 (cmain): Call find_options.
33628 * include/grub/powerpc/ieee1275/ieee1275.h
33629 (grub_ieee1275_realmode): New extern variable.
33630 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
33631 grub_map if grub_ieee1275_realmode is false.
33632
6b8fd1c4 336332004-12-29 Marco Gerards <metgerards@student.han.nl>
33634
33635 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
33636 lines are inserted and make it work like readline. Reported by
33637 Vincent Pelletier <subdino2004@yahoo.fr>.
33638
8514a1e0 336392004-12-28 Marco Gerards <metgerards@student.han.nl>
33640
33641 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
33642
33643 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
33644 `kern/powerpc/cache.S'.
33645
924b6140 336462004-12-27 Marco Gerards <metgerards@student.han.nl>
33647
33648 * genmk.rb: Handle the `Program' class in the main loop. Written
33649 by Johan Rydberg <jrydberg@gnu.org>.
33650 (Program): New class.
33651 (programs): New variable.
33652 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
33653 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
33654 instead of "grub/kernel.h". Include <grub/machine/init.h>.
33655 (help_arch): Function removed.
33656 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
33657 `powerpc/libgcc.h' and `loader.h'.
33658 (pkgdata_PROGRAMS): New variable.
33659 (sbin_UTILITIES): Variable removed.
33660 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
33661 (grubof_SOURCES): Variable re-defined so it only includes the
33662 core functionality.
33663 (grubof_CFLAGS): Remove `-DGRUBOF'.
33664 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
33665 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
33666 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
33667 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
33668 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
33669 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
33670 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
33671 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
33672 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
33673 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
33674 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33675 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
33676 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
33677 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
33678 (pc_mod_CFLAGS): New variables.
33679 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
33680 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
33681 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
33682 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
33683 Moved from here...
33684 * include/grub/i386/pc/init.h (grub_os_area_addr)
33685 (rub_os_area_size): ... to here.
33686 * include/grub/powerpc/ieee1275/ieee1275.h
33687 (grub_ieee1275_entry_fn): Export symbol.
33688 * include/grub/powerpc/ieee1275/init.h: New file.
33689 * include/grub/powerpc/libgcc.h: Likewise.
33690 * include/grub/cache.h: Likewise.
33691 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
33692 <hollis@penguinppc.org>.
33693 * kern/dl.c: Include <grub/cache.h>.
33694 (grub_dl_flush_cache): New function.
33695 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
33696 for this module.
33697 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
33698 (grub_console_init): Removed prototypes.
33699 (grub_machine_init): Don't initialize the modules anymore.
33700 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
33701 static.
33702 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
33703 Macro undef removed.
33704 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
33705 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
33706 relocation `R_PPC_REL32'. Return an error when the relocation is
33707 unknown.
33708 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
33709 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
33710 * util/misc.c (grub_arch_sync_caches): Likewise.
33711
e4b47e0c 337122004-12-19 Marco Gerards <metgerards@student.han.nl>
33713
33714 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
33715 `symlist.c', add `grubof_symlist.c'.
33716 (symlist.c): Variable removed.
33717 (grubof_HEADERS): Variable added.
33718 (grubof_symlist.c): New target.
33719 (kernel_syms.lst): Use `grubof_HEADERS' instead of
33720 `kernel_img_HEADERS'.
33721 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
33722 * kern/powerpc/dl.c: New file.
33723 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
33724 Function removed.
33725 (grub_arch_dl_relocate_symbols): Likewise.
33726 (grub_register_exported_symbols): Likewise.
33727
4ceb3636 337282004-12-13 Marco Gerards <metgerards@student.han.nl>
33729
33730 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
33731 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
33732 to fail instead. Reported by Vincent Pelletier
33733 <subdino2004@yahoo.fr>.
33734
33735 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
33736 it is not allocated. Reported by Vincent Pelletier
33737 <subdino2004@yahoo.fr>.
33738
33739 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
33740 output so the output looks better.
f19dbdb7 33741
3f1578fe 337422004-12-04 Marco Gerards <metgerards@student.han.nl>
33743
33744 Modulize the partition map support and add support for the amiga
33745 partition map.
f19dbdb7 33746
3f1578fe 33747 * commands/ls.c: Include <grub/partition.h> instead of
33748 <grub/machine/partition.h>.
33749 * kern/disk.c: Likewise.
33750 * kern/rescue.c: Likewise.
33751 * loader/i386/pc/chainloader.c: Likewise.
33752 * normal/cmdline.c: Likewise.
33753 * kern/powerpc/ieee1275/init.c: Likewise.
33754 (grub_machine_init): Call `grub_pc_partition_map_init',
33755 `grub_amiga_partition_map_init' and
33756 `grub_apple_partition_map_init'.
33757 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
33758 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
33759 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
33760 `partition.h' and `pc_partition.h'.
33761 (grub_setup_SOURCES): Remove
33762 `disk/i386/pc/partition.c'. Add `kern/partition.c',
33763 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33764 (grub_emu_SOURCES): Likewise.
33765 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
33766 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
33767 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
33768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33769 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
33770 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33771 (grubof_SOURCES): Likewise.
33772 * disk/i386/pc/partition.c: File removed.
33773 * disk/powerpc/ieee1275/partition.c: Likewise.
33774 * include/grub/powerpc/ieee1275/partition.h: Likewise.
33775 * include/grub/i386/pc/partition.h: Likewise.
33776 * kern/partition.c: New file.
33777 * partmap/amiga.c: Likewise.
33778 * partmap/apple.c: Likewise.
33779 * partmap/pc.c: Likewise.
33780 * include/grub/partition.h: Likewise..
33781 * include/grub/pc_partition.h: Likewise.
33782 * util/grub-emu.c: Include <grub/partition.h> instead of
33783 <grub/machine/partition.h>.
33784 (main): Call `grub_pc_partition_map_init',
33785 `grub_amiga_partition_map_init' and
33786 `grub_apple_partition_map_init' and deinitialize afterwards.
33787 * util/i386/pc/biosdisk.c: Include `#include
33788 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33789 `<grub/machine/partition.h>'.
33790 * util/i386/pc/grub-setup.c: Likewise.
33791 * util/i386/pc/biosdisk.c: Likewise.
33792 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
33793 partition information in case of a PC partition.
33794 * util/i386/pc/grub-setup.c: Include `#include
33795 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33796 `<grub/machine/partition.h>'.
33797 (setup): Only access the PC specific partition information in case
33798 of a PC partition.
33799
0ef4ced9 338002004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 33801
0ef4ced9 33802 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
33803 (grub_longjmp): Likewise.
33804 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
33805 20.
33806 * normal/powerpc/setjmp.S: New file.
33807 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33808 `normal/powerpc/setjmp.S'.
33809 (grubof_CFLAGS): Add `-DGRUBOF'.
33810 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
33811 [GRUB_UTIL && !GRUBOF].
f19dbdb7 33812
19950e29 338132004-11-16 Marco Gerards <metgerards@student.han.nl>
33814
33815 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
33816 property named `name'. Correctly handle the error returned by
33817 `grub_ieee1275_finddevice' if a device can not be opened.
33818
a2fea427 338192004-11-02 Hollis Blanchard <hollis@penguinppc.org>
33820
33821 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
33822 `actual' for negativity.
33823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33824 kern/fshelp.c.
33825
41ea0ea3 338262004-11-01 Marco Gerards <metgerards@student.han.nl>
33827
33828 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
33829 (PAGE_OFFSET): New macro.
33830 (CRTC_ADDR_PORT): Likewise.
33831 (CRTC_DATA_PORT): Likewise.
33832 (START_ADDR_HIGH_REGISTER): Likewise.
33833 (START_ADDR_LOW_REGISTER): Likewise.
33834 (GRAPHICS_ADDR_PORT): Likewise.
33835 (GRAPHICS_DATA_PORT): Likewise.
33836 (READ_MAP_REGISTER): Likewise.
33837 (INPUT_STATUS1_REGISTER): Likewise.
33838 (INPUT_STATUS1_VERTR_BIT): Likewise.
33839 (page): New variable.
33840 (wait_vretrace): New function.
33841 (set_read_map): Likewise.
33842 (set_start_address): Likewise.
33843 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
33844 the right page.
33845 (check_vga_mem): Take the page into account.
33846 (write_char): Likewise.
33847 (write_cursor): Likewise.
33848 (scroll_up): Likewise. Copy the page to the page that is not
33849 shown and switch between both pages.
33850 (grub_vga_putchar): Fix off by one error.
33851 (grub_vga_cls): Wait for the vertical retrace. Take the page into
33852 account.
33853
ad0bd20b 338542004-11-01 Marco Gerards <metgerards@student.han.nl>
33855
33856 Add support for iso9660 (including rockridge).
f19dbdb7 33857
ad0bd20b 33858 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33859 (iso9660_mod_SOURCES): New variable.
33860 (iso9660_mod_CFLAGS): Likewise.
33861 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33862 * include/grub/fs.h (grub_iso9660_init): New prototype.
33863 * util/grub-emu.c (main): Call `grub_iso9660_init'.
33864 * fs/iso9660.c: New file.
33865
33866 * include/grub/misc.h (grub_strncat): New prototype.
33867 * kern/misc.c (grub_strncat): New function.
f19dbdb7 33868
ad0bd20b 33869 * fs/hfs.c (grub_hfs_mount): Translate the error
33870 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
33871 * fs/jfs.c (grub_jfs_mount): Likewise.
33872 * fs/ufs.c (grub_ufs_mount): Likewise.
33873
a5477a59 338742004-10-28 Hollis Blanchard <hollis@penguinppc.org>
33875
33876 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
33877 which initialized BAT registers.
33878 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
33879 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33880 Move from here...
33881 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
33882 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33883 ... to here.
33884 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
33885 (grub_mapclaim): Likewise.
33886 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
33887 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
33888 hand.
33889
9304c1f8 338902004-10-19 Hollis Blanchard <hollis@penguinppc.org>
33891
33892 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
33893 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
33894 -ffreestanding and -msoft-float.
33895
86f4ae25 338962004-10-15 Hollis Blanchard <hollis@penguinppc.org>
33897
33898 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
33899 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
33900 set in grub_ieee1275_flags.
33901
38912228 339022004-10-14 Hollis Blanchard <hollis@penguinppc.org>
33903
33904 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
33905 prototype.
33906 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
33907 grub_console_init first.
33908 Change the memory range used for grub_ieee1275_claim and
33909 grub_mm_init_region.
33910 Print an error message if the claim fails.
33911 Include <grub/misc.h>.
33912
d1923dc8 339132004-10-13 Hollis Blanchard <hollis@penguinppc.org>
33914
33915 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
33916 Call grub_children_iterate for device nodes of type `scsi',
33917 `ide', or `ata'.
33918 (grub_ofdisk_open): Remove manual device alias resolution.
33919 Fix memory leak when device cannot be opened.
f19dbdb7 33920 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 33921 (grub_children_iterate): New prototype.
33922 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
33923 New function.
33924 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33925 Return -1 if args.size was -1.
33926
4512e4f3 339272004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33928
33929 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
33930 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
33931 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
33932 Open Firmware's memory for it; claim memory from _start to _end.
33933 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
33934 (_end): New extern.
33935 (_start): Zero BSS from __bss_start to _end.
33936 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33937 New extern.
33938 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
33939
4d61feb0 339402004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33941
ad0bd20b 33942 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
33943 -1 if args.base was -1.
4d61feb0 33944
026fa2f9 339452004-10-08 Hollis Blanchard <hollis@penguinppc.org>
33946
33947 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
33948 escape sequence instead of a literal ^L. Also call
33949 grub_ofconsole_gotoxy.
33950
9f2220ef 339512004-10-03 Hollis Blanchard <hollis@penguinppc.org>
33952
33953 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
33954 void * arguments to grub_addr_t. All callers updated. Also make
33955 the `result' argument optional.
33956 (grub_ieee1275_release): change void * arguments to grub_addr_t.
33957 All callers updated.
33958
8a572cd7 339592004-09-22 Hollis Blanchard <hollis@penguinppc.org>
33960
33961 * commands/ls.c (grub_ls_list_files): Use the string following the
33962 initial ')', if present, as the filesystem path.
33963 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
33964
33965 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
33966
18aa81f2 339672004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
33968
33969 Make the source code of the menu interface more readable.
f19dbdb7 33970
18aa81f2 33971 * normal/menu.c: Include grub/mm.h.
33972 (TERM_WIDTH): New macro.
33973 (TERM_HEIGHT): Likewise.
33974 (TERM_INFO_HEIGHT): Likewise.
33975 (TERM_MARGIN): Likewise.
33976 (TERM_SCROLL_WIDTH): Likewise.
33977 (TERM_TOP_BORDER_Y): Likewise.
33978 (TERM_LEFT_BORDER_X): Likewise.
33979 (TERM_BORDER_WIDTH): Likewise.
33980 (TERM_MESSAGE_HEIGHT): Likewise.
33981 (TERM_BORDER_HEIGHT): Likewise.
33982 (TERM_NUM_ENTRIES): Likewise.
33983 (TERM_FIRST_ENTRY_Y): Likewise.
33984 (TERM_ENTRY_WIDTH): Likewise.
33985 (TERM_CURSOR_X): Likewise.
33986 (draw_border): Use macros instead of magic numbers.
33987 (print_entry): Likewise.
33988 (print_entries): Likewise.
33989 (run_menu): Likewise. Also, handle the key 'e'.
33990 (run_menu_entry): Ignore empty command lines.
33991 (print_message): Added a new argument EDIT. If EDIT is true,
33992 print a different message.
33993 (init_page): Likewise.
33994 (edit_menu_entry): New function. Not implemented yet.
33995
b47efe30 339962004-09-17 Marco Gerards <metgerards@student.han.nl>
33997
33998 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
33999 can be loaded from normal mode.
f19dbdb7 34000
b47efe30 34001 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
34002 `multiboot.mod'.
34003 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
34004 (multiboot_mod_CFLAGS): New variables.
34005 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 34006 * loader/i386/pc/multiboot_normal.c: Likewise.
34007
b47efe30 34008 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
34009 attribute `unused'.
f19dbdb7 34010
b47efe30 34011 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
34012 `fdiro' to read the mode information from instead of `diro'.
34013
34014 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
34015 looking up a symlink.
34016
34017 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
34018 macro.
34019 * normal/command.c (grub_command_execute): Don't parse the
34020 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
34021 flags of the command.
34022
34023 * normal/menu.c (grub_menu_run): Fix typo.
34024
da75ac71 340252004-09-14 Hollis Blanchard <hollis@penguinppc.org>
34026
34027 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
34028
34029 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
34030 `y + 1' instead of `y - 1'.
34031
34032 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 34033
062b24c2 340342004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
34035
34036 From Hollis Blanchard <hollis@penguinppc.org>:
34037 * kern/misc.c (memmove): New alias for grub_memmove.
34038 (memcmp): New alias for grub_memcmp.
34039 (memset): New alias for grub_memset.
f19dbdb7 34040 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 34041 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 34042 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 34043 (grub_ieee1275_get_property): Likewise.
f19dbdb7 34044
8ddad845 340452004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
34046
34047 Added normal mode command `chainloader' as module chain.mod, which
34048 depends on normal.mod and _chain.mod.
f19dbdb7 34049
8ddad845 34050 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
34051 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
34052 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
34053 Deleted prototype.
34054 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
34055 but arguments parsing moved to ...
34056 (grub_chainloader_cmd): ... here. New function.
34057 * include/grub/i386/pc/chainloader.h: New file.
34058 * loader/i386/pc/chainloader_normal.c: Likewise.
34059
2c1f4ce3 340602004-09-11 Marco Gerards <metgerards@student.han.nl>
34061
34062 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
34063 (grub_mkimage_LDFLAGS): Likewise.
34064 (grub_emu_SOURCES): Likewise.
34065 (kernel_img_HEADERS): Added fshelp.h.
34066 * fs/ext2.c: Include <grub/fshelp.h>.
34067 (FILETYPE_REG): New macro.
34068 (FILETYPE_INO_REG): Likewise.
34069 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
34070 Changed all users.
34071 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
34072 all users.
34073 (grub_fshelp_node): New struct.
34074 (grub_ext2_data): Added member `diropen'. Changed member `inode'
34075 to a pointer.
34076 (grub_ext2_get_file_block): Removed function.
34077 (grub_ext2_read_block): New function.
34078 (grub_ext2_read_file): Replaced parameter `data' by `node'.
34079 This function was written.
34080 (grub_ext2_mount): Read the root inode. Create a diropen struct.
34081 (grub_ext2_find_file): Removed function.
34082 (grub_ext2_read_symlink): New function.
34083 (grub_ext2_iterate_dir): Likewise.
34084 (grub_ext2_open): Rewritten.
34085 (grub_ext2_dir): Rewritten.
34086 * include/grub/fshelp.h: New file.
34087 * fs/fshelp.c: Likewise.
34088
3c52136a 340892004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
34090
34091 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
34092 (print_message): Add a missing newline.
34093 (run_menu): Added timeout support.
34094 (run_menu_entry): New local function.
34095 (grub_menu_run): Added support for booting.
34096
34097 * kern/loader.c (grub_loader_is_loaded): New function.
34098
34099 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
34100 (grub_get_rtc): Exported.
34101
34102 * include/grub/i386/pc/time.h: Include grub/symbol.h.
34103 (grub_get_rtc): Exported.
34104
34105 * include/grub/normal.h (struct grub_command_list): Remove
34106 constant from the member `command'.
34107
34108 * include/grub/loader.h (grub_loader_is_loaded): Declared.
34109
34110 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
34111
34112 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
34113
aa033560 341142004-08-28 Marco Gerards <metgerards@student.han.nl>
34115
34116 Add support for the JFS filesystem.
34117
34118 * fs/jfs.c: New file.
34119 * include/grub/fs.h (grub_jfs_init): New prototype.
34120 (grub_jfs_fini): New prototype.
34121 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
34122 (grub_emu_SOURCES): Likewise.
34123 (pkgdata_MODULES): Add jfs.mod.
34124 (jfs_mod_SOURCES): New variable.
34125 (jfs_mod_CFLAGS): Likewise.
34126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
34127 (grubof_SOURCES): Likewise.
34128 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
34129
34130 * fs/fat.c (grub_fat_find_dir): Convert the filename little
34131 endian to the host endian.
34132 (grub_fat_utf16_to_utf8): Move function from there...
34133 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 34134 the endianness of the source string anymore.
aa033560 34135 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
34136
94bc45af 341372004-08-24 Marco Gerards <metgerards@student.han.nl>
34138
34139 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
34140 (grub_boot_fini) [GRUB_UTIL]: Likewise.
34141 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
34142 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 34143
94bc45af 34144 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
34145 (grub_hfs_iterate_dir): Make the function static. Add prototypes
34146 for `node_found' and `it_dir'.
34147 (grub_hfs_dir): Add prototype for `dir_hook'.
34148
34149 * fs/minix.c (grub_minix_get_file_block): Add prototype for
34150 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
34151 and `indir32' to silence a gcc warning.
34152
34153 * include/grub/fs.h (grub_hfs_init): New prototype.
34154 (grub_hfs_fini): Likewise.
f19dbdb7 34155
34156
97543f08 341572004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
34158
34159 Each disk device has its own id now. This is useful to make use
34160 of multiple disk devices.
f19dbdb7 34161
97543f08 34162 * include/grub/disk.h (grub_disk_dev_id): New enum.
34163 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
34164 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
34165
34166 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
34167 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34168
34169 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
34170 GRUB_DISK_DEVICE_OFDISK_ID as an id.
34171
34172 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
34173 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34174
34175 * include/grub/disk.h (struct grub_disk_dev): Added a new member
34176 "id" which is used by the cache manager.
34177
34178 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
34179 of just "GRUB".
34180
64372eb4 341812004-08-18 Marco Gerards <metgerards@student.han.nl>
34182
34183 * fs/hfs.c: New file.
34184 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
34185 (grub_emu_SOURCES): Likewise.
34186 (pkgdata_MODULES): Add hfs.mod.
34187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
34188 (grubof_SOURCES): Likewise.
34189 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
34190
34191 * include/grub/misc.h (grub_strncasecmp): Add prototype.
34192 * kern/misc.c (grub_strncasecmp): Add function.
34193
cc61b58f 341942004-08-14 Marco Gerards <metgerards@student.han.nl>
34195
34196 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
34197 with parentheses.
34198
34199 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
34200 (grub_ext2_dir): In case the directory entry type is unknown, read
34201 it from the inode.
34202
0ef123f6 342032004-08-02 Peter Bruin <pjbruin@dds.nl>
34204
34205 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
34206 grub_load_linux instead of grub_rescue_cmd_linux as second
34207 argument of grub_rescue_register_command.
34208
34209 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
34210
a447c5df 342112004-07-27 Marco Gerards <metgerards@student.han.nl>
34212
34213 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
34214 function.
34215 * commands/boot.c: Remove the check for `GRUB_UTIL'.
34216 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
34217 `loader/powerpc/ieee1275/linux.c',
34218 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
34219 * include/grub/powerpc/ieee1275/ieee1275.h
34220 (grub_ieee1275_release): New prototype.
34221 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
34222 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
34223 normal, boot, linux and linux_normal.
34224 * loader/powerpc/ieee1275/linux.c: New file.
34225 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34226
5a9e3546 342272004-07-12 Marco Gerards <metgerards@student.han.nl>
34228
34229 * normal/arg.c (grub_arg_parse): Correct error handling after
34230 reallocating the argumentlist (check if `argl' is not null instead
34231 of checking if `args' is not null).
34232 * kern/mm.c (grub_realloc): Return the same pointer when using the
34233 same region, instead of returning the header address.
34234
e15199cb 342352004-07-11 Marco Gerards <metgerards@student.han.nl>
34236
34237 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
34238 one block instead of two when looking for the initial partition.
34239 (grub_partition_probe): Initialize the local variable `p' with 0.
34240 Use base 10 for the grub_strtoul call.
34241 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
34242 need for one local variable.
34243 (grub_strtoul): Don't add the new value to `num', instead of that
34244 just assign it.
34245
020616c2 342462004-07-11 Marco Gerards <metgerards@student.han.nl>
34247
34248 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
34249 (pxeboot_img_SOURCES): New variable.
34250 (pxeboot_img_ASFLAGS): Likewise.
34251 (pxeboot_img_LDFLAGS): Likewise.
34252 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
34253 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
34254 <lode_leroy@hotmail.com>.
34255
6c51eb64 342562004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34257
34258 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
34259 there was no input.
34260
cfb12aff 342612004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34262
34263 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
34264 the history buffer logic.
34265
6eabba74 342662004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34267
34268 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
34269 (FILETYPE_INO_SYMLINK): New macros.
34270 (grub_ext2_find_file): Check if the node is a directory using the
34271 inode stat information instead of using the filetype in the
34272 dirent. Exclude the first character of an absolute symlink.
34273 (grub_ext2_dir): Mask out the filetype part of the mode member of
34274 the inode.
34275
66e19ef8 342762004-05-24 Marco Gerards <metgerards@student.han.nl>
34277
34278 Add support for UFS version 1 and 2. Add support for the minix
34279 filesystem version 1 and 2, both the variants with 14 and 30 long
34280 filenames.
f19dbdb7 34281
66e19ef8 34282 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
34283 fs/minix.c.
34284 (grub_emu_SOURCES): Likewise.
34285 (pkgdata_MODULES): Add ufs.mod and minix.mod.
34286 (ufs_mod_SOURCES): New variable.
34287 (ufs_mod_CFLAGS): Likewise.
34288 (minix_mod_SOURCES): Likewise.
34289 (minix_mod_CFLAGS): Likewise.
34290 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
34291 fs/minix.c.
34292 (grubof_SOURCES): Likewise.
34293 * fs/ufs.c: New file.
34294 * fs/minix.c: New file.
34295 * include/grub/fs.h (grub_ufs_init): New prototype.
34296 (grub_ufs_fini): Likewise.
34297 (grub_minix_init): Likewise.
34298 (grub_minix_fini): Likewise.
34299 * util/grub-emu.c (main): Initialize and deinitialize UFS and
34300 minix fs.
34301
cc2e748a 343022004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
34303
34304 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
34305 commands/ls.c, commands/terminal.c, commands/boot.c,
34306 commands/cmp.c and commands/cat.c.
34307 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
34308
34309 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
34310 "env.h"
34311
4b13b216 343122004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34313
34314 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
34315 and grub_, respectively. Because the conversion is trivial and
34316 mechanical, I omit the details here. Please refer to the CVS
34317 if you need more information.
34318
6a142551 343192004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34320
34321 * include/pupa: Renamed to ...
34322 * include/grub: ... this.
34323 * util/i386/pc/pupa-mkimage.c: Renamed to ...
34324 * util/i386/pc/grub-mkimage.c: ... this.
34325 * util/i386/pc/pupa-setup.c: Renamed to ...
34326 * util/i386/pc/grub-setup.c: ... this.
34327 * util/pupa-emu.c: Renamed to ...
34328 * util/grub-emu.c: ... this.
34329
e56cdf21 343302004-03-29 Marco Gerards <metgerards@student.han.nl>
34331
34332 Add support for the newworld apple macintosh (PPC). This has been
34333 tested on the powerbook 2000 only. It only adds support for
34334 generic ieee1275 functions, console and disk support. This should
34335 be easy to port to other architectures with support for Open
34336 Firmware.
f19dbdb7 34337
e56cdf21 34338 * configure.ac: Accept the powerpc as host_cpu. In the case of
34339 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
34340 specific tests are only executed while building for the i386.
34341 Inverse test for crosscompile.
34342 * genmk.rb (Utility): Allow assembler files.
34343 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
34344 * conf/powerpc-ieee1275.rmk: New file.
34345 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
34346 * disk/powerpc/ieee1275/partition.c: Likewise.
34347 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
34348 * include/pupa/powerpc/ieee1275/console.h: Likewise.
34349 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
34350 * include/pupa/powerpc/ieee1275/time.h: Likewise.
34351 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
34352 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
34353 * include/pupa/powerpc/ieee1275/loader.h
34354 * include/pupa/powerpc/setjmp.h: Likewise.
34355 * include/pupa/powerpc/types.h: Likewise.
34356 * kern/powerpc/ieee1275/init.c: Likewise.
34357 * kern/powerpc/ieee1275/openfw.c: Likewise.
34358 * term/powerpc/ieee1275/ofconsole.c: Likewise.
34359
34360 These files were written by Johan Rydberg
34361 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 34362
e56cdf21 34363 * boot/powerpc/ieee1275/cmain.c: New file.
34364 * boot/powerpc/ieee1275/crt0.S: Likewise.
34365 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
34366 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
34367
8c8cc205 343682004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
34369
34370 * Makefile.in: Update copyright.
34371 * genmodsrc.sh: Likewise.
34372 * gensymlist.sh: Likewise.
34373 * term/i386/pc/vga.c: Indent correctly.
34374
34375 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
34376 bugreporting address.
34377 * util/i386/pc/pupa-setup.c (usage): Likewise,
34378 (main): Call pupa_ext2_init and pupa_ext2_fini.
34379
f19dbdb7 34380 * fs/fat.c (log2): Renamed to ...
8c8cc205 34381 (fat_log2): ... this.
34382 All callers changed.
34383 * kern/misc.c (memcpy): Alias to pupa_memmove.
34384 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
34385 lvalue cast.
34386 * util/console.c (pupa_ncurses_fini): Return 0.
34387
34388 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
34389 Move fail label here.
34390 [__GNU__]: Don't warn when using stat.
34391 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
34392 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
34393 long int. Use strtol instead of strtoul.
f19dbdb7 34394
db1771cf 343952004-03-14 Marco Gerards <metgerards@student.han.nl>
34396
34397 * commands/boot.c: New file.
34398 * commands/cat.c: Likewise.
34399 * commands/cmp.c: Likewise.
34400 * commands/ls.c: Likewise.
34401 * commands/terminal.c: Likewise.
34402 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
34403 (pupa_register_command): Changed interface to match the new
34404 argument parser.
34405 (pupa_command_execute): Changed (almost rewritten) so it uses
34406 pupa_split_command. Added support for setting variables using the
34407 syntax `foo=bar'.
34408 (rescue_command): Changed to work with the new argument parser.
34409 (terminal_command): Moved from here to commands/terminal.c.
34410 (set_command): New function.
34411 (unset_command): New function.
34412 (insmod_command): New function.
34413 (rmmod_command): New function.
34414 (lsmod_command): New function.
34415 (pupa_command_init): Don't initialize the command terminal
34416 anymore. Initialize the commands set, unset, insmod, rmmod and
34417 lsmod.
34418 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
34419 (kernel_img_HEADERS): Add arg.h and env.h.
34420 (pupa_mkimage_LDFLAGS): Add kern/env.c.
34421 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
34422 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
34423 normal/arg.c.
34424 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
34425 terminal.mod.
34426 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
34427 (boot_mod_SOURCES): New variable.
34428 (terminal_mod_SOURCES): Likewise.
34429 (ls_mod_SOURCES): Likewise.
34430 (cmp_mod_SOURCES): Likewise.
34431 (cat_mod_SOURCES): Likewise.
34432
34433 * normal/arg.c: New file.
34434 * kern/env.c: Likewise.
34435 * include/pupa/arg.h: Likewise.
34436 * include/pupa/env.h: Likewise.
34437 * font/manager.c (font_command): Changed to match argument parsing
34438 interface changes.
34439 (PUPA_MOD_INIT): Likewise.
34440 * hello/hello.c (pupa_cmd_hello): Likewise.
34441 (PUPA_MOD_INIT): Likewise.
34442 * include/pupa/disk.h: Include <pupa/device.h>.
34443 (pupa_print_partinfo): New prototype.
34444 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
34445 (pupa_dl_get_prefix): Likewise.
34446 * include/pupa/misc.h: Include <pupa/err.h>.
34447 (pupa_isgraph): New prototype.
34448 (pupa_isdigit): Likewise.
34449 (pupa_split_cmdline): Likewise.
34450 * include/pupa/normal.h: Include <pupa/arg.h>.
34451 (pupa_command): Changed the prototype of the member `func' to
34452 match the argument parsing interface. Added member `options'.
34453 (pupa_register_command): Updated to match function.
34454 (pupa_arg_parse): New prototype.
34455 (pupa_hello_init) [PUPA_UTIL]: New prototype.
34456 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
34457 (pupa_ls_init) [PUPA_UTIL]: Likewise.
34458 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
34459 (pupa_cat_init) [PUPA_UTIL]: Likewise.
34460 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
34461 (pupa_boot_init) [PUPA_UTIL]: Likewise.
34462 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
34463 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
34464 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
34465 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
34466 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
34467 * kern/disk.c: Include <pupa/file.h>.
34468 (pupa_print_partinfo): New function.
34469 * kern/dl.c: Include <pupa/env.h>.
34470 (pupa_dl_dir): Variable removed.
34471 (pupa_dl_load): Use the environment variable `prefix' instead of
34472 the variable pupa_dl_dir.
34473 (pupa_dl_set_prefix): Function removed.
34474 (pupa_dl_get_prefix): Likewise.
34475 * kern/i386/pc/init.c: Include <pupa/env.h>.
34476 (pupa_machine_init): Use the environment variable `prefix' instead of
34477 using pupa_dl_set_prefix to set the prefix.
34478 * kern/main.c: Include <pupa/env.h>.
34479 (pupa_set_root_dev): Use the environment variable `prefix' instead of
34480 using pupa_dl_get_prefix to get the prefix.
34481 * kern/misc.c: Include <pupa/env.h>.
34482 (pupa_isdigit): New function.
34483 (pupa_isgraph): Likewise.
34484 (pupa_ftoa): Likewise.
34485 (pupa_vsprintf): Added support for printing values of the type
34486 `double'. Make it possible to format variable output when using
34487 formatting like `%1.2%f'.
34488 (pupa_split_cmdline): New function.
34489 * kern/rescue.c: Include <pupa/env.h>.
34490 (next_word): Removed function.
34491 (pupa_rescue_cmd_prefix): Likewise.
34492 (pupa_rescue_cmd_set): New function.
34493 (pupa_rescue_cmd_unset): New function.
34494 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
34495 split the command line instead of splitting it here. Added
34496 support for setting variables using the syntax `foo=bar'. Don't
34497 initialize the prefix command anymore. Initialized the set and
34498 unset commands.
34499 * normal/cmdline.c: Include <pupa/env.h>.
34500 (pupa_tab_complete): Added prototypes for print_simple_completion,
34501 print_partition_completion, add_completion, iterate_commands,
34502 iterate_dev, iterate_part and iterate_dir. Moved code to print
34503 partition information from here to kern/disk.c.
fe6b695a 34504 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 34505 * normal/main.c: Include <pupa/env.h>.
34506 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
34507 instead of using pupa_dl_get_prefix to get the prefix.
34508 * term/i386/pc/vga.c: Include <pupa/arg.h>.
34509 (check_vga_mem): Cast pointers to `void *' to silence a gcc
34510 warning.
34511 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
34512 (pupa_vga_setcolor): Declare unused variables with `__attribute__
34513 ((unused))' to silence a gcc warning.
34514 (pupa_vga_setcolor): Likewise.
34515 (debug_command): Changed to match argument parsing
34516 interface changes.
34517 * util/pupa-emu.c: Include <pupa/env.h>.
34518 (options): Added 0's for unused fields to silence a gcc warning.
34519 (argp): Likewise.
34520 (main): Use the environment variable `prefix' instead of using
34521 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
34522 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
34523 and terminal.
34524
34525 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
34526 * util/misc.c: Include <malloc.h>.
34527 (pupa_malloc): Rewritten so errors are correctly reported.
34528 (pupa_realloc): Likewise.
34529 (pupa_memalign): Likewise.
34530 (pupa_mm_init_region): Declare unused variables with
34531 `__attribute__ ((unused))' to silence a gcc warning.
34532 * normal/i386/setjmp.S: Remove tab at the end of the file to
34533 silence a gcc warning.
34534 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
34535 variables with `__attribute__ ((unused))' to silence a gcc
34536 warning.
34537 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
34538 local variable i unsigned to silence a gcc warning.
34539
34540 * kern/term.c: Include <pupa/misc.h>.
34541 (pupa_more_lines): New variable.
34542 (pupa_more): Likewise.
34543 (pupa_putcode): When the pager is active pause at the end of every
34544 screen.
34545 (pupa_set_more): New function.
34546 * include/pupa/term.h (pupa_set_more): New prototype.
34547
34548
3b1139cb 345492004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
34550
34551 Now this project is GRUB 2 rather than PUPA. The location of
34552 the CVS repository was moved to GRUB's.
f19dbdb7 34553
3b1139cb 34554 * configure.ac: Use bug-grub as the reporting address.
34555 Use GRUB instead of PUPA.
34556 Change the version number to 1.90.
34557
8367695c 345582004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
34559
34560 * genkernsyms.sh: Updated copyright information.
34561 * genmk.rb: Likewise.
34562 * genmodsrc.sh: Likewise.
34563 * gensymlist.sh: Likewise.
34564 * boot/i386/pc/boot.S: Likewise.
34565 * boot/i386/pc/diskboot.S: Likewise.
34566 * disk/i386/pc/biosdisk.c: Likewise.
34567 * disk/i386/pc/partition.c: Likewise.
34568 * font/manager.c: Likewise.
34569 * fs/ext2.c: Likewise.
34570 * fs/fat.c: Likewise.
34571 * include/pupa/boot.h: Likewise.
34572 * include/pupa/device.h: Likewise.
34573 * include/pupa/disk.h: Likewise.
34574 * include/pupa/dl.h: Likewise.
34575 * include/pupa/elf.h: Likewise.
34576 * include/pupa/err.h: Likewise.
34577 * include/pupa/file.h: Likewise.
34578 * include/pupa/font.h: Likewise.
34579 * include/pupa/fs.h: Likewise.
34580 * include/pupa/kernel.h: Likewise.
34581 * include/pupa/loader.h: Likewise.
34582 * include/pupa/misc.h: Likewise.
34583 * include/pupa/mm.h: Likewise.
34584 * include/pupa/net.h: Likewise.
34585 * include/pupa/normal.h: Likewise.
34586 * include/pupa/rescue.h: Likewise.
34587 * include/pupa/setjmp.h: Likewise.
34588 * include/pupa/symbol.h: Likewise.
34589 * include/pupa/term.h: Likewise.
34590 * include/pupa/types.h: Likewise.
34591 * include/pupa/i386/setjmp.h: Likewise.
34592 * include/pupa/i386/types.h: Likewise.
34593 * include/pupa/i386/pc/biosdisk.h: Likewise.
34594 * include/pupa/i386/pc/boot.h: Likewise.
34595 * include/pupa/i386/pc/console.h: Likewise.
34596 * include/pupa/i386/pc/init.h: Likewise.
34597 * include/pupa/i386/pc/kernel.h: Likewise.
34598 * include/pupa/i386/pc/linux.h: Likewise.
34599 * include/pupa/i386/pc/loader.h: Likewise.
34600 * include/pupa/i386/pc/memory.h: Likewise.
34601 * include/pupa/i386/pc/multiboot.h: Likewise.
34602 * include/pupa/i386/pc/partition.h: Likewise.
34603 * include/pupa/i386/pc/time.h: Likewise.
34604 * include/pupa/i386/pc/vga.h: Likewise.
34605 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
34606 * include/pupa/util/getroot.h: Likewise.
34607 * include/pupa/util/misc.h: Likewise.
34608 * include/pupa/util/resolve.h: Likewise.
34609 * kern/device.c: Likewise.
34610 * kern/disk.c: Likewise.
34611 * kern/dl.c: Likewise.
34612 * kern/err.c: Likewise.
34613 * kern/file.c: Likewise.
34614 * kern/fs.c: Likewise.
34615 * kern/loader.c: Likewise.
34616 * kern/main.c: Likewise.
34617 * kern/misc.c: Likewise.
34618 * kern/mm.c: Likewise.
34619 * kern/rescue.c: Likewise.
34620 * kern/term.c: Likewise.
34621 * kern/i386/dl.c: Likewise.
34622 * kern/i386/pc/init.c: Likewise.
34623 * kern/i386/pc/lzo1x.S: Likewise.
34624 * kern/i386/pc/startup.S: Likewise.
34625 * loader/i386/pc/chainloader.c: Likewise.
34626 * loader/i386/pc/linux.c: Likewise.
34627 * loader/i386/pc/multiboot.c: Likewise.
34628 * normal/cmdline.c: Likewise.
34629 * normal/command.c: Likewise.
34630 * normal/main.c: Likewise.
34631 * normal/menu.c: Likewise.
34632 * normal/i386/setjmp.S: Likewise.
34633 * term/i386/pc/console.c: Likewise.
34634 * term/i386/pc/vga.c: Likewise.
34635 * util/console.c: Likewise.
34636 * util/genmoddep.c: Likewise.
34637 * util/misc.c: Likewise.
34638 * util/pupa-emu.c: Likewise.
34639 * util/resolve.c: Likewise.
34640 * util/unifont2pff.rb: Likewise.
34641 * util/i386/pc/biosdisk.c: Likewise.
34642 * util/i386/pc/getroot.c: Likewise.
34643 * util/i386/pc/pupa-mkimage.c: Likewise.
34644 * util/i386/pc/pupa-setup.c: Likewise.
34645
e6eced71 346462004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
34647
34648 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
34649 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
34650 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
34651 reading and reset it after reading.
34652 (pupa_ext2_close): Return PUPA_ERR_NONE.
34653
34654 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
34655 Correct value.
34656 (struct linux_kernel_header): Add kernel_version and
34657 initrd_addr_max.
34658 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
34659 pupa_file_read succeeds.
34660 (pupa_rescue_cmd_initrd): Implement.
34661
5aded270 346622003-12-03 Marco Gerards <metgerards@student.han.nl>
34663
34664 * fs/ext2.c (pupa_ext2_label): New function.
34665 (pupa_ext2_fs): Added label.
34666 * fs/fat.c (pupa_fat_label): New function.
34667 (pupa_fat_fs): Added label.
34668 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
34669
34670 * kern/misc.c (pupa_strndup): New function.
34671 * include/pupa/misc.h (pupa_strndup): New prototype.
34672
34673 * include/pupa/normal.h: Include <pupa/err.h>.
34674 (pupa_set_history): New prototype.
34675 (pupa_iterate_commands): New prototype.
34676 * normal/cmdline.c: Include <pupa/machine/partition.h>,
34677 <pupa/disk.h>, <pupa/file.h>.
34678 (hist_size): New variable.
34679 (hist_lines): Likewise.
34680 (hist_end): Likewise.
34681 (hist_used): Likewise.
34682 (pupa_set_history): New function.
34683 (pupa_history_get): Likewise.
34684 (pupa_history_add): Likewise.
34685 (pupa_history_replace): Likewise.
34686 (pupa_tab_complete): Likewise.
34687 (pupa_cmdline_run): Added tab completion and history buffer. Tab
34688 completion shows partitionnames while completing partitions, this
34689 feature was suggested by Jeff Bailey.
34690 * normal/command.c (pupa_iterate_commands): New function.
34691 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
34692 (pupa_normal_init): Initialize history buffer.
34693 (PUPA_MOD_INIT): Likewise.
34694 (pupa_normal_fini): Free the history buffer.
34695 (PUPA_MOD_FINI): Likewise.
34696
34697 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
34698 key.
34699
34700 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
34701 * configure.ac [i386]: Check for regparam bug.
34702 (NESTED_FUNC_ATTR) [! i386]: Defined.
34703
1f7315a3 347042003-11-17 Marco Gerards <metgerards@student.han.nl>
34705
34706 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
34707 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
34708 (pupa_emu_SOURCES): New variable.
34709 (pupa_emu_LDFLAGS): Likewise.
34710 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
34711 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
34712 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
34713 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34714 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
34715 (pupa_jmp_buf): New typedef.
34716 (pupa_setjmp) [PUPA_UTIL]: New macro.
34717 (pupa_longjmp) [PUPA_UTIL]: Likewise.
34718 * include/pupa/term.h (struct pupa_term): New member `refresh'.
34719 (pupa_refresh): New prototype.
34720 * include/pupa/util/getroot.h: New file.
34721 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
34722 it.
34723 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
34724 (pupa_rescue_cmd_cat): Likewise.
34725 (pupa_rescue_cmd_ls): Likewise.
34726 (pupa_rescue_cmd_testload): Likewise.
34727 (pupa_rescue_cmd_lsmod): Likewise.
34728 * normal/cmdline.c (pupa_cmdline_get): Likewise.
34729 * normal/menu.c (run_menu): Likewise.
34730 * kern/term.c (pupa_cls): Likewise.
34731 (pupa_refresh): New function.
34732 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
34733 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34734 * util/console.c: New file.
f19dbdb7 34735
1f7315a3 34736 * util/i386/pc/getroot.c: New file.
34737 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
34738 (pupa_putchar): New function.
34739 (pupa_refresh): Likewise.
34740 (xgetcwd): Function moved to ...
34741 (strip_extra_slashes): Likewise.
34742 (get_prefix): Likewise.
f19dbdb7 34743 * util/i386/pc/getroot.c: ... here.
1f7315a3 34744 (find_root_device): Function moved and renamed to...
34745 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
34746 Changed all callers.
34747 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
34748 and renamed to...
34749 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
34750 Changed all callers.
34751 * util/misc.c (pupa_memalign): New function.
34752 (pupa_mm_init_region): Likewise.
34753 (pupa_register_exported_symbols): Likewise.
34754 (pupa_putchar): Function removed.
34755 * util/pupa-emu.c: New file.
34756
9a5c1ade 347572003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
34758
34759 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
34760 (_multiboot_mod_SOURCES): New variable.
34761 (_multiboot_mod_CFLAGS): Likewise.
34762 * loader/i386/pc/multiboot.c: New file.
34763 * include/pupa/i386/pc/multiboot.h: Likewise.
34764 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
34765 (pupa_multiboot_real_boot): New function.
34766 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
34767 (pupa_multiboot_real_boot): New prototype.
34768 (pupa_rescue_cmd_multiboot): Likewise
34769 (pupa_rescue_cmd_module): Likewise.
34770
34771 * kern/loader.c (pupa_loader_set): Continue when
34772 pupa_loader_unload_func() fails.
34773 (pupa_loader_unset): New function.
34774 * include/pupa/loader.h (pupa_loader_unset): New prototype.
34775
34776 * kern/misc.c (pupa_stpcpy): New function.
34777 * include/pupa/misc.h (pupa_stpcpy): New prototype.
34778
8e72a9c0 347792003-11-12 Marco Gerards <metgerards@student.han.nl>
34780
34781 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
34782 for available extensions.
34783
34784 * include/pupa/i386/pc/time.h: New file.
34785 * kern/disk.c: Include <pupa/machine/time.h>.
34786 (PUPA_CACHE_TIMEOUT): New macro.
34787 (pupa_last_time): New variable.
34788 (pupa_disk_open): Flush the cache when there was a timeout.
34789 (pupa_disk_close): Reset the timer.
34790 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
34791 pupa_currticks.
34792 * util/misc.c: Include <sys/times.h>
34793 (pupa_get_rtc): New function.
34794
c4adbd32 347952003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34796
34797 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
34798 as blocks.
34799 (pupa_ext2_get_file_block): Use blocks member.
34800
34801 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
34802 first block. Return -1 instead of pupa_errno on error.
34803
bfd30f06 348042003-10-27 Marco Gerards <metgerards@student.han.nl>
34805
34806 * README: In the pupa-mkimage example use _chain instead of chain
34807 and ext2 instead of fat.
34808 * TODO: Replace ext2fs with jfs as an example. Add an item for
34809 adding journal playback for ext2fs.
34810 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
34811 (pkgdata_MODULES): Added ext2.mod.
34812 (ext2_mod_SOURCES): New variable.
34813 (ext2_mod_CFLAGS): Likewise.
34814 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
34815 * include/pupa/misc.h (pupa_strncpy): New prototype.
34816 (pupa_strcat): Likewise.
34817 (pupa_strncmp): Likewise.
34818 * kern/misc.c (pupa_strcat): Enable function.
34819 (pupa_strncpy): New function.
34820 (pupa_strncmp): Likewise.
34821 * fs/ext2.c: New file.
f19dbdb7 34822
bfd30f06 34823 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
34824 when the read failed before retrying.
34825 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
34826 (_FILE_OFFSET_BITS): Likewise.
34827 * configure.ac: Added AC_SYS_LARGEFILE.
34828
98d15063 348292003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34830
34831 * genmk.rb (PModule#rule): Make sure to get only symbol names
34832 from the output of nm.
59cad637 34833 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 34834
18d9c7cd 348352003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34836
34837 I forgot to check in these changes for a long time. This adds
34838 incomplete support for VGA console, and this is still very
34839 buggy. Also, a lot of consideration is required for I18N,
34840 UNICODE, and VGA font issues. Therefore, assume that this is
34841 such that "better than nothing".
f19dbdb7 34842
18d9c7cd 34843 * font/manager.c: New file.
34844 * include/pupa/font.h: Likewise.
34845 * include/pupa/i386/pc/vga.h: Likewise.
34846 * term/i386/pc/vga.c: Likewise.
34847 * util/unifont2pff.rb: Likewise.
34848
34849 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
34850 (pkgdata_MODULES): Added vga.mod and font.mod.
34851 (vga_mod_SOURCES): New variables.
34852 (vga_mod_CFLAGS): Likewise.
34853 (font_mod_SOURCES): Likewise.
34854 (font_mod_CFLAGS): Likewise.
34855
34856 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
34857
34858 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 34859 (struct pupa_term): Added init and fini.
18d9c7cd 34860 Changed the argument of putchar to pupa_uint32_t.
34861
34862 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
34863 (pupa_console_real_putchar): New prototype.
34864 (pupa_console_putchar): Removed.
34865 (pupa_console_checkkey): Exported.
34866 (pupa_console_getkey): Likewise.
34867
34868 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
34869 characters.
34870
34871 * kern/term.c (pupa_term_set_current): Rewritten.
34872 (pupa_putchar): Likewise.
34873 (pupa_putcode): New function.
34874
34875 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
34876 (pupa_console_real_putchar): ... this.
34877 (pupa_vga_set_mode): New function.
34878 (pupa_vga_get_font): Likewise.
34879
34880 * normal/command.c: Include pupa/term.h.
34881 (terminal_command): New function.
34882 (pupa_command_init): Register the command "terminal".
34883
34884 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
34885 (DISP_UP): Likewise.
34886 (DISP_RIGHT): Likewise.
34887 (DISP_DOWN): Likewise.
34888 (DISP_HLINE): Likewise.
34889 (DISP_VLINE): Likewise.
34890 (DISP_UL): Likewise.
34891 (DISP_UR): Likewise.
34892 (DISP_LL): Likewise.
34893 (DISP_LR): Likewise.
34894
34895 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 34896
977329f5 348972003-02-08 NIIBE Yutaka <gniibe@m17n.org>
34898
34899 * util/resolve.c (pupa_util_resolve_dependencies): BUG
34900 FIX. Reverse the path_list.
34901
34902 * include/pupa/normal.h: Export pupa_register_command and
34903 pupa_unregister_command.
34904
34905 * hello/hello.c (pupa_cmd_hello): New module.
34906 * conf/i386-pc.rmk: Added hello.mod.
34907
1f5ab428 349082003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
34909
34910 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 34911
1f5ab428 34912 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
34913 (compress_kernel): New variable.
34914 (generate_image): Heavily modified to support compressing a
34915 large part of the core image.
34916
34917 * util/misc.c (pupa_util_read_image): Fix a file descriptor
34918 leak.
34919 (pupa_util_load_image): New function.
34920
34921 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
34922 (pupa_compressed_size): New variable.
34923 (codestart): Enable Gate A20 here.
34924 Decompress the compressed part of the core image.
34925 Rearrange the code to put functions and variables which are
34926 required for initialization in the non-compressed part.
34927 Include lzo1x.S.
34928
34929 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
34930 here.
34931
34932 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
34933
f19dbdb7 34934 * include/pupa/i386/pc/kernel.h
1f5ab428 34935 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
34936 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
34937 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34938 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34939 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
34940
34941 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
34942
34943 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
34944 (Utility#rule): Likewise.
34945
34946 * configure.ac: Check if LZO is available.
34947
ce5bf700 349482003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
34949
34950 * include/pupa/normal.h: New file.
34951 * include/pupa/setjmp.h: Likewise.
34952 * include/pupa/i386/setjmp.h: Likewise.
34953 * normal/cmdline.c: Likewise.
34954 * normal/command.c: Likewise.
34955 * normal/main.c: Likewise.
34956 * normal/menu.c: Likewise.
34957 * normal/i386/setjmp.S: Likewise.
f19dbdb7 34958
ce5bf700 34959 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
34960 (pupa_rescue_cmd_initrd): Likewise.
34961
34962 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
34963 Likewise.
34964
34965 * kern/i386/pc/startup.S (translation_table): New variable.
34966 (translate_keycode): New function.
34967 (pupa_console_getkey): Call translate_keycode.
34968
34969 * kern/rescue.c (attempt_normal_mode): New function.
34970 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
34971 it failed, print a message.
34972
34973 * kern/mm.c (pupa_real_malloc): Print more information when a
34974 free magic is broken.
34975 (pupa_free): If the first free header is not free actually, set
34976 it to P.
34977
34978 * kern/main.c (pupa_load_normal_mode): Just load the module
34979 "normal".
34980 (pupa_main): Don't print the message
34981 "Entering into rescue mode..." here.
34982
34983 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
34984 Declared.
34985 (pupa_rescue_cmd_initrd): Likewise.
34986 (pupa_rescue_cmd_initrd): Likewise.
34987
34988 * include/pupa/symbol.h (FUNCTION): Specify the type.
34989 (VARIABLE): Likewise.
34990
34991 * include/pupa/err.h (pupa_err_t): Added
34992 PUPA_ERR_UNKNOWN_COMMAND.
34993
34994 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
34995 (pupa_dl_get_prefix): Likewise.
34996
34997 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
34998 Added _chain.mod and _linux.mod instead of chain.mod and
34999 linux.mod.
35000 (chain_mod_SOURCES): Renamed to ...
35001 (_chain_mod_SOURCES): ... this.
35002 (chain_mod_CFLAGS): Renamed to ...
35003 (_chain_mod_CFLAGS): ... this.
35004 (linux_mod_SOURCES): Renamed to ...
35005 (_linux_mod_SOURCES): ... this.
35006 (linux_mod_CFLAGS): Renamed to ...
35007 (_linux_mod_CFLAGS): ... this.
35008 (normal_mod_SOURCES): New variable.
35009 (normal_mod_CFLAGS): Likewise.
35010 (normal_mod_ASFLAGS): Likewise.
35011
350122003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
35013
35014 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
35015 possible.
35016
fe6b695a 35017 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 35018 recursively.
35019 (pupa_dl_unref): Unrefer depending modules recursively.
35020 Don't call pupa_dl_unload implicitly, because PUPA can crash if
35021 a module is unloaded before one depending on that module is
35022 unloaded.
35023 (pupa_dl_unload): Unload depending modules explicitly,
35024 if possible.
35025
c04da074 350262003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
35027
35028 * include/pupa/i386/pc/linux.h: New file.
35029 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 35030
c04da074 35031 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
35032 Removed.
35033 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
35034 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
35035 of PUPA_CHAINLOADER_BOOT_SECTOR.
35036
35037 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
35038 (pupa_linux_prot_size): New variable.
35039 (pupa_linux_tmp_addr): Likewise.
35040 (pupa_linux_real_addr): Likewise.
35041 (pupa_linux_boot_zimage): New function.
35042 (pupa_linux_boot_bzimage): Likewise.
35043
35044 * kern/i386/pc/init.c (struct mem_region): New structure.
35045 (MAX_REGIONS): New macro.
35046 (mem_regions): New variable.
35047 (num_regions): Likewise.
35048 (pupa_os_area_addr): Likewise.
35049 (pupa_os_area_size): Likewise.
35050 (pupa_lower_mem): Likewise.
35051 (pupa_upper_mem): Likewise.
35052 (add_mem_region): New function.
35053 (compact_mem_regions): Likewise.
35054 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
35055 the size of the conventional memory and that of so-called upper
35056 memory (before the first memory hole).
35057 Instead of adding each found region to free memory, use
35058 add_mem_region and add them after removing overlaps.
35059 Also, add only 1/4 of the upper memory to free memory. The rest
35060 is used for loading OS images. Maybe this is ad hoc, but this
35061 makes it much easier to relocate OS images when booting.
35062
35063 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
35064 (pupa_enter_rescue_mode): Don't register initrd and module.
35065
35066 * kern/mm.c: Include pupa/dl.h.
35067
35068 * kern/main.c: Include pupa/file.h and pupa/device.h.
35069
35070 * kern/loader.c (pupa_loader_load_module_func): Removed.
35071 (pupa_loader_load_module): Likewise.
35072
35073 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
35074 ``.o''.
35075
35076 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
35077 (pupa_linux_tmp_addr): Likewise.
35078 (pupa_linux_real_addr): Likewise.
35079 (pupa_linux_boot_zimage): Likewise.
35080 (pupa_linux_boot_bzimage): Likewise.
35081
35082 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
35083 (pupa_upper_mem): Likewise.
35084 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
35085 module is too dangerous.
35086
35087 * include/pupa/loader.h (pupa_os_area_addr): Declared.
35088 (pupa_os_area_size): Likewise.
35089 (pupa_loader_set): Remove the first argument. Loader doesn't
35090 manage modules or initrd any longer.
35091 (pupa_loader_load_module): Removed.
35092
35093 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
35094 (linux_mod_SOURCES): New variable.
35095 (linux_mod_CFLAGS): Likewise.
35096
a13f9237 350972003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
35098
35099 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
35100 the length of a blocklist correctly.
35101
35102 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
35103 Use ioctl only if the OS file is a block device.
35104 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
35105 not very useful for normal files.
35106
35107 * kern/main.c (pupa_set_root_dev): New function.
35108 (pupa_load_normal_mode): Likewise.
35109 (pupa_main): Call those above.
35110
35111 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
35112 pupa_uint16_t.
35113
35114 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
35115
a5ffe966 351162003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35117
35118 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
35119 (setup): Configure the installed partition information and the
35120 dl prefix.
35121
35122 * loader/i386/pc/chainloader.c (my_mod): New variable.
35123 (pupa_chainloader_unload): New function.
35124 (pupa_rescue_cmd_chainloader): Refer itself.
35125 (PUPA_MOD_INIT): Save its own module in MY_MOD.
35126
35127 * kern/i386/pc/startup.S (install_partition): Removed.
35128 (version_string): Likewise.
35129 (config_file): Likewise.
35130 (pupa_install_dos_part): New variable.
35131 (pupa_install_bsd_part): Likewise.
35132 (pupa_prefix): Likewise.
35133 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
35134
35135 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
35136 and pupa/misc.h.
35137 (make_install_device): New function.
35138 (pupa_machine_init): Set the dl prefix.
35139
35140 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
35141 (buf): Renamed to ...
35142 (linebuf): ... this.
35143 (pupa_rescue_cmd_prefix): New function.
35144 (pupa_rescue_cmd_insmod): Likewise.
35145 (pupa_rescue_cmd_rmmod): Likewise.
35146 (pupa_rescue_cmd_lsmod): Likewise.
35147 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
35148 rmmod and lsmod.
35149
35150 * kern/mm.c (pupa_memalign): If failed even after invalidating
35151 disk caches, unload unneeded modules and retry.
35152
35153 * kern/misc.c (pupa_memmove): New function.
35154 (pupa_memcpy): Removed.
35155 (pupa_strcpy): New function.
35156 (pupa_itoa): Made static.
35157
35158 * kern/dl.c (pupa_dl_iterate): New function.
35159 (pupa_dl_ref): Likewise.
35160 (pupa_dl_unref): Likewise.
35161 (pupa_dl_unload): Return if succeeded or not.
35162 (pupa_dl_unload_unneeded): New function.
35163 (pupa_dl_unload_all): Likewise.
35164 (pupa_dl_init): Renamed to ...
35165 (pupa_dl_set_prefix): ... this.
35166 (pupa_dl_get_prefix): New function.
35167
35168 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
35169 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
35170 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
35171 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
35172 (pupa_install_dos_part): Declared.
35173 (pupa_install_bsd_part): Likewise.
35174 (pupa_prefix): Likewise.
35175 (pupa_boot_drive): Likewise.
35176
35177 * include/pupa/types.h: Fix a typo.
35178
35179 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
35180 pupa_memmove.
35181 (pupa_memmove): Declared.
35182 (pupa_strcpy): Likewise.
35183
35184 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
35185 pupa_mod_init takes one argument, its own module.
35186 (pupa_dl_unload_unneeded): Declared.
35187 (pupa_dl_unload_all): Likewise.
35188 (pupa_dl_ref): Likewise.
35189 (pupa_dl_unref): Likewise.
35190 (pupa_dl_iterate): Likewise.
35191 (pupa_dl_init): Renamed to ...
35192 (pupa_dl_set_prefix): ... this.
35193 (pupa_dl_get_prefix): Declared.
35194
35195 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 35196 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 35197 unloaded.
35198 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
35199 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
35200
35201 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
35202 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
35203
012d7999 352042003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35205
35206 * util/i386/pc/pupa-setup.c (setup): Define the internal
35207 function find_first_partition_start at the top level, because GCC
35208 3.0.x cannot compile internal functions in deeper scopes
35209 correctly.
35210 (find_root_device): Use lstat instead of stat.
35211 Don't follow symbolic links.
35212 Fix the path-constructing code.
35213
35214 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
35215 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
35216 by a BLKGETSIZE ioctl first, because block devices don't fill
35217 the member st_mode of the structure stat on Linux.
35218 [__linux__] (linux_find_partition): Use a temporary buffer
35219 REAL_DEV for the working space. Copy it to DEV before returning.
35220 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
35221 buffer cache consistent.
35222 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
35223 strncmp. The previous value was merely wrong.
35224 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
35225
35226 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
35227 FAT size is 12. The previous value was merely wrong.
35228
35229 * kern/main.c (pupa_main): Don't split the starting message from
35230 newlines.
35231
35232 * kern/term.c (pupa_putchar): Put CR after LF instead of before
35233 LF, because BIOS goes crazy about character attributes in this
35234 case.
35235
1cc73a62 352362003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35237
35238 * include/i386/pc/util/biosdisk.h: New file.
35239 * util/i386/pc/biosdisk.c: Likewise.
35240 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 35241
1cc73a62 35242 * Makefile.in (INCLUDE_DISTFILES): Added
35243 include/pupa/i386/pc/util/biosdisk.h.
35244 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
35245 directory util/i386/pc.
35246 (install-local): Added a rule for sbin_UTILITIES.
35247 (uninstall): Likewise.
35248
35249 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
35250
35251 * util/misc.c (xrealloc): New function.
35252 (pupa_malloc): Likewise.
35253 (pupa_free): Likewise.
35254 (pupa_realloc): Likewise.
35255 (pupa_stop): Likewise.
35256 (pupa_putchar): Likewise.
35257
35258 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
35259
35260 * include/pupa/util/misc.h (xrealloc): Declared.
35261
35262 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
35263 macro.
35264 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
35265 (PUPA_BOOT_MACHINE_BPB_END): ... this.
35266
35267 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
35268 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35269
35270 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
35271 way should be implemented.
35272 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35273
35274 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
35275 the size of NAME for safety.
35276 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
35277 0x88.
35278
35279 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
35280 (pupa_setup_SOURCES): Likewise.
35281
35282 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
35283
08b70fe8 352842002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35285
35286 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
35287 bunch of pushl's from pusha, because this destroys the return
35288 value.
35289
62ddcc8f 352902002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35291
35292 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
35293 This means that any missing prototypes could be fatal. Also, you
35294 must take care when writing assembly code. See the comments at
35295 the beginning of startup.S, for more details.
f19dbdb7 35296
62ddcc8f 35297 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
35298 compilation mechanism.
35299 (pupa_chainloader_real_boot): Likewise.
35300 (pupa_biosdisk_rw_int13_extensions): Likewise.
35301 (pupa_biosdisk_rw_standard): Likewise.
35302 (pupa_biosdisk_check_int13_extensions): Likewise.
35303 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
35304 (pupa_biosdisk_get_diskinfo_standard): Likewise.
35305 (pupa_get_memsize): Likewise.
35306 (pupa_get_mmap_entry): Likewise.
35307 (pupa_console_putchar): Likewise.
35308 (pupa_console_setcursor): Likewise.
35309 (pupa_getrtsecs): Use pushl instead of push.
35310
35311 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
35312 memory instead of the stack for a mmap entry, because some
35313 BIOSes may ignore the maximum size and overflow.
35314
35315 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
35316
35317 * genmk.rb (PModule#rule): Compile automatically generated
35318 sources with module-specific CFLAGS as well as other sources.
35319
9962ed99 353202002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35321
35322 * configure.ac: Check ld.
35323 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
35324 respectively, before checking endianness and sizes.
35325
35326 * Makefile.in (LD): New variable.
f19dbdb7 35327
abdfc3c5 353282002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35329
35330 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
35331
6a161fa9 353322002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35333
35334 * Changelog: New file.
35335