]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
[grub2.git] / ChangeLog
CommitLineData
7c515bee
VS
12011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
4 /dev/random. /dev/urandom is good enough for our purposes (salting).
5
ed660bd8
VS
62011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
9
ee5614b7
VS
102011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
13 hexadecimal.
14
664889a6
VS
152011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
18 and not 0 on failure.
19
bd405bbc
CW
202011-05-03 Colin Watson <cjwatson@ubuntu.com>
21
22 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
23 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
24 disk; otherwise grub_fs_probe will not fall back to the next
25 filesystem.
26 (grub_pxefs_open): Likewise, for consistency.
27 Reported and tested by: Ezekiel Grave.
28
4ebff753
CW
292011-05-03 Colin Watson <cjwatson@ubuntu.com>
30
31 * tests/partmap_test.in: Don't hardcode path to parted.
32 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
33
8f942553
CW
342011-05-01 Colin Watson <cjwatson@ubuntu.com>
35
36 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
37 of `ls' to find out which devices are available.
38
3c62402d
VS
392011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
42 than source address for efi mmap buffer.
43
723f63f2
VS
442011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
47 wrong action on non-detecting the magic.
48
68797f92
VS
492011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
52 already supplied by another part of the module (fixes compilation on
53 FreeBSD).
54
6be8715d
VS
552011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
58 match the one used by mdadm.
59
e91dba5b
CW
602011-04-21 Colin Watson <cjwatson@ubuntu.com>
61
62 * po/README: Add instructions for creating po/LINGUAS.
63
c85140b3
CW
642011-04-21 Colin Watson <cjwatson@ubuntu.com>
65
66 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
67 #551428.
68
69 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
70 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
71 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
72 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
73 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
74 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
75 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
76 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
77 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
78 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
79 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
80 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
81 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
82 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
83 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
84 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
85 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
86 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
87 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
88 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
89 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
90 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
91
92051871
CW
922011-04-21 Colin Watson <cjwatson@ubuntu.com>
93
94 * grub-core/kern/emu/getroot.c
95 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
96 test that was incorrectly reintroduced in r3214.
97 Reported by: Ian Dall. Fixes Savannah bug #33133.
98
b13f79a4
CW
992011-04-21 Colin Watson <cjwatson@ubuntu.com>
100
101 Fix stack pointer handling in 16-bit relocator.
102
103 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
104 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
105 Fixes Ubuntu bug #683904.
106
9b710a88
VS
1072011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * configure.ac: Bump version to 1.99~rc2.
110
d97e7b59
VS
1112011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
114 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
115 * grub-core/lib/x86_64/setjmp.S: Likewise.
116 * grub-core/lib/mips/setjmp.S: Likewise.
117 * grub-core/lib/powerpc/setjmp.S: Likewise.
118 * grub-core/lib/sparc64/setjmp.S: Likewise.
119
0624551c
VS
1202011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
123 * grub-core/lib/efi/datetime.c: Likewise.
124
e8f28d4c
VS
1252011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
128 New function.
129 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
130 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
131 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
132
bba79a15
VS
1332011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
136 bitmap.
137 (grub_gfxterm_term_init): Likewise.
138
abc474ef
VS
1392011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
140
141 Take into account the decorations the computing menu entry width.
142
143 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
144 (grub_gfxmenu_create_box): Register get_border_width.
145 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
146 if available.
147 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
148 get_border_width.
149
e74b3947
EP
1502011-04-18 Endres Puschner <code@e7p.de>
151
152 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
153 Don't skip first class.
154
34faa595
VS
1552011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
158 chunks.
159 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
160
93a777e3
VS
1612011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
162
163 Complete 64-bit division support.
164
165 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
166 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
167 * include/grub/misc.h (grub_divmod64): Rename to ...
168 (grub_divmod64_full): ... this.
169 (grub_divmod64): New inline function.
170
a5102d94
VS
1712011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
172
173 * util/grub-mkimage.c (generate_image): Add forgotten comma.
174
f3fb7b36
VS
1752011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
176
177 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
178 performing the necessary test.
179
9ac718b0
VS
1802011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
183 (kfreebsd.elf): Likewise.
184 (pc-chainloader.elf): Likewise.
185 (ntldr.elf): Likewise.
186
50d2cc5a
VS
1872011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
188
189 Identify RAID by its UUID rather than (guessed) name.
190
191 * grub-core/disk/raid.c (ascii2hex): New function.
192 (grub_raid_open): Accept mduuid/%s specification.
193 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
194 (get_mdadm_uuid): ... this.
195 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
196
e03f7bea
VS
1972011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
200 to negative size.
201
e74c3112
CW
2022011-04-13 Colin Watson <cjwatson@ubuntu.com>
203
204 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
205 btrfs subvolume.
206 * util/grub.d/20_linux_xen.in: Likewise.
207
78fa584f
CW
2082011-04-13 Colin Watson <cjwatson@ubuntu.com>
209
210 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
211 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
212
213 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
214 Build a list of relevant visible mounts using the mnt_id and
215 parent_mnt_id fields, and then scan that list at the end.
216
9d5f8162
CW
2172011-04-12 Colin Watson <cjwatson@ubuntu.com>
218
219 * docs/grub.texi (normal): New section.
220 (normal_exit): New section.
221 (Embedded configuration): Add reference to normal.
222 (GRUB only offers a rescue shell): Likewise.
223 * docs/grub-dev.texi (Error Handling): Fix typo.
224
09a9d66f
CW
2252011-04-12 Colin Watson <cjwatson@ubuntu.com>
226
227 * NEWS: Drop obsolete entry about probe-only btrfs support.
228
0c676933
CW
2292011-04-12 Colin Watson <cjwatson@ubuntu.com>
230
231 * util/import_gcry.py: Fix typo.
232
ec9f5e0d
VS
2332011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * NEWS: Add btrfs support.
236
fe6b2cba
VS
2372011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2382011-04-11 Colin Watson <cjwatson@ubuntu.com>
239
240 BtrFS support. Written by me (Vladimir) with important bugfixes and
241 even more important testing by Colin.
242
243 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
244 * grub-core/Makefile.core.def (btrfs): Add crc.c.
245 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
246 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
247 mem_input_off and mem_input. All users updated to accept in-RAM input.
248 (gzio_seek): New function.
249 (test_zlib_header): Likewise.
250 (grub_gzio_read): Likewise.
251 (grub_zlib_decompress): Likewise.
252 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
253 Accept partial and non-virtual mounts.
254 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
255 avoid receiving /dev/dm-X as device.
256 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
257 Handle bind and partial mounts.
258 * grub-core/lib/crc.c: New file.
259 * include/grub/deflate.h: Likewise.
260 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
261 proto.
262 * include/grub/lib/crc.h: New file.
263
e745cf0c
VS
2642011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
265
266 Implement automatic module license checking according to new GNU
267 guidelines.
268
269 * grub-core/kern/dl.c (grub_dl_check_license): New function.
270 (grub_dl_load_core): Use grub_dl_check_license.
271 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
272 (GRUB_MOD_LICENSE): Likewise.
273 (GRUB_MOD_DUAL_LICENSE): Likewise.
274 All modules updated.
275
2a9bc016
CW
2762011-04-11 Colin Watson <cjwatson@ubuntu.com>
277
278 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
279 reserved_first_sector to 1. btrfs reserves plenty of space for boot
280 loaders.
281 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
282
8a3bc88e
VS
2832011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
286
af869a4a
VS
2872011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * util/grub-fstest.c (read_file): Report GRUB error if file opening
290 failed.
291
9ee8d94f
VS
2922011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * grub-core/kern/file.c (grub_file_open): Don't take into account the
295 parenthesis in the middle of the filename.
296
b01abe3e
VS
2972011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
300 rather than trying to put initrd way too high.
301 Reported by: Ryan Lortie <desrt@desrt.ca>
302
335bda1e
VS
3032011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
306 improperly removed string.
307
5ca1a64d
VS
3082011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
311 is_disk.
312 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
313 (open_device) Likewise.
314 (grub_util_biosdisk_close): Likewise.
315 Reported by: Mark Korenberger.
316
cbac5b1e
AK
3172011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
318
319 * util/grub-mkconfig_lib.in: Add missing quotes.
320
088cdb65
CW
3212011-04-10 Colin Watson <cjwatson@ubuntu.com>
322
323 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
324 is NULL.
325
8b8a81fa
VS
3262011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
327
328 Dynamically count the number of lines for the lower banner.
329
330 * grub-core/normal/menu_entry.c (per_term_screen): New member
331 num_entries.
332 (print_down): Use num_entries.
333 (update_screen): Likewise.
334 (grub_menu_entry_run): Set num_entries.
335 * grub-core/normal/menu_text.c (menu_viewer_data): New member
336 num_entries.
337 (grub_print_message_indented): Move real part to ...
338 (grub_print_message_indented_real): ... here. Additional argument
339 dry_run.
340 (draw_border): Additional argument num_entries.
341 (print_message): Additional argument dry_run.
342 (print_entries): Receive menu viewer data.
343 (grub_menu_init_page): New argment num_entries.
344 (menu_text_set_chosen_entry): Use num_entries.
345 (grub_menu_try_text): Likewise.
346 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
347 All users updated.
348 (grub_ucs4_count_lines): New function.
349 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
350 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
351 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
352 (grub_term_border_height): Likewise.
353 (grub_term_num_entries): Likewise.
354
277f955b
VS
3552011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
358 Remove now unused string.
359
536ce85a
CW
3602011-04-09 Colin Watson <cjwatson@ubuntu.com>
361
362 * docs/grub-dev.texi (Finding your way around): Update for 1.99
363 build system.
364 (Getting started): GRUB is developed in Bazaar now, not Subversion.
365
366 (Comment): Fix typo.
367 (Getting started): General copy-editing.
368 (Typical Development Experience): Likewise.
369 (Error Handling): Likewise.
370 (Video API): Likewise.
371
2cf09e32
CW
3722011-04-09 Colin Watson <cjwatson@ubuntu.com>
373
374 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
375 throughout.
376
1ec652f4
VS
3772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * util/grub-mkimage.c (main): Handle special naming of yeeloong
380 directory.
381
2c583728
CW
3822011-04-08 Colin Watson <cjwatson@ubuntu.com>
383
384 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
385 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
386 "development".
387
d7a565e9
VS
3882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
391 grub_strcpy since the lines aren't necessarily 0-terminated.
392
7c2e4909
VS
3932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
396 root on legacy.
397
34c09785
VS
3982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * grub-core/commands/probe.c (options): Argument to set isn't optional.
401 (GRUB_MOD_INIT): DEVICE isn't optional.
402
6a6f8058
VS
4032011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
406 word on new line if it's too long anyway. Fixes a hang.
407
2e335e90
VS
4082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
411 const.
412 * util/grub-setup.c (main): Reuse md device name if available.
413 * util/raid.c (grub_util_raid_getmembers): Receive device name and
414 not GRUB name as argument.
415 Based on patch by: Florian Wagner <fwagner>.
416
10a7a867
VS
4172011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
420 Place mbi on low memory for better compatibility.
421
7a3d6cd9
VS
4222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
425
18dd6b47
VS
4262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4272011-04-08 Colin Watson <cjwatson@ubuntu.com>
428
429 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 430 * conf/Makefile.common: Likewise.
18dd6b47 431
3c0e3f14
VS
4322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
433
f7148863
VS
434 * grub-core/normal/menu.c: Add missing include.
435
4362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 439
6d1fa41f
MZ
4402011-04-08 Martin Zuther <mzuther@mzuther.de>
441
442 * util/grub-mkconfig.in: Ignore emacsen backup.
443
478182a8
VS
4442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
447 on open.
448 (grub_util_biosdisk_close): Likewise.
449
72a89a54
VS
4502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
453 const attribute and use grub_isdigit.
454
b5ebecfa
A
4552011-04-06 Andrey <dev_null@ukr.net>
456
457 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
458 gcc warning.
459
7755f66e
VS
4602011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
463 useful grub_dprintf's.
464
461121ff
VS
4652011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
468
2a961775
VS
4692011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
472
adf594cc
VS
4732011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
474
475 Output errors if theme loading failed.
476
477 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
478 grub_gfxterm_fullscreen on error paths to ...
479 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
480 theme loading error.
481
665900a3
VS
4822011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
485 space for older compilers.
486 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
487
a562b479
VS
4882011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
491 and report them as not RAID members since they are useless for GRUB.
492 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
493
850e9373
VS
4942011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
495
496 Increase LVM implementation robustness in order not to crash on
497 configurations like pvmove. Previously code assumed that in some places
498 only lvs or only pvs are used whereas it seems that they are used
499 interchangeably.
500
501 * grub-core/disk/lvm.c (read_node): New function.
502 (read_lv): Use read_node.
503 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
504 Match volumes only at the end when all lvs are found. Take both
505 pvs (first) and lvs (second) into account.
506 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
507 mirror_* into node_*. All users updated.
508 (grub_lvm_stripe): Merge this ...
509 (grub_lvm_mirror): ... and this ...
510 (grub_lvm_node): ... into this. All users updated.
511
6f332153
VS
5122011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
513
514 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
515 of function to allow further scanning for LVMs.
516
829ea451
VS
5172011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
520 on failed seek as it breaks open fd reusage.
521
09ceb9a5
VS
5222011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * util/grub-install.in: Add a recommendation to use --recheck before
525 reporting bugs.
526
67e11623
VS
5272011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
530 are obtained.
531
caee5efd
VS
5322011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
533
534 GRUB developper manual based on existing Internals section and
535 contributions by the various authors with active copyright assignment.
536
537 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
538 * docs/font_char_metrics.png: New file.
539 * docs/font_char_metrics.txt: Likewise.
540 * docs/grub-dev.texi: Likewise.
541 * docs/grub.texi (Internals): Move from here ...
542 * docs/grub-dev.texi: ... here.
543
2cccc747
CW
5442011-04-01 Colin Watson <cjwatson@ubuntu.com>
545
546 Store the loopback device as data on loopback grub_disk structures,
547 rather than the file it points to. This fixes use of freed memory
548 if an existing loopback device is replaced.
549
550 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
551 disk->data, not dev->file.
552 (grub_loopback_read): Adjust file assignment to match.
553 Fixes Ubuntu bug #742967.
554
186ae367
CW
5552011-04-01 Colin Watson <cjwatson@ubuntu.com>
556
557 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
558 when replacing an existing device.
559
cfed2ad0
VS
5602011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
561
562 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
563 memory corruptions.
564
565 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
566 unsigned.
567 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
568 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
569 (grub_jfs_read_inode): Likewise.
570 (grub_jfs_opendir): Likewise. Remove now useless casts.
571 (grub_jfs_getent): Likewise.
572 Make ino a grub_uint32_t rather than int.
573 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
574 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
575 division and module with bit operations.
576 (grub_jfs_find_file): Make ino a grub_uint32_t.
577 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
578
05d2ed32
CW
5792011-04-01 Colin Watson <cjwatson@ubuntu.com>
580
581 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
582 warning. (This was in fact always initialised before use, but GCC
583 wasn't smart enough to prove that.)
584 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
585
91dc6073
VS
5862011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
587
588 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
589 stack alignment.
590 (efi_wrap_1): Likewise.
591 (efi_wrap_2): Likewise.
592 (efi_wrap_3): Likewise.
593 (efi_wrap_4): Likewise.
594 (efi_wrap_5): Likewise.
595 (efi_wrap_6): Likewise.
596 (efi_wrap_10): Likewise.
597 Based on information by: Red Hat/Peter Jones.
598
a8afc1d1
CW
5992011-03-31 Colin Watson <cjwatson@ubuntu.com>
600
601 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
602 set-but-not-used variable.
603
a826cc7d
CW
6042011-03-31 Colin Watson <cjwatson@ubuntu.com>
605
606 * docs/grub.texi (Simple configuration): Be more explicit about
607 GRUB_DEFAULT, and add an example.
608 Reported by: Leslie Rhorer.
609
875b67ba
CW
6102011-03-30 Colin Watson <cjwatson@ubuntu.com>
611
612 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
613 shell".
614
fd7cd914
AS
6152011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
616
617 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
618 * util/grub.d/20_linux_xen.in: Likewise.
619
090b1b6a
VS
6202011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * util/grub.d/10_linux.in: Try alternative config filenames where
623 we parse config file.
624 * util/grub.d/20_linux_xen.in: Likewise.
625
baad885c
AS
6262011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
627
628 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
629 * util/grub.d/20_linux_xen.in: Likewise.
630
241e41f5
VS
6312011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * grub-core/disk/raid.c (insert_array): Add few potentially
634 useful grub_util_info.
635 (grub_raid_register): Likewise.
636
56445fb2
VS
6372011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
640 Preserve partition number in mdadm code path.
641
c871b1c6
VS
6422011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
645 few potentially useful grub_util_info.
646
5e631b4f
CW
6472011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
648
649 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
650
2d5d0333
CW
6512011-03-30 Colin Watson <cjwatson@ubuntu.com>
652
653 * docs/grub.texi (default): Use @example rather than nested
654 itemized lists to avoid breaking gendocs.
655
3d7ed04e
CW
6562011-03-30 Colin Watson <cjwatson@ubuntu.com>
657
658 * docs/grub.texi (Future): Update.
659
abf04200 6602011-03-30 Colin Watson <cjwatson@ubuntu.com>
661
662 * docs/grub.texi (Environment): New chapter.
663 (Changes from GRUB Legacy): Link to "Environment block" section for
664 details of limitations.
665 (Simple configuration): Likewise. Link to documentation of gfxmode
666 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
667 respectively.
668 (Shell-like scripting): Note that normal variables are stored in the
669 environment.
670 (gettext): Link to documentation of lang and locale_dir.
671 (list_env): New section.
672 (load_env): New section.
673 (save_env): New section.
674
675 (Reporting bugs): Fix typo.
676
e1ad0edd
VS
6772011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
680 the example.
681
5d803174
VS
6822011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/term/at_keyboard.c (set_scancodes)
685 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
686
2a2da1d0
CW
6872011-03-30 Colin Watson <cjwatson@ubuntu.com>
688
689 * docs/grub.texi (Menu-specific commands): Remove some semantics
690 that were true in GRUB Legacy but not in GRUB 2.
691 (submenu): New section.
692 (false): New section.
693 (read): New section.
694 (true): New section.
695
a7527639
CW
6962011-03-30 Colin Watson <cjwatson@ubuntu.com>
697
698 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
699
7002011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
701
702 * docs/grub.texi (Simple configuration): Explain some of the
703 current limitations of grub-mkconfig.
8a748df2 704 Reported by: Leslie Rhorer.
e30af029 705
fc858482
VS
7062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
707
708 Old macs search for boot.efi rather than for bootia32.efi.
709
710 * util/grub-install.in: Copy bootia32.efi to boot.efi.
711 * util/grub-mkrescue.in: Likewise.
712 Suggested by: Peter Jones.
713
e1eb511d
VS
7142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
715
716 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
717
70e75364
VS
7182011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
721 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
722 (grub_lvm_mirror): New struct.
723 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
724 (grub_lvm_iterate): Iterate only visible volumes.
725 (grub_lvm_read): Factor out to ..
726 (read_lv): ... this. Support mirrors.
727 (grub_lvm_read): New wrapper function.
728 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
729 stripped or mirrored.
730
fc18f6a3
VS
7312011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
734
5c650f4c
CW
7352011-03-29 Colin Watson <cjwatson@ubuntu.com>
736
737 * docs/grub.texi (loopback): New section.
738
61d7156b
CW
7392011-03-29 Colin Watson <cjwatson@ubuntu.com>
740
741 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
742 removed -p option.
743
994b8264
CW
7442011-03-29 Colin Watson <cjwatson@ubuntu.com>
745
746 * docs/grub.texi (BIOS installation): New section, partly based on
747 previous text in other sections.
748 (Installing GRUB using grub-install): Replace BIOS discussion with a
749 cross-reference.
750 (Images): Likewise.
751
9e4d19e0
VS
7522011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * grub-core/kern/emu/hostdisk.c (find_partition_start)
755 [HAVE_DIOCGDINFO]: Add safety checks.
756
a307c0b2
VS
7572011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
758
759 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
760 per default compiled in kernel and prior to 8.0 isn't shipped at all.
761
b4db4f39
CW
7622011-03-29 Colin Watson <cjwatson@ubuntu.com>
763
764 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
765 real_sb->size is zero (e.g. RAID-0), get the disk size from
766 real_sb->data_size instead.
767 Fixes Ubuntu bug #743136.
768
35e5f84c
VS
7692011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
772 printf clauses for printing size and start.
773
d2e29d81
VS
7742011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
777 Reported and tested by: Timothy Nikkel.
778
ed5587af
VS
7792011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
782 (dirty_region_add_real): ... this.
783 (dirty_region_add): Don't discard margin refresh when performing
784 scheduled repaint.
785
a1dc717c
VS
7862011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * grub-core/lib/relocator.c (allocate_regstart)
789 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
790 terminals are capabple of malloc-free operation.
791 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
792 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
793
9f3677d3
VS
7942011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
795
796 * util/grub-setup.c: Copy the partition table zone if floppy support
797 is disabled, even if no partition table is found.
798
799 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
800 during POST if an invalid partition table is contained in the PBR
801 of the active partition when GRUB is installed to a partition.
802
24148725
CW
8032011-03-28 Colin Watson <cjwatson@debian.org>
804
805 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
806 comment.
807
f329eda7
CW
8082011-03-28 Colin Watson <cjwatson@debian.org>
809
810 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
811 to be specific about what kind of RAID device we're scanning for.
812
c482ad98
SG
8132011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
814
815 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
816 return freed string.
817
5ee04984
VS
8182011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
821
f4727da9
VS
8222011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
823
824 Use libgeom on FreeBSD to detect partitions.
825
826 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
827 (grub-mkrelpath): Likewise.
828 (grub-script-check): Likewise.
829 (grub-editenv): Likewise.
830 (grub-mkpasswd-pbkdf2): Likewise.
831 (grub-fstest): Likewise.
832 (grub-mkfont): Likewise.
833 (grub-mkdevicemap): Likewise.
834 (grub-probe): Likewise.
835 (grub-setup): Likewise.
836 (grub-ofpathname): Likewise.
837 (grub-mklayout): Likewise.
838 (example_unit_test): Likewise.
839 (grub-menulst2cfg): Likewise.
840 * grub-core/Makefile.core.def (grub-emu): Likewise.
841 (grub-emu-lite): Likewise.
842 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
843 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
844 define HAVE_DIOCGDINFO.
845 (follow_geom_up) [FreeBSD]: New function.
846 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
847 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
848 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
849 unconditionally of HAVE_DIOCGDINFO.
850
82fe6c75
VS
8512011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
852
853 Fix FreeBSD compilation problem.
854
855 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
856 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
857
4c6c9431
CW
8582011-03-24 Colin Watson <cjwatson@ubuntu.com>
859
860 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
861 Switch back to page zero before loading a kernel, since some kernel
862 drivers expect that.
863 Thanks to: Felix Kuehling.
864
c7064d94
VS
8652011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
868 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
869 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
870
3f71cded
VS
8712011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
874 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
875
ef6de21a
VS
8762011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
879 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
880 malloc is disabled.
881
8bc66a2c
VS
8822011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
885 for modules headers when counting the needed allocation size.
886
5657722c
VS
8872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
890 if no ASCII character is found to prevent crash.
891
41a85f55
AK
8922011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
893
894 * grub-core/video/bitmap.c (match_extension): Ignore case.
895
59e1e5f1
VS
8962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
899
bd4d051a
VS
9002011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * grub-core/script/parser.y: Declare "time" as valid argument.
903
bae7fcc1
PJ
9042011-03-23 Peter Jones <pjones@redhat.com>
905
906 Fix incorrect assert failure reporting.
907
908 * grub-core/tests/example_functional_test.c (example_test): Add
909 a failure comment.
910 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
911 (failure_start): ...this. Check that malloc succeeded.
912 Don't call xvasprintf. Return failure struct.
913 (failure_append_vtext): New function.
914 (failure_append_text): Likewise.
915 (add_failure): Likewise.
916 (grub_test_assert_helper): Likewise.
917 * include/grub/test.h (grub_test_assert_helper): New declaration.
918 (grub_test_assert): Macro rewritten.
919
537dc9be
VS
9202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
923
fa3e01bf
VS
9242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
927
b1d28404
VS
9282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
931 into GRUB-style one.
932
2e3e2e09
VS
9332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
936 error and not grub_errno.
937 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
938
ed57e557
VS
9392011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
942 GRUB_USB_SPEED_NONE in case of failure and not the error code.
943
d1611f01
VS
9442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/efiemu/i386/pc/cfgtables.c
947 (grub_machine_efiemu_init_tables): Make declaration a prototype.
948 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
949 (grub_xnu_unlock): Likewise.
950 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
951
7d4e39d6
VS
9522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
953
954 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
955 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
956 * grub-core/commands/hashsum.c (aliases): Likewise.
957 * grub-core/commands/setpci.c (pci_registers): Likewise.
958 * grub-core/disk/usbms.c (attach_hook): Likewise.
959 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
960 (zio_checksum_table): Likewise.
961 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
962 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
963 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
964 * grub-core/lib/relocator.c (leftovers): Likewise.
965 (extra_blocks): Likewise.
966 * grub-core/loader/i386/bsd.c (relocator): Likewise.
967 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
968 (modules_last): Likewise.
969 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
970 (devices): Likewise.
971 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
972 (modules_last): Likewise.
973 * grub-core/normal/auth.c (users): Likewise.
974 * grub-core/normal/context.c (initial_menu): Likewise.
975 (current_menu): Likewise.
976 * grub-core/normal/crypto.c (crypto_specs): Likewise.
977 * grub-core/term/serial.c (grub_serial_ports): Likewise.
978 (grub_serial_terminfo_input_template): Likewise.
979 (grub_serial_terminfo_output_template): Likewise.
980 (grub_serial_terminfo_input): Likewise.
981 (grub_serial_terminfo_output): Likewise.
982 (registered): Likewise.
983 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
984
40fc4659
VS
9852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
988 grub_video_mode_type_t.
989 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
990 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
991 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
992
2da48d28
VS
9932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * util/grub-install.in: Correct the x86-64 name as x86_64.
996
9b43bf39
CW
9972011-03-11 Colin Watson <cjwatson@ubuntu.com>
998
999 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
1000 initial chunk read from the kernel always includes GRUB's multiboot
1001 header, which is now outside the first sector.
1002
be1a7ce0
CW
10032011-03-09 Colin Watson <cjwatson@ubuntu.com>
1004
1005 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
1006 cached mmap_size, so that this works correctly when called multiple
1007 times.
1008 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
1009
83a3c48d
CW
10102011-03-09 Colin Watson <cjwatson@ubuntu.com>
1011
1012 * docs/grub.texi (Simple configuration): Tidy up formatting.
1013
57d75699
SJ
10142011-03-07 Szymon Janc <szymon@janc.net.pl>
1015
1016 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
1017 Set-but-not-used variable removed.
1018
028501a0
VS
10192011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 Workaround yet another IEEE1275 bug.
1022
1023 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1024 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
1025 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
1026 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
1027 is set.
1028 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1029 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
1030
d998657d
VS
10312011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
1034 error.
1035
fee7cdd4
CW
10362011-02-11 Colin Watson <cjwatson@ubuntu.com>
1037
1038 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
1039 empty, since in that case we can only generate either nothing or a
1040 syntactically invalid configuration file.
1041 Reported by: Michal Suchanek. Fixes Debian bug #612898.
1042
97286eb5
CW
10432011-02-09 Colin Watson <cjwatson@ubuntu.com>
1044
1045 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
1046 (Making a GRUB bootable CD-ROM): Likewise.
1047 (Invoking grub-mkrescue): New section.
1048 Reported by: Yann Dirson. Fixes Debian bug #612585.
1049
22b28eb3
CW
10502011-02-09 Colin Watson <cjwatson@ubuntu.com>
1051
1052 * util/grub-install.in: Remove unnecessary brackets from tr
1053 arguments.
1054 * util/grub.d/10_hurd.in: Likewise.
1055 * util/grub.d/10_kfreebsd.in: Likewise.
1056 * util/grub.d/10_linux.in: Likewise.
1057 * util/grub.d/20_linux_xen.in: Likewise.
1058 Reported by: Jamie Heilman. Fixes Debian bug #612564.
1059
7e735e43
CW
10602011-02-08 Colin Watson <cjwatson@ubuntu.com>
1061
1062 * include/grub/file.h (not_easly_seekable): Rename to ...
1063 (not_easily_seekable): ... this. Update all users.
1064
800f1881
CW
10652011-01-28 Colin Watson <cjwatson@ubuntu.com>
1066
1067 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
1068 grub-mkrescue.
1069
3281d3d6
VS
10702011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 * util/grub-mkimage.c (generate_image): Refuse to create the images
1073 bigger than the actual flash (512K) in Loongson machines. 512K is also
1074 the biggest chip supported by them.
1075
3533413c
VS
10762011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
1079
73ae4f4f
VS
10802011-01-22 Anthony DeRobertis <anthony@derobert.net>
1081
1082 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
1083 super_offset field.
1084
37f4f608
VS
10852011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * util/grub-install.in: Ignore install device on platforms
1088 where it doesn't make sense. Always use UUIDs except on pc, efi and
1089 sparc64.
1090 Reported by: Daniel Kahn Gillmor.
1091
03a4ccb5
VS
10922011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
1095
ffc8f4d8
VS
10962011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
1099 (iterate_real): Don't rely on partition being non-NULL.
1100
80f23be7
VS
11012011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
1104 supported platforms. Put a compile time assert for this rather than
1105 generate a warning with 32-bit shift.
1106
5d4f4dd5
VS
11072011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
1110 logical expression more readable.
1111
e489601a
VS
11122011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
1115 even if some elements have a name.
1116 Reported by: Alexander GQ Gerasiov.
1117
96e0a6ea
CW
11182011-01-22 Colin Watson <cjwatson@ubuntu.com>
1119
1120 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
1121 path unreadable if `grub-probe -t abstraction' fails, for example if
1122 memberlist fails on an LVM volume group.
1123 Reported by: Darius Jahandarie.
1124
81431e2b
CW
11252011-01-22 Colin Watson <cjwatson@ubuntu.com>
1126
1127 * docs/grub.texi (Simple configuration): Document
1128 GRUB_PRELOAD_MODULES.
1129
5e79d66a
CW
11302011-01-17 Colin Watson <cjwatson@ubuntu.com>
1131
1132 * .bzrignore: Remove nonexistent grub-pbkdf2.
1133
646ada34
VS
11342011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * configure.ac: Bump version to 1.99~rc1.
1137
04360337
VS
11382011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
1141 for safety.
1142
46c9db88
VS
11432011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
1146 module.
1147
11482011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
1149
1150 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
1151
4fbf1852
VS
11522011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
1155 diskdevid.
1156
f1632d4d
VS
11572011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 Fix compilation on cygwin.
1160
1161 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
1162 -R .drectve on cygwin.
1163 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
1164 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
1165 (COND_CYGWIN): New condition.
1166 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
1167 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
1168 not @TARGET_OBJ2ELF@.
1169 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
1170 type to determine whether aux is to be used.
1171
0b5e127b
VS
11722011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
1175 realpath'ed device string.
1176 Handle floppy (somewhat).
1177 Issue error in unknown case rather than garbage.
1178 Reported by: Axel Beckert.
1179
173b71e9
VS
11802011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * util/grub.d/00_header.in (load_video): Handle the case when no video
1183 drivers available.
1184 Thanks to: Axel Beckert.
1185
f8f479db
VS
11862011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
1189 variable. Fixes problem on big endian platforms.
1190
8fc0a245
VS
11912011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
1194 It doesn't work well there.
1195
b8494fbe
VS
11962011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
1199 warning.
1200 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
1201 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
1202 counter.
1203
b44a558c
VS
12042011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 Use alias->path rather than buggy "canon".
1207
1208 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
1209 (ofdisk_hash_add): New argument curcan. All users updated.
1210
51fa856c
CW
12112011-01-11 Colin Watson <cjwatson@ubuntu.com>
1212
1213 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
1214
9da068a5
VS
12152011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
1218 loadmask before doing any calculations. Use correct type for offset.
1219 (grub_linux_load64): Likewise.
1220
86205c94
CW
12212011-01-11 Colin Watson <cjwatson@ubuntu.com>
1222
1223 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
1224 with NULL.
1225 (console_grub_equivalences_unshift): Likewise.
1226 Reported by: Daniel Dehennin.
1227
4531a206
VS
12282011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
1231 (set_env_limn_ro): Likewise.
1232 (GRUB_MOD_INIT): Likewise.
1233 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
1234 ARRAY_SIZE while on it.
1235 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
1236 * grub-core/normal/context.c (grub_env_export): Move from here ...
1237 * grub-core/kern/env.c (grub_env_export): ... here.
1238 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
1239 prefix.
1240 * grub-core/kern/main.c (grub_main): Export root and prefix.
1241 * include/grub/env.h (grub_env_export): Export.
1242 Reported by: Seth Goldberg.
1243
45146057
VS
12442011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1247 Take into account space used by ELF sections and multiboot palette.
1248 Reported by: Grégoire Sutre.
1249
f093110b
VS
12502011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * BUGS: New file.
1253
3395fe52
VS
12542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 Pass more appropriate video id to Linux.
1257
1258 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
1259 grub_video_get_driver_id and variable gfxpayloadforcelfb to
1260 fill have_vga.
1261 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
1262 shift params->lfb_size.
1263 * include/grub/i386/linux.h: Make an enume out of have_vga values.
1264
c2fa6cbb
VS
12652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * util/grub-menulst2cfg.c: Add missing include of misc.h.
1268
b3ff6ff0
VS
12692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
1272 separator and pass bootpath/devid even if only one of them is available.
1273 Reported by: Seth Goldberg.
1274
ae67942e
VS
12752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
1278 implementations bug on them.
1279
1280 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
1281 memory.
1282 (filter_memory_map): Likewise.
1283
d570097a
VS
12842011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
1287 Reported by: nebuchadnezzar.
1288
a508e776
VS
12892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
1292 Reported by: nebuchadnezzar.
1293
dcb883b1
VS
12942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1295
1296 Submenu default support.
1297
1298 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
1299 auto_boot. All users updated.
1300 Declared static.
1301 Handle chosen and default with submenus.
1302 (grub_menu_execute_with_fallback): Declared static.
1303 Don't notify failure if autobooted. Upper level does it.
1304 (menuentry_eq): New function.
1305 (get_entry_number): Use menuentry_eq.
1306 (show_menu): New parameter "autobooted". All users updated.
1307 (grub_show_menu): Likewise.
1308 * include/grub/normal.h (grub_show_menu): Likewise.
1309 * include/grub/menu.h (grub_menu_execute_entry): Removed.
1310 (grub_menu_execute_with_fallback): Likewise.
1311
6fef99b4
VS
13122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * util/grub-mklayout.c (usage): Update help text.
1315
47a77af5
VS
13162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
1319
ce6bb3ee
VS
13202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * util/grub-menulst2cfg.c (main): Trim the line.
1323
db87be2a
VS
13242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
1327 (grub_machine_init): Don't check amount of low memory as reportedly
1328 INT 12h can be broken and if low memory is too low we wouldn't have
1329 gotten into grub_machine_init anyway.
1330
c49849cc
VS
13312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
1334 (grub_machine_mmap_iterate): Take low memory into account
1335
b1969b30
VS
13362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
1339 badfs.
1340 Reported by: TiCPU.
1341
cf0eaf13
VS
13422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
1345 members errors.
1346
1f060f39
GS
13472011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1348
1349 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
1350 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
1351
a21e5672
GS
13522011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1353
1354 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
1355 openbsd and netbsd types being in part_bsd module.
1356
c88172fa
VS
13572011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
1360 (_FILE_OFFSET_BITS): Likewise.
1361 Reported by: Seth Goldberg.
1362
53798c4b
GS
13632011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1364
1365 * configure.ac: Check for libdevmapper header.
1366
e7121b69
VS
13672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
1370 avoid aliasing.
1371 (fzap_lookup): Likewise.
1372 (dnode_get): Likewise.
1373 (make_mdn): Likewise.
1374 (zfs_mount): Likewise.
1375 (fzap_iterate): Use temporary pointer to avoid aliasing.
1376 (grub_zfs_read): Likewise.
1377 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
1378 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
1379 pointers to avoid aliasing.
1380 (grub_cmd_xnu_kernel64): Likewise.
1381 (grub_xnu_load_driver): Likewise.
1382
fc836af9
VS
13832011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
1386 aliasing warning.
1387 (grub_cmd_terminal_output): Likewise.
1388 Reported and tested by: Grégoire Sutre.
1389
f9f37648
VS
13902011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
1393 warning.
1394 Reported and tested by: Grégoire Sutre.
1395
ec1dfd63
VS
13962011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * configure.ac: Do CPU substitution even if it's specified explicitly.
1399 Reported and tested by: Alain Greppin.
1400
9462775a
VS
14012011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
1404 Reported and tested by: Alain Greppin.
1405
0fd48e35
VS
14062011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 Satisfy some bison versions need for inttypes.h.
1409
1410 * grub-core/lib/posix_wrap/inttypes.h: New file.
1411 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
1412 (int16_t): Likewise.
1413 (int32_t): Likewise.
1414 (int64_t): Likewise.
1415 Reported and tested by: Alain Greppin.
1416
43f1bc83
VS
14172011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
1420 Silence spurious warning.
1421 Reported and tested by: Alain Greppin.
1422
64d1f041
SJ
14232011-01-07 Szymon Janc <szymon@janc.net.pl>
1424
1425 * docs/grub.texi (Support automatic decompression): Update with xz
1426 decompression support.
1427
25953e10
SJ
14282011-01-07 Szymon Janc <szymon@janc.net.pl>
1429
1430 Improve loaders' kernel command line handling.
1431
1432 * grub-core/lib/cmdline.c: New file.
1433 * include/grub/lib/cmdline.h: Likewise.
1434 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
1435 grub_create_loader_cmdline to create kernel command line.
1436 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1437 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
1438 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
1439 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
1440 (linux): Add lib/cmdline.c on common.
1441
e72d259f
VS
14422011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
1445 inopos might be unaligned.
1446
c0cf26da
VS
14472011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1450 endian transformations.
1451 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1452 Based on report by: Doug Nazar.
1453
0ca09e6c
DN
14542011-01-07 Doug Nazar <nazard.michi@gmail.com>
1455
1456 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
1457 array->members[i].start_sector.
1458 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1459
014b6806
VS
14602011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
1463 Reported and tested by: Grégoire Sutre.
1464
415502c2
CW
14652011-01-06 Colin Watson <cjwatson@ubuntu.com>
1466
1467 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
1468 avoid causing test failures by clearing the screen.
1469
71b6a2b7
CW
14702011-01-06 Colin Watson <cjwatson@ubuntu.com>
1471
1472 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
1473 Fix prefix check to handle the case where dir ends with a slash
1474 (most significantly, "/" itself).
1475 Reported by: Michael Vogt.
1476
b3f8d28a
VS
14772011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 Run terminfo_cls on initing terminfo output to clear the screen and
1480 move the cursor to (0,0).
1481
1482 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
1483 Call grub_terminfo_output_init.
1484 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
1485 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
1486 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
1487
4c3e4f37
VS
14882011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
1491 only when needed.
1492
488f71f1
VS
14932011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
1496 CTRL.
1497
18a38098
VS
14982011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 The E820 type 5 is BADRAM, not EXEC_CODE.
1501
1502 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1503 (GRUB_E820_BADRAM): New define.
1504 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
1505 into reserved. Propagate BADRAM.
1506 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1507 (GRUB_E820_BADRAM): New define.
1508
9eae2084
VS
15092011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
1512 Ignore the memory post-4G.
1513 (grub_relocator_firmware_alloc_region): Additional debug statement.
1514
ebc71d28
VS
15152011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
1518 names.
1519 Reported by: David Pravec.
1520
446fa400
VS
15212011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
1524 BIOSes.
1525
a0159f37
VS
15262011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
1529 Prevent overflow.
1530 (grub_reed_solomon_recover): Likewise.
1531
e5146ca1
VS
15322011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
1535
15362011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
1537
1538 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
1539 variable.
1540
5b1bdf12
CW
15412011-01-04 Colin Watson <cjwatson@ubuntu.com>
1542
1543 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
1544 descriptions of extract_legacy_entries_source and
1545 extract_legacy_entries_configfile.
1546 Reported by: Seung Soo, Ha.
1547
99d925aa
CW
15482011-01-03 Colin Watson <cjwatson@ubuntu.com>
1549
1550 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
1551 on devices that do not implement function 0.
1552
4af0504b
DV
15532011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
1554
1555 * grub-core/fs/hfsplus.c: Make parent unsigned.
1556 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
1557 overflows.
1558 (grub_hfsplus_cmp_extkey): Likewise
1559
469ee10a
VS
15602011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * util/grub-install.in: Correctly use bootloader_id and not
1563 GRUB_DISTRIBUTOR on efibootmgr line.
1564
323a8e9c
VS
15652011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
1568
1b394975
IC
15692010-12-31 Ian Campbell <ijc@hellion.org.uk>
1570
1571 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
1572 Xen and reorder menu item wording to make it clearer that this entry
1573 will launch Xen. Print separate messages when loading Xen and
1574 Linux.
1575
275bff5f
VS
15762010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
1579 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
1580 loop in case of incorrect amiga partmap.
1581
307806cb
VS
15822010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
1585 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
1586 Reported by:EHeM.
1587
b12b923e
VS
15882010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
1591 spurious warning.
1592 Reported by: crocket
1593
14b48a19
VS
15942010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
1597 Preload EFIemu.
1598 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
1599
693db2df
VS
16002010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
1603 is loaded
1604 (grub_cmd_xnu_kextdir): Likewise.
1605 (grub_cmd_xnu_splash): Likewise.
1606
c7638645
VS
16072010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 Avoid using Reed-Solomon with 0 redundancy.
1610
1611 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
1612 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
1613 or 0 redundancy.
1614 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
1615 (grub_reed_solomon_recover): Likewise.
1616
25dd4780
VS
16172010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 Don't use disk subsystem in freebsd_boot.
1620
1621 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
1622 (freebsd_biosdev): Likewise.
1623 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
1624 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
1625
0b2db943
VS
16262010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 Handling of files of unknown size is currently limited. They can't be
1629 used e.g. for initrd or modules. Moreover gzip handling of not
1630 easily seekable files is buggy. Disable unknown file size for now. May
1631 be inefficient but works.
1632
1633 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
1634 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1635
5c408d0f
MP
16362010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
1637
1638 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
1639 floppy probe.
1640
190a011a
JD
16412010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
1642
1643 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
1644
022d01b8
SL
16452010-12-25 Shea Levy <shlevy>
1646
1647 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
1648
c4855fdc
VS
16492010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
1652 Windows Server 2008.
1653 Reported by: Devin Giddings.
1654
0354b867
VS
16552010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
1658 writing an error message because of async power management.
1659 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
1660 (grub_reboot): Likewise.
1661
ab66c69f
JU
16622010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
1663
1664 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
1665 keep unit tests from failing when they shouldn't.
1666
1426ef35
CW
16672010-12-21 Colin Watson <cjwatson@ubuntu.com>
1668
1669 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
1670 previous patch increased the size of the RS code by 20 bytes (at
1671 least with gcc-4.4), so increase this by 20 bytes to match.
1672 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1673
20641b6b
CW
16742010-12-21 Colin Watson <cjwatson@ubuntu.com>
1675
1676 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
1677 scratch area. Make sure to initialise chosen in standalone mode as
1678 well as non-standalone.
1679 Reported by: Robert Hooker and Andy Whitcroft.
1680 Tested by: Andy Whitcroft.
1681
d060ad60
CW
16822010-12-21 Colin Watson <cjwatson@ubuntu.com>
1683
1684 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
1685 constructing a new unescaped string and passing it to grub_xputs in
1686 one go, rather than passing characters to grub_printf one at a time.
1687
b889cfad
CW
16882010-12-21 Colin Watson <cjwatson@ubuntu.com>
1689
1690 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
1691 initialising utf16.
1692
4e01b6c8
CW
16932010-12-21 Colin Watson <cjwatson@ubuntu.com>
1694
1695 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
1696 comment. Add an extra layer of quotation, requiring the output of
1697 this function to be used in a printf format string.
1698 (gettext_printf): New function.
1699 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
1700 Extract translatable strings from here-documents and use a temporary
1701 variable instead, so that xgettext can find them.
1702 * util/grub.d/10_kfreebsd.in: Likewise.
1703 * util/grub.d/10_linux.in: Likewise.
1704 * util/grub.d/20_linux_xen.in: Likewise.
1705
1706 * po/grub.d.sed: New file.
1707 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
1708 arguments. Set c-format flags on all strings extracted from
1709 util/grub.d/ (xgettext refuses to include these itself for strings
1710 it extracted from a shell file, but these really are c-format).
1711
5318fe98
VS
17122010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
1715 Avoid next pointing to nowhere.
1716
6c85b743
VS
17172010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
1720 rather than assuming than rootblock is exactly in the middle.
1721 (grub_affs_label): Likewise.
1722
a2a08a35
VS
17232010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
1726 reserved_first_sector to 0.
1727 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
1728 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
1729 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
1730
7059d1ec
VS
17312010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 Fix handling of UTF-16 UDF labels.
1734
1735 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
1736 (read_string): .. here.
1737 (grub_udf_label): Use read_string.
1738
30aff4cb
BC
17392010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
1740
1741 * grub-core/normal/menu_entry.c (run): Execute commands from menu
1742 editor under argument scope.
1743 Reported by: Jordan Uggla
1744
5cf86f4b
VS
17452010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
1748
32570200
CW
17492010-12-18 Colin Watson <cjwatson@ubuntu.com>
1750
1751 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
1752 line, and other keys scroll an entire page (previous handling was
1753 for \r and \n to scroll a page and other keys to scroll two lines).
1754
e1dffcf2
VS
17552010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1758 Set ptrdest to correct get_physical_target_address rather than
1759 incorrect get_virtual_current_address.
1760
b04298cf 17612010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
1762
1763 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
1764 correct cat to grub_uint8_t * rather than grub_uint32_t *.
1765
5367ecd3
CW
17662010-12-10 Colin Watson <cjwatson@ubuntu.com>
1767
1768 * .bzrignore: Ignore grub-core/rs_decoder.S.
1769
1fb430f8
CW
17702010-12-10 Colin Watson <cjwatson@ubuntu.com>
1771
1772 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
1773 .mo/.mo.gz opening sequence to ...
1774 (grub_mofile_open_lang): ... here.
1775 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
1776 * util/grub.d/00_header.in (grub_lang): Include country part of
1777 locale.
1778 Reported by: Mario Limonciello.
1779
a94a6671
RM
17802010-12-09 Robert Millan <rmh@gnu.org>
1781
1782 * NEWS: Document addition of ZFS support.
1783
24b7938b
CW
17842010-12-04 Colin Watson <cjwatson@ubuntu.com>
1785
1786 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
1787 rather than `/ 2', as the latter requires -Wa,--divide which would
1788 require bumping our minimum binutils version.
1789
bddc3ef6
BC
17902010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
1791
1792 * util/grub-script-check.c (main): Print script line number on
1793 error.
1794
bf78d5b2
RM
17952010-12-01 Robert Millan <rmh@gnu.org>
1796
1797 * grub-core/fs/zfs/zfs.c: New file.
1798 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
1799 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
1800 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
1801 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1802
1803 * include/grub/zfs/dmu.h: Likewise.
1804 * include/grub/zfs/dmu_objset.h: Likewise.
1805 * include/grub/zfs/dnode.h: Likewise.
1806 * include/grub/zfs/dsl_dataset.h: Likewise.
1807 * include/grub/zfs/dsl_dir.h: Likewise.
1808 * include/grub/zfs/sa_impl.h: Likewise.
1809 * include/grub/zfs/spa.h: Likewise.
1810 * include/grub/zfs/uberblock_impl.h: Likewise.
1811 * include/grub/zfs/vdev_impl.h: Likewise.
1812 * include/grub/zfs/zap_impl.h: Likewise.
1813 * include/grub/zfs/zap_leaf.h: Likewise.
1814 * include/grub/zfs/zfs.h: Likewise.
1815 * include/grub/zfs/zfs_acl.h: Likewise.
1816 * include/grub/zfs/zfs_znode.h: Likewise.
1817 * include/grub/zfs/zil.h: Likewise.
1818 * include/grub/zfs/zio.h: Likewise.
1819 * include/grub/zfs/zio_checksum.h: Likewise.
1820
1821 * Makefile.util.def: Build ZFS into libgrubmods.
1822 * grub-core/Makefile.core.def: Build zfs.mod.
1823
3f0f3831
SJ
18242010-11-30 Szymon Janc <szymon@janc.net.pl>
1825
1826 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
1827 variable.
1828 * grub-core/commands/wildcard.c (match_files): Likewise.
1829
3a4253b2
RM
18302010-11-30 Robert Millan <rmh@gnu.org>
1831
1832 * grub-core/loader/i386/bsd.c
1833 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
1834 whether kernel is loaded using grub_loader_is_loaded(), rather
1835 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
1836 certain error conditions.
1837
8c317b27
RM
18382010-11-30 Robert Millan <rmh@gnu.org>
1839
c5c9cd3e
RM
1840 * grub-core/commands/echo.c: Include `<grub/term.h>'.
1841 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 1842
49d3ab46
VS
18432010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 Avoid using tricks for initialising endian variables.
1846
1847 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
1848 Make const.
1849 (GRUB_MOD_INIT): Don't byte-swap.
1850 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1851 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
1852 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
1853 (grub_swap_bytes32_compile_time): Likewise.
1854 (grub_cpu_to_le32_compile_time): Likewise.
1855 (grub_cpu_to_le16_compile_time): Likewise.
1856
f420a804
VS
18572010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * util/grub-setup.c (setup): Stop recommending --force. People who
1860 understand the dangers of blocklists are able to find this option
1861 anyway and the ones who don't shouldn't use it anyway.
1862
4e7db17b
RM
18632010-11-26 Robert Millan <rmh@gnu.org>
1864
1865 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
1866 Update all users.
1867
9be57a0d
CW
18682010-11-26 Colin Watson <cjwatson@ubuntu.com>
1869
1870 Fix LVM-on-RAID probing.
1871
1872 * util/grub-probe.c (probe): Remember which disk was detected as
1873 RAID (perhaps an LVM physical volume). Use that disk's raidname
1874 rather than that of the top-level disk.
1875
2c7859b3 18762010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 1877
d7647bb6
BC
1878 Fix cmdline argument quotes for setparams command of menuentry
1879 definitions.
7e623b0d
BC
1880
1881 * grub-core/commands/menuentry.c (setparams_prefix): Use single
1882 quotes for arguments.
f866fe80 1883 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 1884 grub_strchrsub function instead.
f866fe80 1885
7955bea0 1886 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 1887
74f72a64
CW
18882010-11-24 Colin Watson <cjwatson@ubuntu.com>
1889
1890 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
1891 effort by skipping "." and ".." entries up-front.
1892 Suggested by: Michael Lazarev.
1893
5a407278
CW
18942010-11-24 Colin Watson <cjwatson@ubuntu.com>
1895
1896 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
1897 ldflags to ldadd, to fix link line ordering.
1898 (none_decompress): Likewise.
1899
3030d8ec
CW
19002010-11-24 Colin Watson <cjwatson@ubuntu.com>
1901
1902 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
1903 platforms.
1904 (grub-emu-lite): Remove kern/emu/cache.S.
1905
b7fbac12
CW
19062010-11-23 Colin Watson <cjwatson@ubuntu.com>
1907
1908 * util/deviceiter.c (compare_devices): If the by-id link for a
1909 device couldn't be resolved, fall back to sorting by the by-id link
1910 rather than segfaulting.
1911 Reported and tested by: Daniel Mierswa.
1912
5225f328
CW
19132010-11-23 Colin Watson <cjwatson@ubuntu.com>
1914
1915 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
1916 ldflags, to fix link line ordering.
1917
038b3ce8
CW
19182010-11-23 Colin Watson <cjwatson@ubuntu.com>
1919
1920 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
1921 linkers are picky about this.
1922
bf16e98e
CW
19232010-11-23 Colin Watson <cjwatson@ubuntu.com>
1924
1925 * grub-core/Makefile.am (command.lst): Adjust sed expression
1926 ordering so that extended and priority commands aren't treated as
1927 ordinary commands.
1928
7242bab6
CW
19292010-11-23 Colin Watson <cjwatson@ubuntu.com>
1930
1931 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1932 Remove byte-swapping function calls, which are not valid in
1933 structure initialisers.
1934 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
1935 non-const.
1936 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
1937 grub_gpt_partition_type_bios_boot.
1938
14e8b279
CW
19392010-11-22 Colin Watson <cjwatson@ubuntu.com>
1940
1941 Fix test program build on GNU/kFreeBSD.
1942
1943 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
1944 $(LIBNVPAIR)' library dependencies.
1945
e6f63338 19462010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
1947
1948 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
1949
cf8ffc38
CW
19502010-11-22 Colin Watson <cjwatson@ubuntu.com>
1951
1952 * util/grub-install.in: Remove excessive quoting that broke
1953 installations to RAID devices.
1954
7f8b0fd7
VS
19552010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1956
1957 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
1958 bootloader version instead of 0.
1959
dfd240b1
VS
19602010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
1963 warning.
1964
7b61e609
VS
19652010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
1968 retrieve the metadat sector if size isn't known.
1969 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1970
9dfe92d0
RM
19712010-11-18 Robert Millan <rmh@gnu.org>
1972
1973 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
1974 with grub_memcmp().
1975
41cc919e
VS
19762010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
1979 arrow.
1980 Reported by: Jordan Uggla.
1981
1afcc914
VS
19822010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 Make better UTF compliant.
1985
1986 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
1987 sequences as incorrect.
1988 (grub_is_valid_utf8): Likewise.
1989 (grub_utf8_to_ucs4): Likewise.
1990 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
1991 (grub_ucs4_to_utf8_alloc): Likewise.
1992 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
1993
f1808884
VS
19942010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 Make legacy_source behave like source.
1997
1998 * grub-core/commands/legacycfg.c (legacy_file): Don't call
1999 grub_show_menu.
2000 (grub_cmd_legacy_source): Call grub_show_menu if needed.
2001
24ec575b
CW
20022010-11-16 Colin Watson <cjwatson@debian.org>
2003
2004 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
2005 (-Wunused implies -Wunused-parameter, but not vice versa).
2006
72b7c7aa
CW
20072010-11-16 Colin Watson <cjwatson@ubuntu.com>
2008
2009 * configure.ac: Make error messages less confusing by testing for
2010 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
2011 accepted, but produces a diagnostic if something else is wrong).
2012
e98937aa
VS
20132010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
2016 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
2017 (now unused).
2018 (grub_keyboard_controller_init)
2019 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
2020 read the initial state since controller isn't inited yet.
2021
f6bbabc3
VS
20222010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
2025 allocate_regbeg may need to create new chunk header.
2026
22e7dbb2
VS
20272010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 Fix quoting in legacy parser.
2030
2031 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
2032 single quotes.
2033 (grub_legacy_parse): Likewise.
2034 Reported by: Jordan Uggla.
2035 Tested by: Jordan Uggla.
2036
03f80960
VS
20372010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 Don't add -lgcc on i386 and x86_64.
2040
2041 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
2042 * conf/Makefile.common (LDADD_KERNEL): Likewise.
2043 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
2044
779dc15b
VS
20452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 * configure.ac: Add -Wno-trampolines when supported.
2048
d20a3b37
MV
20492010-11-14 Modestas Vainius <modax@debian.org>
2050
2051 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
2052 fakeraid.
2053
e5360933
GC
20542010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2055
2056 Add generic logical block size support for UDF.
2057
2058 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
2059 (GRUB_UDF_BLKSZ): Removed.
2060 (struct grub_udf_data): New field "lbshift" to hold the logical block
2061 size of the file system in log2 format. All users updated.
2062 (sblocklist): Change type to unsigned.
2063 (grub_udf_mount): Change type of "sblklist" to unsigned.
2064 Move AVDP search before VRS recognition, because the latter requires
2065 knowledge of the logical block size, which is detected during the
2066 former.
2067 Detect and validate logical block size during AVDP search, adding
2068 support for block sizes 512, 1024 and 4096.
2069 Make VRS recognition independent of block size.
2070
cb0229c5
GC
20712010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2072
2073 Properly handle deleted files on UDF.
2074
2075 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
2076 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
2077 set.
2078
406858a8
GC
20792010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2080
2081 Support reading files larger than 2 GiB.
2082
2083 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
2084 "offset" to grub_off_t.
2085 (grub_udf_read_file): Likewise for parameter "pos".
2086
130da6a7
VS
20872010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
2090 unavailable.
2091 (Simple configuration): Refer to Changes from GRUB Legacy about
2092 save_env availability.
2093
65e93f6b
VS
20942010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * util/grub-install.in: Ignore empty partition table detection
2097 instead of trying to include part_ module.
2098
1fd08bf1
VS
20992010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
2102 LVM on RAID support.
2103
de1a024f
VS
21042010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 Properly define WORDS_BIGENDIAN in wrapped environments.
2107
2108 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
2109 definition.
2110 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
2111
2112 Reported by: Manoel Rebelo Abranches.
2113 Tested by: Manoel Rebelo Abranches.
2114
bc5dd0b9
VS
21152010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * util/grub-mkconfig.in: Fix quoting.
2118
58c184be
VS
21192010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 Support big ext2 files.
2122
2123 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
2124 (grub_ext2_read_block): Support triple indirect blocks.
2125 (grub_ext2_read_file): Use 64-bit types and read size_high.
2126 (grub_ext2_open): Read size_high.
2127 Reported by: Ximin Luo.
2128 Tested by: Manoel Rebelo Abranches.
2129
5f0c02b3
VS
21302010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * util/grub-install.in: Handle filenames containing spaces.
2133 Reported by: Jordan Uggla.
2134 Tested by: Jordan Uggla.
2135
4417aae6
VS
21362010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * util/grub-mkconfig.in (grub_script_check): New variable.
2139 Use grub_script_check instead of grub-script-check.
2140 Reported by: Barry Jackson.
2141
7625a68e
VS
21422010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 * docs/grub.texi (menu): Correct the order.
2145 Reported by: D. Hugh Redelmeier.
2146
10001ac5
VS
21472010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
2150 jump.
2151
9c4cf53b
MRA
21522010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2153
10001ac5
VS
2154 * include/grub/elfload.h (grub_elf32_size): New parameter.
2155 All users updated.
9c4cf53b
MRA
2156 Return maximum segments alignment.
2157 (grub_elf64_size): Likewise.
2158 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
2159 Return maximum segments alignment.
2160 (grub_elf64_size): Likewise.
2161 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
2162 (grub_linux_claimmap_iterate): New function. Uses the
2163 "available" property in the "memory" node for memory allocation
2164 for kernel in the PowerPC loader.
9c4cf53b
MRA
2165 (grub_linux_load32): Correctly find linux entry point offset.
2166 (grub_linux_load64): Likewise.
2167
d2bf06bf
RM
21682010-11-07 Robert Millan <rmh@gnu.org>
2169
2170 On mips-yeeloong, build with -march=loongson2f when this flag is
2171 available (GCC >= 4.4).
2172 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
2173 `-march=mips3'.
2174 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
2175 or otherwise add -march=mips3.
2176
898c99a2
BC
21772010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
2178
87220a68
BC
2179 Suppress shell expansion on echo '*' and echo "*" like cases.
2180 Reported by: Jordan Uggla.
898c99a2
BC
2181
2182 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2183 string arguments before shell expansion.
2184 * tests/grub_cmd_echo.in: New testcases.
2185
4f9b406a
RM
21862010-11-07 Robert Millan <rmh@gnu.org>
2187
2188 * conf/mips-qemu-mips.rmk: Remove stale file from previous
2189 transition.
2190
80c6d25e
VS
21912010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/kern/emu/hostdisk.c
2194 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
2195
4a1a0153
VS
21962010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
2199 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
2200 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
2201
34706ddc
VS
22022010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
2205
6972dea9
VS
22062010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * util/grub-install.in: Replace useless recomendation to pass
2209 --modules with a recomendation to report a bug.
2210
9c693bd6
VS
22112010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 Properly register serial terminfo.
2214 Reported by: Jordan Uggla
2215
2216 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
2217 const.
2218 (grub_serial_terminfo_output_template): Likewise.
2219 (grub_cmd_serial): Register "serial" with terminfo.
2220 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
2221 grub_serial_terminfo_output.
2222
6c9e4c0c
RM
22232010-11-05 Robert Millan <rmh@gnu.org>
2224
2225 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
2226 needed).
2227
b9b3839f
RM
22282010-11-05 Robert Millan <rmh@gnu.org>
2229
2230 On Yeeloong, pass machine type information to Linux.
2231
2232 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
2233 (LOONGSON_MACHTYPE): New macro, set to
2234 "machtype=lemote-yeeloong-2f-8.9inches".
2235 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
2236 additional argument to Linux.
2237
1a3aaff4
RM
22382010-11-04 Robert Millan <rmh@gnu.org>
2239
2240 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
2241 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
2242 (its SATA disks are detected as slaveless IDE master drives on
2243 kFreeBSD).
2244 Reported by Carsten Aulbert.
2245
a75f4f62
CW
22462010-11-02 Colin Watson <cjwatson@ubuntu.com>
2247
2248 * util/bin2h.c (main): Fix spelling error in generated output.
2249
33b4b0c6
GS
22502010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
2251
2252 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
2253
2b36fbf4
VS
22542010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
2257 vga= option is supplied.
2258
74aaf558
VS
22592010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
2262 * util/grub.d/10_kfreebsd.in: Likewise.
2263 * util/grub.d/10_linux.in: Likewise.
2264 * util/grub.d/20_linux_xen.in: Likewise.
2265
6428dec3
VS
22662010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
2269 argument as an argument to no-argument option.
2270
f8729d98
VS
22712010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * util/grub.d/10_linux.in: Add missing load_video with explicit
2274 GRUB_GFXPAYLOAD_LINUX.
2275
89d68fa6
VS
22762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
2279
3a1197cd
VS
22802010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
2283 elements with invlid index.
2284 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2285 * grub-core/disk/raid.c (insert_array): Automatically reallocate
2286 members.
2287 * include/grub/raid.h (grub_raid_member): New struct.
2288 (grub_raid_array): Transform devices and start_sector into usage of
2289 grub_raid_member. All users updated
2290 (allocated_devs): New member.
2291
71574288
VS
22922010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
2295 is modified
2296
8d40ec65
BC
22972010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
2298
2299 NetBSD build fix for getline function conflict from gnulib.
2300
2301 * Makefile.util.def (libgrubkern.a): New library for grub kernel
2302 components that depend on gnulib headers.
2303 (libgrubmods.a): Renamed from earlier libgrub.a.
2304 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
2305
95b9257e
VS
23062010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
2309 install rather than creating a broken install.
2310
26c53dc6
VS
23112010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * util/grub-setup.c (argp): Remove misleading example of installing to
2314 a partition.
2315
4171b3c5
VS
23162010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 * util/grub-setup.c (setup): Clarify the error message.
2319
18568d18
VS
23202010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
2323
4f6a2e21
VS
23242010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 * grub-core/kern/emu/misc.c
2327 (grub_make_system_path_relative_to_its_root)
2328 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
2329
23302010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
2331
2332 * grub-core/kern/emu/misc.c
2333 (grub_make_system_path_relative_to_its_root): Revert r2882.
2334
e138c458
VS
23352010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
2338 useless field head. All users updated.
2339 (free_subchunk): Correct handling of IN_REGION subchunk.
2340
0cbcdf0e
CW
23412010-10-22 Colin Watson <cjwatson@ubuntu.com>
2342
2343 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
2344 (Supported kernels): Likewise.
2345
b65ea155
GS
23462010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2347
2348 Make mktemp invocations portable.
2349
2350 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
2351 exit if mktemp fails.
2352 * tests/grub_script_blockarg.in: Likewise.
2353 * tests/partmap_test.in: Likewise.
2354 * tests/util/grub-shell-tester.in: Likewise.
2355 * tests/util/grub-shell.in: Likewise.
2356 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2357 * Makefile.am: Likewise, and chain shell commands with `&&'
2358 instead of ';'.
2359 * util/grub-mkrescue.in: Use the same explicit template as above, and
2360 exit if mktemp fails.
2361
05f43cdd
BC
23622010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
2363
2364 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
2365 Linux kernel, reported by Dennis Schridde.
2366
800e6a9b
SJ
23672010-10-17 Szymon Janc <szymon@janc.net.pl>
2368
2369 * grub-core/normal/auth.c (grub_auth_check_authentication):
2370 Set-but-not-used variable removed.
2371
d82df574
VS
23722010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * docs/grub.texi (GNU/Linux): Document APM unavailability with
2375 32-bit linux protocol.
2376
7bced458
VS
23772010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
2380 cursor shape for sanity.
2381
5b027690
VS
23822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * docs/grub.texi (Installation): Document buggy BIOS install.
2385
ba5f65cf
VS
23862010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * docs/grub.texi (Installation): Indent.
2389
fdf2ec9c
VS
23902010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * util/grub-setup.c (setup): New parameter allow_floppy.
2393 (arguments): New member allow_floppy.
2394 (argp_parser): Handle --allow-floppy.
2395 (main): Pass allow_floppy.
2396 * util/grub-install.in: New option --allow-floppy passed though to
2397 grub-setup.
2398
861dfd4c
VS
23992010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * util/grub-install.in: Handle partitionless disks.
2402
f77a8c24
VS
24032010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * util/grub-setup.c (setup): Don't clean blocklists before readability
2406 verfification.
2407
27d9ee32
VS
24082010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * docs/grub.texi (Installation): Document embedding zone. Remove
2411 obsolete grub-install example.
2412
6bdda8f8
SJ
24132010-10-16 Szymon Janc <szymon@janc.net.pl>
2414
2415 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2416 Set-but-not-used variable ifdef'ed.
2417 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
2418 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
2419 variable removed.
2420 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
2421 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
2422 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
2423 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
2424 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
2425 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2426 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
2427 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
2428 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2429 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
2430 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
2431 Likewise.
2432
e19b016b
VS
24332010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
2436 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
2437 enum value.
2438
6c8d3002
VS
24392010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
2442 synonym to _S5_. Needed for some DSDTs.
2443
c32b51c9
VS
24442010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 Userspace ACPI parser debugging.
2447
2448 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
2449 headers and add relevant defines. Don't include standard headers.
2450 (main) [GRUB_DSDT_TEST]: New function.
2451 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
2452 Don't declare functions.
2453
fbfbeb39
VS
24542010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 Remove dead grub_efi_mm_fini.
2457
2458 * grub-core/kern/efi/mm.c (allocated_page): Removed.
2459 (ALLOCATED_PAGES_SIZE): Likewise.
2460 (MAX_ALLOCATED_PAGES): Likewise.
2461 (allocated_pages): Likewise.
2462 (grub_efi_allocate_pages): Don't record allocated pages.
2463 (grub_efi_free_pages): Likewise.
2464 (grub_efi_mm_init): Likewise.
2465 (grub_efi_mm_fini): Removed.
2466
65f7ed7c
VS
24672010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
2470 (grub_efi_mm_init): Take into account the memory map size increase.
2471
24977b44
VS
24722010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
2475 (serial_hw_put): Wait based on real time rather than port reads. Don't
2476 roken ports.
2477 * include/grub/serial.h (grub_serial_port): New field broken.
2478
1eb01cd2
RM
24792010-10-16 Robert Millan <rmh@gnu.org>
2480
2481 * grub-core/kern/emu/misc.c
2482 (grub_make_system_path_relative_to_its_root): Fix premature return
2483 when processing non-root ZFS filesystems.
5f8b440b 2484 Reported by Sergio Talens-Oliag.
1eb01cd2 2485
2d5fed60
RM
24862010-10-15 Robert Millan <rmh@gnu.org>
2487
2488 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
2489 guarantee compressed ones are processed first.
2490
d0f4c1ea
VS
24912010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
2494 grub_efiemu_autocore.
2495
d87c681f
VS
24962010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
2499 rather than 0x1b.
2500 (grub_console_getkey): Use correct jae opcode rather than ja.
2501
219b3564
RM
25022010-10-12 Robert Millan <rmh@gnu.org>
2503
2504 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
2505 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
2506 variable. All references updated.
2507
2508 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
2509
20c6bb7e
VS
25102010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 Correctly distinguish mdraid flavours.
2513
2514 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
2515 (insert_array): New argument raid.
2516 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
2517 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
2518 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
2519
74baff84
VS
25202010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
2523 handling of special keys.
2524
3ef068df 25252010-10-02 Aleš Nesrsta <starous@volny.cz>
2526
c7980ad9
VS
2527 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
2528 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 2529
a9455194 25302010-10-02 Aleš Nesrsta <starous@volny.cz>
2531
c7980ad9
VS
2532 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
2533 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
2534 users updated.
a9455194 2535 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 2536 Use right endpoint when querying descriptor.
a9455194 2537
441cfe65
VS
25382010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 Clear out 0x80 color bit on EFI.
2541 Tested by: decoder
2542 Reported by: decoder and meta tech.
2543
2544 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
2545 (grub_console_setcolorstate): Clear out 0x80 bit.
2546 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
2547 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
2548 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
2549
bf26bcc4
VS
25502010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
2553 Set to "auto".
2554
6e3c515d
VS
25552010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
2558 mo_file after freeing.
2559
e6d983ba
VS
25602010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
2563
74ccb5b5
VS
25642010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
2567 flags.
2568
17821956
VS
25692010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
2572 usage.
2573
ee74fa48
VS
25742010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 Put terminfo into core on ieee1275 and yeeloong (needed for console).
2577
2578 * gentpl.py: New groups terminfoinkernel and terminfomodule.
2579 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
2580 and terminfo.h when needed.
2581 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
2582 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
2583 (terminfo): Enable only on terminfokernel.
2584 (extcmd): Likewise.
2585 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
2586 * include/grub/lib/arg.h: Likewise.
2587 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
2588 incorrect usage of ->.
2589
aa438e68
VS
25902010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
2593 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
2594
57994012
VS
25952010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 Fix coreboot compilation.
2598
2599 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2600 Take VBE info into account even if only text is supported.
2601 (fill_vbe_info): Take into account the case when only VGA text
2602 is supported.
2603 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
2604 on coreboot, multiboot and qemu.
2605
2a406611
VS
26062010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
2609 debug messages.
2610 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
2611
d33613fc
VS
26122010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
2615 parameters.
2616
44a1b432
VS
26172010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
2620 if they were BSD-style.
2621
edde54e6
VS
26222010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/boot/i386/pc/lnxboot.S: Replace
2625 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
2626 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
2627
b65830fa
VS
26282010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 Write embedding zone using Reed-Solomon.
2631
2632 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
2633 * grub-core/Makefile.am (rs_decoder.S): New target.
2634 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
2635 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
2636 (multiboot): Move to RS part.
2637 (post_reed_solomon): New label.
2638 (grub_boot_drive): Move to non-RS part since it's modified in memory
2639 on boot.
2640 Include rs_decoder.S.
2641 * grub-core/lib/reed_solomon.c: New file.
2642 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
2643 New definition.
2644 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
2645 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
2646 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
2647 * include/grub/partition.h (grub_partition_map): Change prototype of
2648 embed to allow returning additional sectors.
2649 * include/grub/reed_solomon.h: New file.
2650 * util/grub-setup.c (setup): Handle Reed-Solomon.
2651
0b4b227f
CW
26522010-09-28 Colin Watson <cjwatson@ubuntu.com>
2653
2654 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2655 i386 and x86-64 definedness tests.
2656
f772623b
YB
26572010-09-27 Yves Blusseau <blusseau@zetam.org>
2658
2659 Fix generation of kernel_syms.lst
2660
2661 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
2662 ASM_PREFIX
2663
8e57a6ca
RM
26642010-09-26 Robert Millan <rmh@gnu.org>
2665
2666 Support degraded ZFS arrays in "grub-probe -t device" resolution.
2667
2668 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
2669 the pool is an array of devices, iterate through it and return the
2670 first device that passes a stat() test (instead of blindly returning
2671 the first one).
2672
f9130836
RM
26732010-09-26 Robert Millan <rmh@gnu.org>
2674
2675 Build fixes for GNU/kFreeBSD.
2676
2677 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
2678 to programs that require ZFS conversion.
2679 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
2680 kernels that don't have FLOPPY_MAJOR.
2681
96510faf
BC
26822010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2683
2684 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
2685
449333eb
BC
26862010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2687
2688 Fix grub-emu build.
2689
2690 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
2691 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
2692 mdraid09 and mdraid1x.
2693
e1fd1939
CW
26942010-09-24 Colin Watson <cjwatson@ubuntu.com>
2695
2696 Re-enable grub-extras.
2697
2698 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
2699 avoid confusing Automake. Run autogen only twice, once for the top
2700 level and once for grub-core. Add Makefile.util.def and
2701 Makefile.core.def from extra modules to the appropriate autogen
2702 invocations. If Makefile.common exists in an extra module, include
2703 it in both Makefile.util.am and grub-core/Makefile.core.am;
2704 similarly, include any Makefile.util.common file in Makefile.util.am
2705 and any Makefile.core.common file in grub-core/Makefile.core.am.
2706 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
2707 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
2708 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
2709 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
2710
2711 * gentpl.py (gvar_add): Turn GVARS into a set.
2712 (global_variable_initializers): Sort global variables on output.
2713 (vars_init): New function.
2714 (first_time): Likewise.
2715 (library): Ensure that non-global variable initialisations are
2716 emitted before the first time we emit code for a library block.
2717 Append to variables rather than setting them. Only emit
2718 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
2719 each conditional path.
2720 (program): installdir() emits an Autogen macro, so must be passed to
2721 var_add rather than gvar_add.
2722 (data): Likewise.
2723 (script): Likewise.
2724 (rules): New function, centralising handling for different target
2725 types. Set up Guile association lists for first_time and vars_init,
2726 and send most output to a diversion so that variable initialisations
2727 can be emitted first.
2728 (module_rules): Use new rules function.
2729 (kernel_rules): Likewise.
2730 (image_rules): Likewise.
2731 (library_rules): Likewise.
2732 (program_rules): Likewise.
2733 (script_rules): Likewise.
2734 (data_rules): Likewise.
2735
2736 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
2737
2738 * .bzrignore: Add contrib and grub-core/contrib. Remove
2739 grub-core/Makefile.gcry.am.
2740
1d12cf29
YB
27412010-09-24 Yves Blusseau <blusseau@zetam.org>
2742
2743 * grub-core/lib/LzFind.c: Add missing include.
2744 * grub-core/lib/LzmaEnc.c: Likewise.
2745 * grub-core/script/lexer.c: Likewise.
2746 * grub-core/script/yylex.l: Likewise.
2747 * util/grub-macho2img.c: Likewise.
2748 * util/grub-menulst2cfg.c: Likewise.
2749 * util/grub-mklayout.c: Likewise.
2750 * util/grub-mkpasswd-pbkdf2.c
2751 * util/grub-mkrelpath.c: Likewise.
2752 * util/resolve.c: Likewise.
2753
dd363028
BC
27542010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
2755
2756 * Makefile.util.def (example_unit_test): Add
2757 grub-core/gnulib/libgnu.a.
2758
f5a109e2
GS
27592010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
2760
2761 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
2762
6d0fa83c
VS
27632010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 Support xz compression on yeeloong.
2766
2767 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
2768 * configure.ac: Check for LZMA.
2769 * grub-core/Makefile.core.def (xz_decompress): New target.
2770 (none_decompress): Likewise.
2771 * grub-core/boot/decompressor/minilib.c: New file.
2772 * grub-core/boot/decompressor/none.c: Likewise.
2773 * grub-core/boot/decompressor/xz.c: Likewise.
2774 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
2775 * grub-core/kern/mips/cache_flush.S: Likewise.
2776 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
2777 * grub-core/kern/mips/startup.S: Move first stage to ...
2778 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
2779 nomacro.
2780 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
2781 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
2782 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
2783 Allocate statically.
2784 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
2785 Allocate statically or use scratch. Don't check CRC32.
2786 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
2787 Allocate statically. Don't check CRC32.
2788 * include/grub/decompressor.h: New file.
2789 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
2790 Removed.
2791 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
2792 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
2793 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
2794 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
2795 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
2796 * util/grub-mkimage.c (grub_compression_t): New type.
2797 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
2798 (image_target_desc): New field default_compression.
2799 (image_targets): Adjust yeeloong targets.
2800 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
2801 (compress_kernel): New parameter comp.
2802 (generate_image): Likewise. Handle new compression case.
2803 (options): New option --compression
2804 (help): Likewise.
2805 (main): Handle new option.
2806
1b655af6
GS
28072010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
2808
2809 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
2810
8f03f0b5
CW
28112010-09-22 Colin Watson <cjwatson@ubuntu.com>
2812
2813 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2814 typo in __i386__ conditional.
2815
7835dfd3
VS
28162010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
2819 include.
2820
e255597e
VS
28212010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2822
6d0fa83c 2823 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
2824
2825 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
2826 new tags as supported.
2827 (acpiv2_size): New function.
2828 (grub_multiboot_get_mbi_size): Take new tags into account.
2829 (grub_multiboot_make_mbi): Add new tags.
2830 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 2831
6cc14051 28322010-09-21 Aleš Nesrsta <starous@volny.cz>
2833
2834 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
2835 Added missing configuration of USB device.
2836
df7769d8
CW
28372010-09-21 Colin Watson <cjwatson@ubuntu.com>
2838
2839 * grub-core/normal/menu_entry.c (run): Make sure we always return
2840 a value.
2841
b031012d
CW
28422010-09-21 Colin Watson <cjwatson@ubuntu.com>
2843
2844 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
2845 NumberOfPages is UINT64 according to the UEFI specification, not
2846 UINTN. Fix printf format.
2847
174de8f3
CW
28482010-09-21 Colin Watson <cjwatson@ubuntu.com>
2849
2850 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
2851 `err' to grub_usb_err_t.
2852 Reported and tested by: KESHAV P.R.
2853
d7dbe923
CW
28542010-09-21 Colin Watson <cjwatson@ubuntu.com>
2855
2856 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
2857 tpart non-const, so that we can assign to it. (Since this is a
2858 typedef, the constness refers to the pointer rather than what it
2859 points to.)
2860
8d5e2af3
CW
28612010-09-21 Colin Watson <cjwatson@ubuntu.com>
2862
2863 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
2864 $(top_srcdir)/grub-core/gnulib as well as
2865 $(top_builddir)/grub-core/gnulib.
2866 Reported by: KESHAV P.R.
2867
5c527783
CW
28682010-09-21 Colin Watson <cjwatson@ubuntu.com>
2869
2870 * util/grub-install.in: Fix the bootloader ID option to be
2871 consistently --bootloader-id, not --bootloader_id.
2872 Reported by: KESHAV P.R.
2873
d309a16e
CW
28742010-09-21 Colin Watson <cjwatson@ubuntu.com>
2875
2876 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
2877 check hash checksum." consistently translatable.
2878
b830cd16
YB
28792010-09-21 Yves Blusseau <blusseau@zetam.org>
2880
2881 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
2882 $(top_builddir).
2883
c4fe27a8
CW
28842010-09-21 Colin Watson <cjwatson@ubuntu.com>
2885
2886 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
2887 (GRUB_MOD_INIT): Register sha1sum command.
2888 (GRUB_MOD_FINI): Unregister sha1sum command.
2889
a4c1d277
YB
28902010-09-21 Yves Blusseau <blusseau@zetam.org>
2891
2892 Keep boot and grub directory names in sync with utils scripts
2893
2894 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
2895 * config.h.in: Add previous macros.
2896 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
2897 * util/grub-install.in: Use $bootdir and $grubdir variables.
2898
4eff79d2
CW
28992010-09-21 Colin Watson <cjwatson@ubuntu.com>
2900
2901 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
2902 convert partition names to disk names if the new `convert' parameter
2903 is set.
2904 (grub_util_biosdisk_get_grub_dev): If opening the disk device
2905 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
2906 disk in its own right. This can happen with Xen disk images.
2907
934d7e44
YB
29082010-09-21 Yves Blusseau <blusseau@zetam.org>
2909
2910 * util/grub-editenv.c: Update strings to avoid warnings when generating
2911 grub.pot file.
2912 * util/grub-setup.c: Likewise.
934d7e44 2913
df3367cc
VS
29142010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * configure.ac: Change version to 1.99~beta0.
2917
77a94e98
VS
29182010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2921 Add BADRAM.
2922 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
2923 Likewise.
2924 * include/multiboot.h: Resynced with specification.
2925 * include/multiboot2.h: Likewise.
2926
269004c1
CW
29272010-09-21 Colin Watson <cjwatson@ubuntu.com>
2928
2929 Fix po directory handling.
2930
2931 * configure.ac: Create po/Makefile.in rather than po/Makefile.
2932 * grub-core/gnulib/Makefile.am: Import gettext module.
2933 * m4/gnulib-cache.m4: Likewise.
2934 * m4/gnulib-comp.m4: Likewise.
2935 * m4/gettext.m4: New file, from gnulib.
2936 * m4/glibc2.m4: Likewise.
2937 * m4/iconv.m4: Likewise.
2938 * m4/intdiv0.m4: Likewise.
2939 * m4/intl.m4: Likewise.
2940 * m4/intldir.m4: Likewise.
2941 * m4/intlmacosx.m4: Likewise.
2942 * m4/intmax.m4: Likewise.
2943 * m4/inttypes-pri.m4: Likewise.
2944 * m4/lcmessage.m4: Likewise.
2945 * m4/lib-ld.m4: Likewise.
2946 * m4/lib-link.m4: Likewise.
2947 * m4/lib-prefix.m4: Likewise.
2948 * m4/lock.m4: Likewise.
2949 * m4/nls.m4: Likewise.
2950 * m4/po.m4: Likewise.
2951 * m4/printf-posix.m4: Likewise.
2952 * m4/progtest.m4: Likewise.
2953 * m4/threadlib.m4: Likewise.
2954 * m4/uintmax_t.m4: Likewise.
2955 * m4/visibility.m4: Likewise.
2956 * po/Makefile.am: Remove.
2957 * po/Makefile.in.in: New file, from gettext.
2958 ($(DOMAIN).pot-update): Support POTFILES-shell.
2959 * po/Makevars: New file.
2960 * po/POTFILES-shell: Rename to ...
2961 * po/POTFILES-shell.in: ... this. Update.
2962 * po/POTFILES: Rename to ...
2963 * po/POTFILES.in: ... this. Update.
2964 * po/Rules-quot: New file, from gettext.
2965 * po/boldquot.sed: Likewise.
2966 * po/en@boldquot.header: Likewise.
2967 * po/en@quot.header: Likewise.
2968 * po/insert-header.sin: Likewise.
2969 * po/quot.sed: Likewise.
2970 * po/remove-potcdate.sin: Likewise.
2971
3e0fa5d0
VS
29722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
2975
ade9bd66
VS
29762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * util/grub.d/20_linux_xen.in: Use submenus.
2979
fc55cc4c
VS
29802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 Support submenus.
2983
2984 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
2985 parameter submenu. All users updated.
2986 * grub-core/normal/main.c (free_menu): Rename to ...
2987 (grub_normal_free_menu): ... this. Made global.
2988 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
2989 if requested.
2990 * grub-core/normal/menu_entry.c (screen): New field submenu.
2991 (make_screen): Set submenu.
2992 (run): Open new context if requested.
2993 * include/grub/menu.h (grub_menu_entry): New field submenu.
2994 * include/grub/normal.h (grub_normal_free_menu): New proto.
2995
600cedf7
VS
29962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 Menu entries extractor.
2999
3000 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
3001 variants.
3002 (GRUB_MOD_INIT): Register new variants.
3003 (GRUB_MOD_FINI): Unregister new variants.
3004 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
3005 into grub_cmd_legacy_source.
3006 (grub_cmd_legacy_source): Implement extractor variants.
3007 (GRUB_MOD_INIT): Register new variants.
3008 (GRUB_MOD_FINI): Unregister new variants.
3009 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
3010 as an extractor.
3011 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
3012 search as an extractor.
3013 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
3014 test as an extractor.
3015 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
3016 as an extractor.
3017 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
3018 (grub_env_new_context): New function.
3019 (grub_env_context_open): Likewise.
3020 (grub_env_extractor_open): Likewise.
3021 (grub_env_extractor_close): Likewise.
3022 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3023 grub_extractor_level.
3024 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
3025 * include/grub/env.h (grub_env_extractor_open): New proto.
3026 (grub_env_extractor_close): Likewise.
3027 * include/grub/normal.h (grub_extractor_level): New external variable.
3028
7bda3a87
VS
30292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 Make cutmem accept a region specification.
3032 Suggested by: Samuel Thibault
3033
3034 * grub-core/mmap/mmap.c (parsemem): New function.
3035 (grub_cmd_cutmem): Handle new arguments.
3036
2ea57f88
VS
30372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 New command cutmem.
3040
3041 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
3042 (GRUB_MOD_INIT): Register new command.
3043 (GRUB_MOD_FINI): Unregister new command.
3044
74342e31
VS
30452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 Support some annoying BSD and Minix subpartitions.
3048
3049 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
3050 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3051 Properly handle concatenation.
3052 * grub-core/kern/device.c (grub_device_iterate): Likewise.
3053 * grub-core/normal/completion.c (iterate_partition): Likewise.
3054 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
3055 contain partition. All users updated.
3056 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
3057 struct.
3058 (grub_openbsdlabel_partition_map): Likewise.
3059 (bsdlabel_partition_map_iterate): Rename to ..
3060 (iterate_real): ... this. New arguments sector, freebsd and pmap.
3061 (bsdlabel_partition_map_iterate): New function.
3062 (netopenbsdlabel_partition_map_iterate): Likewise.
3063 (netbsdlabel_partition_map_iterate): Likewise.
3064 (openbsdlabel_partition_map_iterate): Likewise.
3065 (GRUB_MOD_INIT): Register new partmaps.
3066 (GRUB_MOD_FINI): Unregister new partmaps.
3067 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
3068 (grub_partition_msdos_iterate): ... this. All users updated.
3069 Don't support embedding other than in a minix partition.
3070 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
3071 proto.
3072 * include/grub/partition.h (grub_partition): New field msdostype.
3073 * util/grub-install.in: Handle openbsd and netbsd types being in
3074 part_bsd module.
3075
1e8d555b
VS
30762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
3079
3080 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
3081 * grub-core/Makefile.core.def (mdraid): Renamed to ...
3082 (mdraid09): ... this.
3083 (mdraid1x): New module.
3084 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
3085 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
3086
899d8af4
VS
30872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
3090 vsprintf.
3091
40901acd
CW
30922010-09-20 Colin Watson <cjwatson@ubuntu.com>
3093
3094 * grub-core/commands/efi/lsefimmap.c: Correct header.
3095 * NEWS: Update.
3096
dfe3b247
CW
30972010-09-20 Colin Watson <cjwatson@ubuntu.com>
3098
3099 * util/grub-editenv.c (argp_parser): Don't pass translated strings
3100 as printf format strings; the translations might contain '%' which
3101 could cause a crash.
3102 (main): Likewise.
3103 * util/grub-fstest.c (argp_parser): Likewise.
3104 * util/grub-setup.c (argp_parser): Likewise.
3105 (main): Likewise.
3106
3286a4b4
VS
31072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 Use argp in grub-fstest.
3110
3111 * util/grub-fstest.c: Don't include getopt.h.
3112 Include argp.h.
3113 (root): New variable.
3114 (args_count): Likewise.
3115 (nparm): Likewise.
3116 (num_disks): Likewise.
3117 (images): Likewise.
3118 (cmd): Likewise.
3119 (debug_str): Likewise.
3120 (args): Likewise.
3121 (options): Transformed to argp.
3122 (usage): Removed.
3123 (main): Split argument parsing into ...
3124 (argp_parser): ... this. Changed to argp format.
3125 (argp): New variable.
3126 (main): Use argp_parse.
3127
3dccbe4b
TG
31282010-09-20 Tristan Gingold <gingold@free.fr>
31292010-09-20 Robert Millan <rmh.grub@aybabtu.com>
31302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * grub-core/commands/efi/lsefimmap.c: New file.
3133 * grub-core/Makefile.core.def (lsefimmap): New module.
3134 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
3135
38c259a7
VS
31362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 Pause the execution (10s max) if any errors are displayed so the user
3139 has a chance to see them.
3140
3141 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
3142 (grub_print_error): Increment grub_err_printed_errors.
3143 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
3144 execution if any errors were displayed.
3145 (show_menu): Remove old code for pause.
3146 * grub-core/normal/menu_entry.c (run): Likewise.
3147 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
3148 users updated.
3149 (grub_normal_get_char_counter): Likewise.
3150 * include/grub/err.h (grub_err_printed_errors): New external variable.
3151 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
3152
f218b09c
VS
31532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 Support multiboot VBE info.
3156
3157 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3158 Take VBE info into account.
3159 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
3160 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3161 Call fill_vbe_info when appropriate.
3162 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
3163 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
3164 as supported.
3165 (grub_multiboot_get_mbi_size): Take new tags into account.
3166 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
3167 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3168 Call fill_vbe_tag when appropriate.
3169 (grub_multiboot_make_mbi): Properly align tags.
3170 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
3171 function.
3172 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
3173 proto.
3174 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
3175
a9cc5438
VS
31762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 Suport manual terminal geometry specification.
3179
3180 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
3181 Save state in grub_ofconsole_terminfo_output.
3182 (grub_ofconsole_term): Use grub_terminfo_getwh.
3183 (grub_ofconsole_getwh): Removed.
3184 * grub-core/term/serial.c (grub_serial_getwh): Removed.
3185 (grub_serial_term): Use grub_terminfo_getwh.
3186 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
3187 (options): New struct.
3188 (OPTION_*): New enum.
3189 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
3190 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
3191 width and height.
3192 (grub_terminfo_getwh): New proto.
3193 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
3194
1a8fed20
VS
31952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 Handle legacy "terminal" command.
3198
3199 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
3200 and FLAG_TERMINAL.
3201 (legacy_commands): Add terminal and title.
3202 (grub_legacy_parse): Handle terminal. Simplify title handling.
3203
41e9c57d
VS
32042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
3207 parameters overflow.
3208
61c874c5
CW
32092010-09-20 Colin Watson <cjwatson@ubuntu.com>
3210
3211 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
3212 widthspec.h.
3213
3214 * docs/grub.texi (Shell-like scripting): Document `!'.
3215 (Network): Simplify using new i386-pc-pxe format. Mention
3216 grub-mknetdir.
3217
3218 * NEWS: Update.
3219
943682b4
CW
32202010-09-20 Colin Watson <cjwatson@ubuntu.com>
3221
3222 * Makefile.am (SUBDIRS): Restore "."; it's important to force
3223 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
3224 when needed.
3225
6d3d698d
CW
32262010-09-20 Colin Watson <cjwatson@ubuntu.com>
3227
3228 * grub-core/commands/efi/lsefisystab.c: Correct header.
3229 * grub-core/commands/efi/lssal.c: Likewise.
3230 * grub-core/commands/testload.c: Likewise.
3231
c982589f
CW
32322010-09-20 Colin Watson <cjwatson@ubuntu.com>
3233
3234 * util/grub-mkrescue.in: Add explicit root argument to --set to
3235 prevent the UUID being interpreted as an argument to --set (matches
3236 previous change to prepare_grub_to_access_device).
3237
a63c31b6
CW
32382010-09-20 Colin Watson <cjwatson@ubuntu.com>
3239
3240 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
3241 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
3242 the verbosity of later #ifs.
3243 (find_partition_start): Define this function on FreeBSD too.
3244 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
3245 function.
3246 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
3247 on FreeBSD.
3248
6439b8ee
YB
32492010-09-20 Yves Blusseau <blusseau@zetam.org>
3250
3251 * util/grub-editenv.c: Use argp instead of getopt.
3252
c5930ec8
YB
32532010-09-20 Yves Blusseau <blusseau@zetam.org>
3254
3255 * util/grub-setup.c: Use argp instead of getopt.
3256
15c69261
YB
32572010-09-20 Yves Blusseau <blusseau@zetam.org>
3258
3259 Use gnulib-tool to create gnulib source files.
3260
3261 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
3262 grub-core/gnulib directories
3263 * .bzignore: Add **/.deps and autogenerated gnulib files
3264 * configure.ac: Assign auxiliary directory to build-aux, add invocation
3265 of gnulib macros, add grub-core/gnulib/Makefile
3266 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
3267 include m4 directory to aclocal.
3268 * Makefile.util.def: Remove direct compilation of gnulib source files
3269 and use the new grub-core/gnulib/libgnu.a.
3270 * build-aux/config.rpath: move config.rpath from top directory to
3271 build-aux
3272 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
3273 in gnulib headers
3274 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
3275 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
3276 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
3277 header.
3278 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
3279 string.
3280
e511c9f5
YB
32812010-09-20 Yves Blusseau <blusseau@zetam.org>
3282
3283 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
3284 grub-core/genmod.sh and grub-core/gensyminfo.sh
3285
c2dede05
BC
32862010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
3287
3288 Add a test for echo command options.
3289
3290 * tests/grub_cmd_echo.in: New test.
3291 * Makefile.util.def: Rules for new test.
3292
c55f5018
SJ
32932010-09-20 Szymon Janc <szymon@janc.net.pl>
3294
3295 Remove crc.mod and move crc command to hashsum.mod.
3296 Remove lib/crc.c - users updated to use gcrypt implementation.
3297
3298 * grub-core/commands/crc.c: Removed.
3299 * grub-core/Makefile.core.def (crc): Module removed.
3300 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
3301 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
3302 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
3303 * grub-core/lib/crc.c: Removed.
3304 * include/grub/lib/crc.h: Removed.
3305 * Makefile.util.def (crc): Remove lib/crc.c
3306 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
3307 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
3308 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
3309 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
3310 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
3311 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
3312
e0337366
VS
33132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
3316
742f9232
VS
33172010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 Split config.h for util and core.
3320
3321 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
3322 (ADDR32): Likewise.
3323 (DATA32): Likewise.
3324 (BSS_START_SYMBOL): Likewise.
3325 (END_SYMBOL): Likewise.
3326 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
3327 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
3328 * config.h.in: New file.
3329 * configure.ac: Use config-util.h as config define file.
3330 Rename MACHINE into GRUB_MACHINE. All users updated.
3331 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
3332 updated.
3333 (NESTED_FUNC_ATTR): Likewise.
3334 Substitue new variables.
3335 (COND_HAVE_ASM_USCORE): New conditional.
3336 * grub-core/Makefile.am (ASM_PREFIX): New variable.
3337 (kernel_syms.lst): Use ASM_PREFIX.
3338 * grub-core/kern/emu/console.c: Include config-util.h.
3339 * grub-core/kern/emu/misc.c: Likewise.
3340 * grub-core/kern/emu/mm.c: Likewise.
3341 * include/grub/emu/misc.h: Likewise.
3342 * include/grub/libgcc.h: Likewise.
3343
39feb0e8
VS
33442010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
3347 constants usage.
3348 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
3349 Fix GRUB_TERM_KEY_* constants usage.
3350 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
3351
9af6dac3
VS
33522010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
3355 print pointer.
3356 * grub-core/bus/usb/uhci.c: Remove empty define.
3357 (grub_uhci_check_transfer): Add missing cast.
3358 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
3359 print pointer.
3360 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
3361 PRIuGRUB_SIZE.
3362 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
3363
d6d94820
VS
33642010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 * grub-core/Makefile.core.def (legacycfg): Add
3367 lib/i386/pc/vesa_modes_table.c on emu.
3368
3572f2b6
BC
33692010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3370
3371 Reduce number of temporary files generated by build system.
3372
3373 * grub-core/gencmdlist.sh: Removed.
3374 * grub-core/genfslist.sh: Removed.
3375 * grub-core/genhandlerlist.sh: Removed.
3376 * grub-core/genmodsrc.sh: Removed.
3377 * grub-core/genpartmaplist.sh: Removed.
3378 * grub-core/genparttoollist.sh: Removed.
3379 * grub-core/gentermiinallist.sh: Removed.
3380 * grub-core/genvideolist.sh: Removed.
3381
3382 * grub-core/genmod.sh.in: New file.
3383 * grub-core/gensyminfo.sh.in: New file.
3384
3385 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
3386 * conf/Makefile.extra-dist: Update with new files.
3387 * gentpl.py: Remove rules related to unnecessary temporary files.
3388 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
3389 and und-* files.
3390 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
3391 genmod.sh scripts.
3392 * grub-core/bus/usb/uhci.c: Remove empty #define.
3393 * grub-core/genmoddep.awk: Updated with new syminfo format.
3394 * util/bash-completion.d/Makefile.am: Add config.log to
3395 CLEANFILES.
3396
c836b030
YB
33972010-09-19 Yves Blusseau <blusseau@zetam.org>
3398
3399 * Makefile.util.def: Add forgotten $(LIBINTL) library.
3400
2f4e8053
BC
34012010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3402
3403 * util/grub-mkconfig.in: Check the config script for syntax errors
3404 before saving.
3405
75831c34
CW
34062010-09-19 Colin Watson <cjwatson@ubuntu.com>
34072010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * Makefile.util.def (grub-install): Use util/grub-install.in on all
3410 platforms.
3411 * util/grub-install.in: Add EFI and IEEE1275 support.
3412 * util/i386/efi/grub-install.in: Removed.
3413 * util/ieee1275/grub-install.in: Likewise.
3414
eaf41b25
VS
34152010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
3418 (grub_cmd_cmosclean): Likewise.
3419 (GRUB_MOD_INIT): Register command cmosclean.
3420 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
3421 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
3422
1a9130dd
CPE
34232010-09-18 Carles Pina i Estany <carles@pina.cat>
34242010-09-18 Aleš Nesrsta <starous@volny.cz>
34252010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 Add keyboard layouts support.
3428
3429 * Makefile.util.def (grub-mklayout): New file.
3430 (grub-kbdcomp): New script.
3431 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
3432 Add keyboard_layouts.h.
3433 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
3434 commands/boot.c on yeeloong.
3435 (keylayouts): New module.
3436 * grub-core/bus/usb/ohci.c
3437 * grub-core/bus/usb/uhci.c
3438 * grub-core/bus/usb/usbhub.c (rescan): New variable.
3439 (grub_usb_add_hub): Poll interrupt pipe for device handling.
3440 (attach_root_port): Likewise.
3441 (poll_nonroot_hub): Likewise.
3442 (grub_usb_poll_devices): Likewise.
3443 (detach_device): Close transfer.
3444 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
3445 function.
3446 (grub_usb_bulk_setup_readwrite): Likewise.
3447 (grub_usb_bulk_finish_readwrite): Likewise.
3448 * grub-core/commands/keylayouts.c: New file.
3449 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
3450 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
3451 aliases.
3452 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
3453 support scancode 2.
3454 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
3455 * include/grub/keyboard_layouts.h: New file.
3456 * util/grub-mklayout.c: New file.
3457 * util/grub-kbdcomp.in: Likewise.
3458
a1d84a5e
VS
34592010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 Unify memory types.
3462
3463 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
3464 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
3465 types.
3466 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
3467 (grub_upper_mem): Likewise.
3468 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
3469 * include/grub/memory.h (grub_memory_type_t): New enum.
3470 All users updated.
3471
9696382e
VS
34722010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * grub-core/Makefile.core.def (lsapm): New module.
3475 * grub-core/commands/i386/pc/lsapm.c: New file.
3476 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
3477 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
3478 Likewise.
3479 * include/grub/i386/pc/apm.h: New file.
3480 * include/multiboot.h (multiboot_apm_info): New struct.
3481
34822010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 GRUB-legacy configuration file support.
3485
3486 * Makefile.util.def (grub-menulst2cfg): New util.
3487 * docs/man/grub-menulst2cfg.h2m: New file.
3488 * grub-core/Makefile.core.def (legacycfg): New module.
3489 * grub-core/commands/legacycfg.c: New file.
3490 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
3491 (grub_normal_add_menu_entry): ... this.
3492 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
3493 (grub_normal_set_password): ...this.
3494 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
3495 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
3496 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
3497 * grub-core/lib/legacy_parse.c: New file.
3498 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
3499 * include/grub/i386/pc/vesa_modes_table.h: New file.
3500 * include/grub/legacy_parse.h: Likewise.
3501 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
3502 * util/grub-menulst2cfg.c: New file.
3503
bf8d1338
CW
35042010-09-17 Colin Watson <cjwatson@ubuntu.com>
3505
3506 * grub-core/kern/emu/hostdisk.c
3507 (convert_system_partition_to_system_disk): Initialise node.
3508
9c0bad2e
CW
35092010-09-17 Colin Watson <cjwatson@ubuntu.com>
3510
3511 * grub-core/kern/emu/hostdisk.c
3512 (convert_system_partition_to_system_disk): Fix devmapper memory pool
3513 leak.
3514 Reported and based on patch by: Modestas Vainius.
3515
a939d135
CW
35162010-09-17 Colin Watson <cjwatson@ubuntu.com>
3517
3518 Fix DM-RAID probing with recent versions of device-mapper udev
3519 rules.
3520
3521 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
3522 canonicalise device paths under /dev/mapper/.
3523 (convert_system_partition_to_system_disk): Compare the
3524 uncanonicalised path to /dev/mapper/ rather than the canonicalised
3525 path, since device nodes under /dev/mapper/ are often symlinks.
3526
0f7ee3c9
YB
35272010-09-17 Yves Blusseau <blusseau@zetam.org>
3528
3529 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
3530
10854d0d
YB
35312010-09-16 Yves Blusseau <blusseau@zetam.org>
3532
3533 * configure.ac: Avoid some annoying error messages if freetype-config
3534 program is not found.
3535
108538d8
CW
35362010-09-16 Colin Watson <cjwatson@ubuntu.com>
3537
3538 Support RAID on virtio devices, and others.
3539
3540 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
3541 Rename to ...
3542 [__MINGW32__] (grub_find_device): ... this.
3543 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
3544 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
3545 reasonable default if dir is NULL.
3546 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
3547 ...
3548 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
3549 (grub_guess_root_device): Update callers.
3550 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
3551
3552 * util/raid.c (grub_util_getdiskname): Remove.
3553 (grub_util_raid_getmembers): Use grub_find_device rather than
3554 grub_util_getdiskname.
3555
e5bfc130
CW
35562010-09-16 Colin Watson <cjwatson@ubuntu.com>
3557
3558 * docs/grub.texi (serial): Remove obsolete comment about GRUB
3559 needing to be compiled with serial support.
3560 (ls): Indicate that multiple files are accepted.
3561 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
3562 indicate that multiple files are accepted.
3563
be458ae2
CW
35642010-09-16 Colin Watson <cjwatson@ubuntu.com>
3565
3566 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
3567 libgrub_a_init.c, and util/bash-completion.d/grub.
3568
cb731b5e
VS
35692010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * util/grub-setup.c (setup): Fix incorrect container semantics.
3572
35139e8a
VS
35732010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
3576 misusage.
3577 Reported by: J. Nick Terry
3578
e50fca4a
VS
35792010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 Move embedding routines to partmap sources files.
3582
3583 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
3584 [GRUB_UTIL]: New variable.
3585 (gpt_partition_map_iterate): Set part.parent.
3586 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
3587 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
3588 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
3589 New function.
3590 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
3591 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
3592 (grub_partition_map) [GRUB_UTIL]: New field embed.
3593 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
3594 (setup): Use ->embed.
3595
f00478b7
VS
35962010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
3599 function.
3600 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
3601 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
3602
2b94e3ff
YB
36032010-09-15 Yves Blusseau <blusseau@zetam.org>
3604
3605 Add function to get completions from usage.
3606
3607 * util/bash-completion.d/grub-completion.bash.in: Add function to get
3608 completions from usage. Use LC_ALL=C to get options properly.
3609
2e04a006
VS
36102010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * grub-core/gnulib/basename-lgpl.c: Imported.
3613 * grub-core/gnulib/basename.c: Likewise.
3614 * grub-core/gnulib/dirname-lgpl.c: Likewise.
3615 * grub-core/gnulib/dirname.c: Likewise.
3616 * grub-core/gnulib/dirname.h: Likewise.
3617 * grub-core/gnulib/stripslash.c: Likewise.
3618
5dcdf93a
VS
36192010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * grub-core/gnulib/error.c: Resynced.
3622 * grub-core/gnulib/getopt.c: Likewise.
3623 * grub-core/gnulib/getopt_int.h: Likewise.
3624 * grub-core/gnulib/regex.h: Likewise.
3625 * grub-core/gnulib/regex_internal.c: Likewise.
3626 * grub-core/gnulib/regex_internal.h: Likewise.
3627
014f47b7
SJ
36282010-09-15 Szymon Janc <szymon@janc.net.pl>
3629
3630 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
3631 CRC calculations and validity checks.
3632 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
3633 calculations.
3634
dd521a4a
SJ
36352010-09-15 Szymon Janc <szymon@janc.net.pl>
3636
3637 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
3638
79c4eeb9
VS
36392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 Fix incorrect echo options handling.
3642 Reported by: Yves Blusseau.
3643
3644 * include/grub/command.h (grub_command_flags_t): New flags
3645 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
3646 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
3647 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
3648
ed80f7d5
VS
36492010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
3652 users updated.
3653 (GRUB_COMMAND_FLAG_MENU): Likewise.
3654 (GRUB_COMMAND_FLAG_BOTH): Likewise.
3655 (GRUB_COMMAND_FLAG_TITLE): Removed.
3656 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
3657 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
3658 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
3659 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
3660 (grub_command_flags_t): New enum. All users updated.
3661
5fe7620a
SG
36622010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
3663
3664 Fix solaris compilation.
3665
3666 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
3667 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
3668 (grub-emu-list): Likewise.
3669
545b752f
VS
36702010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 Remove deprecated root command.
3673
3674 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
3675 updated.
3676
6c1a338c
VS
36772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * util/i386/pc/grub-setup.c: Merge this ...
3680 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
3681 * util/grub-setup.c: ... into this.
3682 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
3683 New struct.
3684
36852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
3688 possible.
3689
d2ea4551
VS
36902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
3693 allocate p.
3694
3c3b5040
VS
36952010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3698 explicit root argument to set to prevent UUID to be interpreted as
3699 argument to set.
3700
b71c3fae
VS
37012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
3704
275433e6
VS
37052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 Don't export grub_gate_a20.
3708
3709 * grub-core/kern/i386/pc/init.c: Remove leftovers.
3710 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
3711 to ...
3712 (grub_gate_a20): ... this. All users updated.
3713 * include/grub/i386/pc/init.h: Removed. All users updated.
3714
a5dbb1f1
VS
37152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 Create euro.pf2 which supports most European languages.
3718
3719 * Makefile.am (grubdata_DATA): Add euro.pf2.
3720 (euro.pf2): New target.
3721 (CLEANFILES): Add euro.pf2.
3722
62a747cb
VS
37232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * configure.ac: Disable emu-usb by default to prevent inadvertent
3726 device takeover.
3727
608e43b1
VS
37282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 Disable usbserial on grub-emu since our libusb code isn't good enough
3731 yet.
3732
3733 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
3734 (usbserial_pl2303): Likewise.
3735 (usbserial_ftdi): Likewise.
3736
94564f81
VS
37372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * include/grub/disk.h (grub_disk): Remove has_partitions.
3740 All users updated.
3741 * disk/loopback.c (grub_loopback): Remove has_partitions.
3742 All users updated.
3743 (options): Remove partitions. All users updated.
3744 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
3745 * util/i386/pc/grub-setup.c (setup): copy partition table only when
3746 actual partition table is found.
3747
3352800b
VS
37482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 Remove readability checks (too many false negatives).
3751
3752 * util/grub-install.in: Remove readability checks.
3753 * util/grub-mkconfig.in: Likewise.
3754 * util/grub.d/10_hurd.in: Likewise.
3755 * util/grub.d/10_kfreebsd.in: Likewise.
3756 * util/grub.d/10_linux.in: Likewise.
3757 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
3758 way.
3759
2419f17a
VS
37602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 Enable acpi shutdown on all ACPI platforms.
3763
3764 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
3765 on coreboo, multiboot and EFI.
3766 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
3767 (grub_acpi_halt): Likewise.
3768 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
3769 (grub_cmd_halt): Don't call grub_acpi_halt directly.
3770 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
3771 * grub-core/lib/i386/halt.c (grub_halt)
3772 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
3773
0575c7c3
VS
37742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
3777 context.
3778
54ac3cd1
VS
37792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * grub-core/video/efi_gop.c: Fix over-80-chars line.
3782 * grub-core/video/efi_uga.c: Likewise.
3783
b2a30ac5
VS
37842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 Filter devaliases and never open same device twice.
3787
3788 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
3789 (last_ihandle): Likewise.
3790 (ofdisk_hash_ent): New member shortest.
3791 (ofdisk_hash_add): Add canonical path too.
3792 (scan): New function.
3793 (grub_ofdisk_iterate): Iterate over hashed entries.
3794 (compute_dev_path): Don't add :0.
3795 (grub_ofdisk_open): Don't really open the disk.
3796 (grub_ofdisk_close): Avoid closing unrelated disk.
3797 (grub_ofdisk_read): Implement reopen logic.
3798 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
3799 New function.
3800 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
3801 New proto.
3802
fb53b340
VS
38032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 Fix sparc64.
3806
3807 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
3808 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
3809 right address. Add sparc64_ieee1275_ldflags.
3810 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
3811 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
3812 to grub_host_to_target_addr
3813 (load_image): Likewise.
3814
f452b040
VS
38152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * grub-core/normal/completion.c (complete_file): Handle device
3818 containing slash.
3819 Fix based on patch by Doug Nazar.
3820
9b5b2541
VS
38212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 grub-mknetdir script.
3824
3825 * Makefile.util.def (grub-mknetdir): New module.
3826 * tests/util/grub-shell.in: Support boot=net
3827 * util/grub-mknetdir.in: New file.
3828
9d2be652
VS
38292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 videoinfo on non-vbe.
3832
3833 * grub-core/Makefile.core.def (vbeinfo): Removed.
3834 (vbetest): Removed.
3835 (videoinfo): New module.
3836 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
3837 * grub-core/commands/i386/pc/vbetest.c: Removed.
3838 * grub-core/commands/videoinfo.c: New file.
3839 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
3840 specification.
3841 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
3842 as vbetest.
3843 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
3844 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
3845 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
3846 mode_number. New parameter mode. All users updated.
3847 (grub_video_gop_iterate): New function.
3848 (grub_video_efi_gop): New member iterate.
3849 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
3850 (grub_vbe_set_video_mode): Remove setting useless fields.
3851 (vbe2videoinfo): New function.
3852 (grub_video_vbe_iterate): Likewise.
3853 (grub_video_vbe_setup): Use vbe2videoinfo.
3854 (grub_video_vbe_print_adapter_specific_info): New function.
3855 (grub_video_vbe_adapter): New fields iterate and
3856 print_adapter_specific_info.
3857 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
3858 All users updated.
3859 (grub_video_mode_info): New field mode_number.
3860 (grub_video_adapter): New fields iterate and
3861 print_adapter_specific_info.
3862
179503f5
TG
38632010-09-13 Tristan Gingold <gingold@free.fr>
38642010-09-13 Robert Millan <rmh.grub@aybabtu.com>
38652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * grub-core/commands/efi/lsefisystab.c: New file.
3868 * grub-core/commands/efi/lssal.c: Likewise.
3869 * grub-core/Makefile.core.def (lsacpi): New module.
3870 (lsefisystab): Likewise.
3871 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
3872 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
3873 (grub_efi_sal_system_table): New struct.
3874 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
3875 (grub_efi_sal_system_table_memory_descriptor): Likewise.
3876 (grub_efi_sal_system_table_platform_features): Likewise.
3877 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
3878 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
3879 (grub_efi_sal_system_table_ap_wakeup): Likewise.
3880 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
3881
cf9827de
VS
38822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 Support explicit user claim that a device is BIOS-visible.
3885
3886 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
3887 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
3888 * grub-core/kern/emu/hostdisk.c
3889 (convert_system_partition_to_system_disk): Support mdX.
3890 (find_system_device): New parameter add. All users updated.
3891 (grub_util_biosdisk_is_present): New function.
3892 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
3893 proto.
3894
53f0eb1f
VS
38952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 Search hints support.
3898
3899 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
3900 All users updated.
3901
b23ffd70
YB
39022010-09-13 Yves Blusseau <blusseau@zetam.org>
3903
3904 Bash completion script for util commands
3905
3906 * Makefile.am: Add util/bash-completion.d directory
3907 * configure.ac: Likewise.
3908 * util/bash-completion.d/Makefile.am: New file.
3909 * util/bash-completion.d/grub-completion.bash.in: Likewise.
3910
d547dc28
VS
39112010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
3914 (print_backlog): set backlog_ucs4 and backlog_glyphs.
3915 Reported by: Yves Blusseau.
3916
2fc8ccb9
VS
39172010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
3920 partition size and offset.
3921
d8a84076
VS
39222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
3925
84fb3b3d
VS
39262010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
3929
768ec2e2
VS
39302010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
3933 (grub_xvasprintf): Likewise.
3934
4870900f
VS
39352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
3938
faca6bec
VS
39392010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
3942 args ending with NULL.
3943
39442010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
3945
3946 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
3947 pointer.
3948
3c70f225
SJ
39492010-09-11 Szymon Janc <szymon@janc.net.pl>
3950
3951 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
3952
4df7996d
VS
39532010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 Shutdown using ACPI.
3956
3957 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
3958 * grub-core/commands/acpihalt.c: New file.
3959 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
3960 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
3961 (grub_acpi_halt): New proto.
3962 (GRUB_ACPI_SLP_EN): New const.
3963 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
3964 (GRUB_ACPI_OPCODE_*): New enum.
3965 (GRUB_ACPI_EXTOPCODE_*): Likewise.
3966
126b4c32
TG
39672010-09-11 Tristan Gingold <gingold@free.fr>
39682010-09-11 Robert Millan <rmh.grub@aybabtu.com>
39692010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * commands/lsacpi.c: New file.
3972 * grub-core/Makefile.core.def (lsacpi): New module.
3973 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
3974 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
3975 (grub_acpi_madt_entry_header): New struct.
3976 (grub_acpi_madt): Likewise.
3977 (grub_acpi_madt_entry_interrupt_override): Likewise.
3978 (grub_acpi_madt_entry_sapic): Likewise.
3979 (grub_acpi_madt_entry_lsapic): Likewise.
3980 (grub_acpi_madt_entry_platform_int_source): Likewise.
3981 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
3982 (PRIuGRUB_UINT32_T): Likewise.
3983 (PRIxGRUB_UINT64_T): Likewise.
3984
1aa4fe88
VS
39852010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 Implement loading palette on ieee1275_fb.
3988
3989 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
3990 (have_setcolors): Likewise.
3991 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
3992 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
3993 (grub_video_ieee1275_set_palette): Implement.
3994
25761e13
VS
39952010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
39962010-09-11 Colin Watson <cjwatson@ubuntu.com>
3997
3998 * util/grub-install.in (grub_partition): New variable.
3999 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
4000 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
4001 Fixes a bug reported by Yves Blusseau.
4002
050abaea
VS
40032010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 Fix emu on mipsel.
4006
4007 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
4008 =grub_cpu_flush_cache on all mips and not only yeeloong.
4009 * configure.ac (COND_mips): New conditional.
4010 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
4011 platforms.
4012 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
4013 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
4014 [GRUB_LINKER_HAVE_INIT]: New function.
4015 (grub_emu_post_init): Likewise.
4016 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
4017 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
4018 * include/grub/cache.h (_mips): Include mips/cache.h.
4019 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
4020 LVM and RAID prototypes.
4021 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
4022 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
4023 function.
4024
5ed7d816
CW
40252010-09-10 Colin Watson <cjwatson@ubuntu.com>
4026
4027 * util/grub-install.in: Don't try to verify core.img until after
4028 running grub-mkimage to create it.
4029
90367e04
RM
40302010-09-10 Robert Millan <rmh@gnu.org>
4031
4032 * util/grub.d/10_hurd.in: Add misc readability checks.
4033 * util/grub.d/10_kfreebsd.in: Likewise.
4034 * util/grub.d/10_linux.in: Likewise.
4035
c452fa66
CW
40362010-09-10 Colin Watson <cjwatson@ubuntu.com>
4037
4038 * util/grub-install.in: ${imgext} won't be defined here until the
4039 install branch is merged. For the meantime, only verify core.img on
4040 i386-pc and sparc64-ieee1275 platforms.
4041
c38fe9f4
RM
40422010-09-10 Robert Millan <rmh@gnu.org>
4043
4044 Solaris support in grub_find_zpool_from_dir(). Thanks
4045 Seth Goldberg for referring to getextmntent() facility.
4046
4047 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
4048 `sys/mkdev.h'.
4049 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
4050 `<sys/mnttab.h>'.
4051 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
4052 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
4053 method for finding zpool name.
4054
905f7773
CW
40552010-09-10 Colin Watson <cjwatson@ubuntu.com>
4056
4057 grub-fstest needs the host and hostfs modules while other utilities
4058 actively require those modules to be absent, so grub-fstest needs
4059 its own initialisation and finalisation code.
4060
4061 * Makefile.am (grub_fstest.pp): New target.
4062 (grub_fstest_init.lst): Likewise.
4063 (grub_fstest_init.c): Likewise.
4064 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
4065
fb90b546
RM
40662010-09-10 Robert Millan <rmh@gnu.org>
4067
4068 * configure.ac: Check for `struct statfs.f_fstypename' and
4069 `struct statfs.f_mntfromname'.
4070
4071 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
4072 kFreeBSD-specific code.
4073
66d4bea5
RM
40742010-09-10 Robert Millan <rmh@gnu.org>
4075
4076 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
4077 on ZFS. Now non-main filesystems are supported as / too.
4078
b6a690ee
CW
40792010-09-09 Colin Watson <cjwatson@ubuntu.com>
4080
4081 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
4082 and grub-core/disk/host.c to ...
4083 (grub-fstest): ... here. Having the host disk implementation
4084 present confuses grub-probe and other utility programs.
4085
4086 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
4087 when writing to a file, not when writing to stdout.
4088
8901b00c 40892010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
4090
4091 * tests/partmap_test.in: New test for partitions.
4092 * Makefile.util.def: Rules for new test.
4093
7bf45fdd
RM
40942010-09-09 Robert Millan <rmh@gnu.org>
4095
4096 * util/grub-probe.c (probe): Fix a pair of unhandled error
4097 conditions.
4098
4dfbc574
RM
40992010-09-09 Robert Millan <rmh@gnu.org>
4100
4101 Basic Btrfs support (detection and UUID).
4102
4103 * grub-core/fs/btrfs.c: New file.
4104 * Makefile.util.def (library): Register btrfs.c.
4105 * grub-core/Makefile.core.def: Likewise.
4106
6b8e78ae
RM
41072010-09-08 Robert Millan <rmh@gnu.org>
4108
4109 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
4110 with (optional) parameters to specify device and relative path.
4111 * util/grub-install.in: Use is_path_readable_by_grub() to
4112 verify readability of a few critical files.
4113 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
4114 verify readability of grub.cfg.new.
4115
27f21a8b
VS
41162010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 Split minix.mod into minix.mod and minix2.mod.
4119
4120 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
4121 * grub-core/Makefile.core.def (minix2): New module.
4122 * grub-core/fs/minix.c: Use definitions instead of runtime version
4123 checking.
4124 * grub-core/fs/minix2.c: New file.
4125
c0e53ea5
YB
41262010-09-08 Yves Blusseau <blusseau@zetam.org>
4127
4128 Add new --boot-directory option to replace --root-directory
4129
4130 * util/grub-install.in: Add new --boot-directory option
4131 * util/grub-reboot.in: Likewise.
4132 * util/grub-set-default.in: Likewise.
4133
b9fe6ea2
YB
41342010-09-08 Yves Blusseau <blusseau@zetam.org>
4135
4136 * util/grub-mkconfig.in: Use new variable.
4137
d87aedff
YB
41382010-09-08 Yves Blusseau <blusseau@zetam.org>
4139
4140 * configure.ac: Define some useful variables.
4141
e55e8495
VS
41422010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4145 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
4146 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
4147 Use terminfo and don't use cursor-on/cursor-off unless it's known
4148 to work.
4149 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
4150 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
4151
6fa6d675
CW
41522010-09-08 Colin Watson <cjwatson@ubuntu.com>
4153
4154 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
4155 starts with "(,", fill the drive containing the loaded image in
4156 between those two characters, but expect that a full partition
4157 specification including partition map names will follow.
4158
92f2aef0
RM
41592010-09-08 Robert Millan <rmh@gnu.org>
4160
4161 * configure.ac: Remove `--enable-grub-fstest' option.
4162 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
4163
4164 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
4165 `grub-fstest' instead of `grub-probe' for readability verification.
4166 * util/grub-probe.c (probe): Remove readability verification kludge.
4167
99fd620d
RM
41682010-09-08 Robert Millan <rmh@gnu.org>
4169
4170 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
4171 initializing `GRUB_FS'.
4172
058e30ac 41732010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
4174
4175 Not command (!) support to GRUB script.
4176
4177 * tests/grub_script_not.in: New test.
4178 * Makefile.util.def: Rules for new test.
4179
4180 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
4181 ! command as a special case.
4182 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
4183
b61d05ed 41842010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4185
058e30ac 4186 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
4187 grub_free.
b61d05ed 4188
4d69c786 41892010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4190
4191 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
4192
aa3119c4 41932010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4194
4195 * docs/grub.texi (Shell-like scripting): Documentation for break,
4196 continue, shift and return commands.
4197
db0f7e3d
VS
41982010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 Rename CD-ROM to cd on BIOS.
4201
4202 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
4203 "cd".
4204 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
4205
88b87c93
VS
42062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
4209 * util/grub-probe.c (main): Likewise.
4210 * util/i386/pc/grub-setup.c (main): Likewise.
4211 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
4212 Reported and debugged by: alexxy
4213
294f324d
VS
42142010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
4217 diagnostic info.
4218
d7ee3441
JS
42192010-09-05 Jo Shields <directhex@apebox.org>
4220
4221 * util/grub.d/30_os-prober.in: Add missing classes.
4222
d7e06c1f
VS
42232010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * docs/grub.texi (Theme file format): Document new position format.
4226
fc157e53
VS
42272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
4230 a table. Use @code instead of @verbatim.
4231
506e9a1c
CB
42322010-09-05 Colin D Bennett <colin@gibibit.com>
4233
4234 Gfxmenu documentation.
4235
4236 * docs/grub.texi (Theme file format): New chapter.
4237
f0aff67c
SJ
42382010-09-05 Szymon Janc <szymon@janc.net.pl>
4239
4240 * grub-core/Makefile.core.def (xzio): New module.
4241 * grub-core/io/xzio.c: New file.
4242 * grub-core/lib/xzembed/xz.h: New file (from xembed).
4243 * grub-core/lib/xzembed/xz_config.h: Likewise.
4244 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
4245 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
4246 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
4247 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
4248 * grub-core/lib/xzembed/xz_private.h: Likewise.
4249 * grub-core/lib/xzembed/xz_stream.h: Likewise.
4250 * include/grub/file.h (grub_file_filter_id): New compression filter
4251 GRUB_FILE_FILTER_XZIO.
4252
82a85062
VS
42532010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
4256 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
4257 size.
4258
3579415d
VS
42592010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
4262 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
4263
5124ae6d
VS
42642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 Uncompressed checksum support.
4267
4268 * grub-core/commands/hashsum.c (options): Add option --uncompress.
4269 (check_list): New parameter uncompress.
4270 (grub_cmd_hashsum): Handle --uncompress.
4271
9aadb3d1
VS
42722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 Reintroduce testload.
4275
4276 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
4277 from here ...
4278 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
4279 (GRUB_MOD_INIT): New function.
4280 (GRUB_MOD_FINI): Likewise.
4281 * grub-core/Makefile.core.def (testload): New module.
4282
a17792c3
SJ
42832010-09-05 Szymon Janc <szymon@janc.net.pl>
4284
4285 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
4286 (uint8_t): New type.
4287 (uint16_t): Likewise.
4288 (uint32_t): Likewise.
4289 (uint64_t): Likewise.
4290
b81e40a3
SJ
42912010-09-05 Szymon Janc <szymon@janc.net.pl>
4292
4293 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
4294
fc2ef117
VS
42952010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
4298 Made static.
4299 (grub_gzfile_open): Removed. All users updated.
4300 (GRUB_MOD_INIT): New function.
4301 (GRUB_MOD_FINI): Likewise.
4302 * grub-core/kern/file.c (grub_file_filters_all): New variable.
4303 (grub_file_filters_enabled): Likewise.
4304 (grub_file_open): Handle filters.
4305 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
4306 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
4307 * include/grub/file.h (grub_file_filter_id_t): New type.
4308 (grub_file_filter_t): Likewise.
4309 (grub_file_filters_all): New extern variable.
4310 (grub_file_filters_enabled): Likewise.
4311 (grub_file_filter_register): New inline function.
4312 (grub_file_filter_unregister): Likewise.
4313 (grub_file_filter_disable): Likewise.
4314 (grub_file_filter_disable_compression): Likewise.
4315 * include/grub/gzio.h: Removed.
4316
35ee15e0
BC
43172010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4318
4319 Filename expansion support for wildcards in GRUB script.
4320
4321 * tests/grub_script_expansion.in: New test.
4322 * Makefile.util.def: Rule for new test.
4323
4324 * grub-core/commands/wildcard.c: New file, implements filename
4325 expansion support for GRUB script.
4326 * grub-core/Makefile.core.def: Rule update for regexp.mod.
4327 * grub-core/script/argv.c: Cosmetic changes.
4328 * grub-core/script/execute.c (grub_script_arglist_to_argv):
4329 Refactored to perform wildcard expansion on arguments.
4330 * include/grub/script_sh.h (grub_script_wildcard_translator): New
4331 struct.
4332
4333 * tests/util/grub-shell.in: Fix quoting for read input.
4334
5f0c4aca
BC
43352010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4336
4337 Support for updating environment variables with matched substrings
4338 of regexp.
4339
4340 * tests/grub_cmd_regexp.in: New test.
4341 * Makefile.util.def: Rule for new test.
4342
4343 * grub-core/commands/regexp.c: New option -s to update environment
4344 variables with regexp matches.
4345
3759a35f
SJ
43462010-09-04 Szymon Janc <szymon@janc.net.pl>
4347
4348 * include/grub/file.h (grub_file): New member not_easly_seekable.
4349 (grub_file_seekable): New inline function.
4350 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
4351 easily seekable.
4352 (grub_gzio_open): Set not_easly_seekable.
4353 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
4354 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
4355
ed8c6dec
BC
43562010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4357
4358 Support for options to appear multiple times on cmdline.
4359
4360 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
4361 * grub-core/commands/extcmd.c: Support for repeatable option.
4362 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
4363 repeatable option support.
4364
4365 Refactor menuentry into a regular command.
4366
4367 * grub-core/commands/menuentry.c: New file, menuentry command
4368 implementation.
4369 * grub-core/Makefile.core.def: Rule update for normal.mod.
4370 * grub-core/normal/main.c: Moved menuentry creation to
4371 grub-core/commands/menuentry.c.
4372 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
4373 (grub_menu_execute_entry_real): Removed.
4374 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
4375 function.
4376 (grub_script_execute_menuentry): Removed.
4377 * grub-core/script/parser.y (menuentry): Removed.
4378 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
4379 * grub-core/script/yylex.l (menuentry): Removed.
4380 * include/grub/menu.h (grub_menu_init): New prototype.
4381 (grub_menu_fini): New prototype.
4382 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
4383 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
4384 (grub_script_execute_sourcecode): New prototype.
4385
dacd0cf0
BC
43862010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4387
4388 "return" command for GRUB script functions.
4389
4390 * tests/grub_script_return.in: New test.
4391 * Makefile.util.def: Rules for new test.
4392
4393 * grub-core/script/execute.c (grub_script_return): New function.
4394 * grub-core/script/main.c: Register/unregister return commaond.
4395 * include/grub/script_sh.h (grub_script_return): New prototype.
4396
52e72f9d
BC
43972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4398
4399 "setparams" command to update positional parameters.
4400
4401 * tests/grub_script_setparams.in: New test.
4402 * Makefile.util.def: Rules for new test.
4403
4404 * grub-core/script/argv.c (grub_script_argv_make): New function.
4405 * grub-core/script/execute.c (replace_scope): New function.
4406 (grub_script_setparams): New function.
4407 * grub-core/script/lexer.c: Remove unused variables.
4408 * grub-core/script/main.c: Register/unregister setparams command.
4409 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
4410 (grub_script_setparams): New prototype.
4411
25b60c91
BC
44122010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4413
4414 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
4415 grub_free order.
4416
37e7bf68
BC
44172010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4418
4419 Support for passing block of commands as an argument to extcmds.
4420
4421 * Makefile.util.def: Rules for new test.
4422 * tests/grub_script_blockarg.in: New test.
4423 * grub-core/tests/test_blockarg.c: New file, block argument
4424 command used in the test.
4425
4426 * include/grub/extcmd.h (grub_extcmd_context): New struct.
4427 (grub_register_extcmd_prio): New function prototype.
4428 (grub_extcmd_dispatcher): New function prototype.
4429 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
4430 type.
4431 * include/grub/script_sh.h (struct grub_script): New members
4432 `children', `next_siblings' and `refcnt' for block arguments and
4433 reference counting.
4434 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
4435 (grub_script_arg): New member `script' for block argument.
4436 (grub_script_argv): New member `script' for block argument.
4437 (grub_parser_param): New member `scripts' for block argument.
4438 (grub_script_mem_free): New extern function prototype.
4439 (grub_script_ref): New function prototype.
4440 (grub_script_unref): New function prototype.
4441
4442 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
4443 extcmd form to support block arguments.
4444 * grub-core/script/argv.c: Block arguments support.
4445 * grub-core/script/execute.c: Likewise.
4446 * grub-core/script/lexer.c: Likewise.
4447 * grub-core/script/main.c: Likewise.
4448 * grub-core/script/script.c: Likewise.
4449 * grub-core/script/parser.y: Likewise. New `block' and `block0'
4450 non-terminals.
4451
4452 * grub-core/commands/acpi.c: Update extcmd implementations with
4453 grub_extcmd_context_t.
4454 * grub-core/commands/cat.c: Likewise.
4455 * grub-core/commands/echo.c: Likewise.
4456 * grub-core/commands/extcmd.c: Likewise.
4457 * grub-core/commands/hashsum.c: Likewise.
4458 * grub-core/commands/hdparm.c: Likewise.
4459 * grub-core/commands/help.c: Likewise.
4460 * grub-core/commands/hexdump.c: Likewise.
4461 * grub-core/commands/i386/cpuid.c: Likewise.
4462 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4463 * grub-core/commands/i386/pc/halt.c: Likewise.
4464 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4465 * grub-core/commands/iorw.c: Likewise.
4466 * grub-core/commands/keystatus.c: Likewise.
4467 * grub-core/commands/loadenv.c: Likewise.
4468 * grub-core/commands/ls.c: Likewise.
4469 * grub-core/commands/lspci.c: Likewise.
4470 * grub-core/commands/memrw.c: Likewise.
4471 * grub-core/commands/probe.c: Likewise.
4472 * grub-core/commands/search_wrap.c: Likewise.
4473 * grub-core/commands/setpci.c: Likewise.
4474 * grub-core/commands/sleep.c: Likewise.
4475 * grub-core/disk/loopback.c: Likewise.
4476 * grub-core/hello/hello.c: Likewise.
4477 * grub-core/loader/i386/bsd.c: Likewise.
4478 * grub-core/loader/xnu.c: Likewise.
4479 * grub-core/term/gfxterm.c: Likewise.
4480 * grub-core/term/serial.c: Likewise.
4481 * grub-core/tests/lib/functional_test.c: Likewise.
4482
888d1500
BC
44832010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4484
4485 Multi-line quoted strings support.
4486
4487 * grub-core/script/lexer.c (append_newline): Removed.
4488 (grub_script_lexer_yywrap): Refactored.
4489 (grub_script_lexer_init): Refactored.
4490 * grub-core/script/yylex.l (yywrap): New function.
4491 (grub_lexer_resplit): New function.
4492 (grub_lexer_unput): New function.
4493 * include/grub/script_sh.h (grub_lexer_param): New members, unput
4494 and resplit.
4495 * tests/grub_script_echo1.in: Added few more testcases.
4496
dda060dd
VS
44972010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 * grub-core/kern/misc.c: Don't add abort alias in utils.
4500 Reported by: echoline.
4501
6556eba9
BC
45022010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
4503
4504 Add missing files into "make dist" tarball for other platforms.
4505
4506 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
4507 * conf/Makefile.common (dist_noinst_DATA): New variable.
4508 * conf/Makefile.extra-dist: Added missing make dist files.
4509 * grub-core/Makefile.core.def: Likewise.
4510
c8e7bf5f
VS
45112010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 Compress grub_prefix.
4514
4515 * grub-core/boot/i386/pc/lnxboot.S: Use
4516 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
4517 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
4518 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
4519 GRUB_MACHINE_PREFIX_END. All users updated.
4520 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
4521 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
4522 + 0x40.
4523 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4524 * util/grub-mkimage.c (image_target_desc): Change data_end to
4525 prefix_end. All users updated.
4526
a7c00cdb
VS
45272010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
4530 value.
4531 (grub_openbsd_boot): Likewise.
4532 (grub_netbsd_boot): Likewise.
4533 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
4534 (grub_xnu_boot): Likewise.
4535
9f915872
VS
45362010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 * configure.ac: Clean LIBS variable after tests.
4539
efa1bee7
CW
45402010-09-02 Colin Watson <cjwatson@ubuntu.com>
4541
4542 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
4543
61d720e5
VS
45442010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
4547 echo if libdevmapper will be used.
4548
ef8e0ec8
IT
45492010-09-02 Ian Turner <Ian.Turner@deshaw.com>
4550
4551 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
4552 constant for the same file.
4553
03e261d8
VS
45542010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
4557
c2a4eba6
CW
45582010-09-02 Colin Watson <cjwatson@ubuntu.com>
4559
4560 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
4561 grub-core/*.pp.
4562
9056cbf3
CW
45632010-09-02 Colin Watson <cjwatson@ubuntu.com>
4564
4565 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
4566 required by the boot protocol.
4567
4568 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
4569 ebp and edi members.
4570 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
4571 state.ebp and state.edi.
4572 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
4573 %ebp and %edi according to grub_relocator32_ebp and
4574 grub_relocator32_edi respectively.
4575 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
4576 and state.edi.
4577
529cc99a
VS
45782010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 Add i386-pc-pxe image target.
4581
4582 * util/grub-mkimage.c (image_target_desc): New enum value
4583 IMAGE_I386_PC_PXE.
4584 (image_targets): New target i386-pc-pxe.
4585 (generate_image): Handle i386-pc-pxe image.
4586
9a093920
VS
45872010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 Fix grub_pxe_scan.
4590
4591 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
4592 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
4593 All users updated.
4594 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
4595 (grub_pxe_pxenv): Correct type.
4596
f9cefc4e
CW
45972010-09-01 Colin Watson <cjwatson@ubuntu.com>
4598
4599 * NEWS: Document most of the important changes since 1.98.
4600
4066f57f
CW
46012010-09-01 Colin Watson <cjwatson@ubuntu.com>
4602
4603 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
4604 generated manual page) a little.
4605
da2891f9
CW
46062010-09-01 Colin Watson <cjwatson@ubuntu.com>
4607
4608 * docs/grub.texi: Add myself as an author.
4609
ad717fae
VS
46102010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * Makefile.util.def (libgrub.a): Add missing sunpc.
4613 Reported by: Seth Goldberg.
4614
eefe8abd
VS
46152010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 Interrupt wrapping and code simplifications.
4618
9494ef9a
VS
4619 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
4620 x86_noieee1275 which are functionaly equivalent in this case.
4621 (grub-install): Make source on each platform explicit. Enable on
4622 all noemu.
4623 * gentpl.py (x86_efi_pc): Removed group.
4624 (x86_noefi): Likewise.
4625 (i386_noefi): Likewise.
4626 (x86_noieee1275): Likewise.
4627 (i386_noieee1275): Likewise.
4628 (i386_noefi_noieee1275): Likewise.
4629 (i386_pc_qemu_coreboot): Likewise.
4630 (i386_coreboot_multiboot): Likewise.
4631 (i386_pc_coreboot_multiboot_qemu): Likewise.
4632 (x86_noefi_mips): Likewise.
4633 (noieee1275): Likewise.
4634 (ieee1275_mips): Likewise.
4635 (noemu_noieee1275): Likewise.
4636 (cmos): New group.
4637 (usb): Likewise.
4638 (videoinkernel): Likewise.
4639 (videomodules): Likewise.
eefe8abd 4640 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
4641 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
4642 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
4643 include/grub/loader.h, include/grub/msdos_partition.h,
4644 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
4645 include/grub/machine/console.h, include/grub/machine/vga.h,
4646 include/grub/machine/vbe.h, include/grub/machine/init.h,
4647 include/grub/machine/kernel.h, include/grub/cpu/time.h,
4648 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 4649 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
4650 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
4651 * grub-core/Makefile.core.def (kernel): Explicit the source for
4652 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
4653 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
4654 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
4655 Use videoinkernel tag.
4656 (usb): Enable on all usb.
4657 (usbserial_common): Likewise.
4658 (usbserial_pl2303): Likewise.
4659 (usbserial_ftdi): Likewise.
4660 (uhci): Enable on all x86.
4661 (ohci): Enable on all pci.
4662 (cmostest): Enable on all CMOS.
4663 (acpi): Include commands/acpi.c on all platforms.
4664 (halt): Add relevant lib/*/halt.c.
4665 (hdparm): Enable on all pci.
4666 (lspci): Likewise.
4667 (usbtest): Enable on all usb.
4668 (ata): Enable on all pci.
4669 (ata_pthru): Likewise.
4670 (usbms): Enable on all usb.
4671 (usb_keyboard): Likewise.
4672 (font): Use tag videomodules.
4673 (bufio): Likewise.
4674 (datetime): Use tag cmos. Enable on all noemu.
4675 (mmap): Use tags common and x86.
4676 (gfxterm): Use tag videomodules.
4677 (bitmap): Likewise.
4678 (bitmap_scale): Likewise.
4679 (video_fb): Likewise.
4680 (video): Likewise.
4681 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
4682 adjust padding accordingly. All users updated.
4683 (grub_ohci_transaction): Fix bad format specification.
4684 (GRUB_MOD_INIT): Add asserts for struct size.
4685 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
4686 (grub_alloc_td): Likewise.
4687 (grub_free_queue): Likewise.
4688 (grub_uhci_transfer): Likewise.
4689 (grub_uhci_transaction): Fix bad format specification.
4690 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
4691 (grub_usb_bulk_readwrite): Likewise.
4692 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
4693 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
4694 Made static.
4695 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
4696 Made static.
4697 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
4698 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
4699 Transformed into C.
4700 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
4701 Moved from here ...
4702 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
4703 ... here. Transformed into C. Made static.
4704 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
4705 Moved from here ...
4706 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
4707 ... here. Transformed into C. Made static.
4708 * grub-core/kern/i386/pc/startup.S
4709 (grub_biosdisk_check_int13_extensions): Moved from here ...
4710 * grub-core/disk/i386/pc/biosdisk.c
4711 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
4712 Made static.
4713 * grub-core/kern/i386/pc/startup.S
4714 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
4715 * grub-core/disk/i386/pc/biosdisk.c
4716 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
4717 Transformed into C. Made static.
4718 * grub-core/kern/i386/pc/startup.S
4719 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
4720 * grub-core/disk/i386/pc/biosdisk.c
4721 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
4722 Transformed into C. Made static.
4723 * grub-core/kern/i386/pc/startup.S
4724 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
4725 * grub-core/disk/i386/pc/biosdisk.c
4726 (grub_biosdisk_get_diskinfo_standard): ... here.
4727 Transformed into C. Made static.
4728 * grub-core/kern/i386/pc/startup.S
4729 (grub_biosdisk_get_num_floppies): Moved from here ...
4730 * grub-core/disk/i386/pc/biosdisk.c
4731 (grub_biosdisk_get_num_floppies): ... here.
4732 Transformed into C. Made static.
4733 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
4734 New function.
4735 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
4736 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
4737 Transformed into C. Made static.
4738 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
4739 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
4740 Transformed into C. Made static.
4741 * grub-core/kern/i386/ieee1275/init.c: Removed.
4742 * grub-core/kern/i386/misc.S: Likewise.
4743 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
4744 Splitted from here ...
4745 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
4746 Transformed into C. Made static. All users updated.
4747 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
4748 Transformed into C. Made static. All users updated.
4749 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
4750 Moved from here...
4751 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
4752 Transformed into C. Made static. All users updated.
4753 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
4754 Moved from here...
4755 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
4756 Transformed into C. Made static. All users updated.
4757 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
4758 Removed (replaced by C version).
4759 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
4760 Moved from here...
4761 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
4762 Transformed into C. Made static.
4763 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
4764 Moved from here...
4765 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
4766 ... here. Transformed into C.
4767 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
4768 Moved from here...
4769 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
4770 ... here. Transformed into C.
4771 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
4772 Moved from here...
4773 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
4774 ... here. Transformed into C. Made static.
4775 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
4776 Moved from here...
4777 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
4778 ... here. Transformed into C.
21ed554b
VS
4779 * grub-core/kern/i386/pc/startup.S
4780 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
4781 * grub-core/video/i386/pc/vbe.c
4782 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
4783 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
4784 Moved from here...
4785 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
4786 ... here. Transformed into C.
4787 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
4788 Moved from here...
4789 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
4790 ... here. Transformed into C.
4791 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
4792 Moved from here...
4793 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
4794 ... here. Transformed into C.
4795 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
4796 Moved from here...
4797 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
4798 ... here. Transformed into C.
4799 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
4800 Moved from here...
4801 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
4802 ... here. Transformed into C. Made static.
4803 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
4804 Moved from here...
4805 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
4806 ... here. Transformed into C. Made static.
4807 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
4808 Moved from here...
4809 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
4810 ... here. Transformed into C. Made static.
4811 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
4812 pxe_rm_entry as third argument.
4813 (grub_bios_interrupt): New function.
4814 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
4815 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
4816 of calling grub_stop.
4817 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
4818 * grub-core/lib/efi/halt.c (grub_halt): ...here.
4819 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
4820 * grub-core/lib/emu/halt.c (grub_halt): ... here.
4821 * grub-core/lib/i386/halt.c: Moved from here ...
4822 * grub-core/lib/i386/halt.c: ... here.
4823 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
4824 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
4825 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
4826 grub_stop_floppy.
4827 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
4828 * include/grub/i386/coreboot/init.h: Removed.
4829 * include/grub/i386/multiboot/init.h: Likewise.
4830 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
4831 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
4832 * include/grub/i386/pc/int.h: New file.
4833 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
4834 (grub_pxe_scan): Removed.
4835 (grub_pxe_call): Update prototype.
4836 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
4837 prototypes.
4838 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
4839 * include/grub/i386/qemu/init.h: Removed.
4840 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
4841 noreturn.
4842 (grub_halt): Likewise.
4843 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
4844 (grub_reboot): Likewise.
4845 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
4846 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
4847 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
4848
215dd471
RM
48492010-08-30 Robert Millan <rmh@gnu.org>
4850
4851 * NEWS: Document addition of ZFS support in `grub-install' and
4852 `grub-mkconfig'.
4853
ebd65b82
BC
48542010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
4855
4856 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
4857 dprintf output.
4858
11721d19
VS
48592010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 Remove leftover embedding of font objects.
4862
4863 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4864 * util/grub-install.in (font): Removed.
4865 * util/grub-mkimage.c (generate_image): Remove font support. All users
4866 updated.
4867
37837d4e
VS
48682010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 Remove leftover embedding of font objects.
4871
4872 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4873 * util/grub-install.in (font): Removed.
4874 * util/grub-mkimage.c (generate_image): Remove font support. All users
4875 updated.
4876
b4c1aae0
VS
48772010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 4880 Reported by: Ian Turner
b4c1aae0 4881
8920a08d
VS
48822010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
4885 timeout to avoid indefinite boot stalling.
4886
f21db033
VS
48872010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
4890 (grub_env_write_color_highlight): Likewise.
4891
9a9de209
VS
48922010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 * grub-core/normal/term.c (print_more): Return to normal and not
4895 to standard state after printing "---MORE---".
4896
3dca01d7
VS
48972010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
4900 Mask out the bit 0x80 since it has other meaning that specifiing color.
4901
0b986c40
VS
49022010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 New relocator. Allows for more kernel support and more straightforward
4905 loader writing.
4906
4907 * Makefile.am (BOOTTARGET): New variable.
4908 (QEMU32): Likewise.
4909 (linux.init.x86_64): New target.
4910 (linux.init.i386): Likewise.
4911 (multiboot.elf): Likewise.
4912 (kfreebsd.elf): Likewise.
4913 (kfreebsd.aout): Likewise.
4914 (pc-chainloader.elf): Likewise.
4915 (pc-chainloader.bin): Likewise.
4916 (ntldr.elf): Likewise.
4917 (ntldr.bin): Likewise.
4918 (multiboot2.elf): Likewise.
4919 (kfreebsd.init.x86_64): Likewise.
4920 (kfreebsd.init.i386): Likewise.
4921 (knetbsd.init.i386): Likewise.
4922 (kopenbsd.init.i386): Likewise.
4923 (knetbsd.init.x86_64): Likewise.
4924 (kopenbsd.init.x86_64): Likewise.
4925 (linux-initramfs.i386): Likewise.
4926 (linux-initramfs.x86_64): Likewise.
4927 (kfreebsd-mfsroot.i386.img): Likewise.
4928 (knetbsd.image.i386): Likewise.
4929 (kopenbsd.image.i386): Likewise.
4930 (kopenbsd.image.x86_64): Likewise.
4931 (knetbsd.miniroot-image.i386.img): Likewise.
4932 (kfreebsd-mfsroot.x86_64.img): Likewise.
4933 (knetbsd.image.x86_64): Likewise.
4934 (knetbsd.miniroot-image.x86_64.img): Likewise.
4935 (kfreebsd-mfsroot.i386.gz): Likewise.
4936 (bootcheck-kfreebsd-i386): Likewise.
4937 (kfreebsd-mfsroot.x86_64.gz): Likewise.
4938 (bootcheck-kfreebsd-x86_64): Likewise.
4939 (knetbsd.miniroot-image.i386.gz): Likewise.
4940 (bootcheck-knetbsd-i386): Likewise.
4941 (bootcheck-kopenbsd-i386): Likewise.
4942 (bootcheck-kopenbsd-x86_64): Likewise.
4943 (knetbsd.miniroot-image.x86_64.gz): Likewise.
4944 (bootcheck-knetbsd-x86_64): Likewise.
4945 (bootcheck-linux-i386): Likewise.
4946 (bootcheck-linux-x86_64): Likewise.
4947 (bootcheck-linux16-i386): Likewise.
4948 (bootcheck-linux16-x86_64): Likewise.
4949 (bootcheck-multiboot): Likewise.
4950 (bootcheck-multiboot2): Likewise.
4951 (bootcheck-kfreebsd-aout): Likewise.
4952 (bootcheck-pc-chainloader): Likewise.
4953 (bootcheck-ntldr): Likewise.
4954 (CLEANFILES): Add new targets.
4955 (BOOTCHECKS): New variable.
4956 (.PHONY): Add bootchecks.
4957 (SUCCESSFUL_BOOT_STRING): New variable.
4958 (BOOTCHECK_TIMEOUT): Likewise.
4959 (bootcheck): New target
4960 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
4961 * configure.ac: Correct efiemu excuse.
4962 * docs/grub.texi (Supported kernels): New chapter.
4963 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
4964 include/grub/mm_private.h. Simplify inclusion of
4965 include/grub/boot.h, include/grub/loader.h
4966 and include/grub/msdos_partition.h
4967 (KERNEL_HEADER_FILES) [i386_coreboot]:
4968 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
4969 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
4970 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
4971 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
4972 include/grub/machine/loader.h.
4973 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
4974 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
4975 extra_dist.
4976 (pci.mod): Enable on i386-multiboot.
4977 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
4978 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
4979 i386-qemu.
4980 (relocator.mod): Rewritten.
4981 (aout.mod): Enable on all x86.
4982 (bsd.mod): Likewise.
4983 (ntldr.mod): New module.
4984 (linux.mod): Use loader/i386/linux.c on all x86.
4985 (xnu.mod): Enable on all x86.
4986 (vga_text.mod): disable on EFI and QEMU.
4987 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
4988 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
4989 * grub-core/efiemu/loadcore.c: Likewise.
4990 * grub-core/efiemu/main.c: Likewise.
4991 (grub_efiemu_exit_boot_services): Removed.
4992 (grub_efiemu_finish_boot_services): Likewise.
4993 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
4994 function.
4995 * grub-core/efiemu/i386/nocfgtables.c: New file.
4996 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
4997 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
4998 (grub_efi_finish_boot_services): Moved from here ...
4999 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
5000 Fille finish memory map and related data.
5001 (finish_mmap_buf): New variable.
5002 (grub_efi_uintn_t finish_mmap_size): Likewise.
5003 (grub_efi_uintn_t finish_key): Likewise.
5004 (grub_efi_uintn_t finish_desc_size): Likewise.
5005 (grub_efi_uint32_t finish_desc_version): Likewise.
5006 (grub_efi_is_finished): Likewise.
5007 (grub_efi_get_memory_map): Use saved memory map if EFI is already
5008 finished.
5009 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
5010 (grub_elf64_phdr_iterate): Likewise.
5011 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
5012 (grub_os_area_size): Likewise.
5013 (grub_machine_init): Don't reserve os area.
5014 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
5015 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5016 * grub-core/kern/i386/loader.S: Removed.
5017 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
5018 (grub_os_area_size): Likewise.
5019 (grub_machine_init): Don't reserve os area.
5020 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5021 Don't call grub_dl_unload_all.
5022 Don't include loader.S.
5023 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5024 Declare the memory after _end as available.
5025 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 5026 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 5027 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
5028 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
5029 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
5030 * include/grub/mm_private.h (grub_mm_header): ... here.
5031 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
5032 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
5033 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
5034 (grub_mm_region): ..here. Removed addr. Added pre_size.
5035 All users updated.
5036 * grub-core/kern/mm.c (base): Renamed to ...
5037 (grub_mm_base): ... this. Made global.
5038 (grub_real_malloc): Alloc from end of region.
5039 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
5040 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
5041 * grub-core/kern/powerpc/cache_flush.S: ... here.
5042 * grub-core/lib/efi/relocator.c: New file.
5043 * grub-core/lib/i386/relocator.c: Rewritten.
5044 * grub-core/lib/i386/relocator16.S: New file.
5045 * grub-core/lib/i386/relocator32.S: Likewise.
5046 * grub-core/lib/i386/relocator64.S: Likewise.
5047 * grub-core/lib/i386/relocator_asm.S: Rewritten.
5048 * grub-core/lib/i386/relocator_common.S: New file.
5049 * grub-core/lib/ieee1275/relocator.c: Likewise.
5050 * grub-core/lib/mips/relocator.c: Rewritten.
5051 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
5052 stylistic adjustments.
5053 * grub-core/lib/powerpc/relocator.c: New file.
5054 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
5055 * grub-core/lib/relocator.c: Rewritten.
5056 * grub-core/lib/x86_64/relocator_asm.S: New file.
5057 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
5058 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
5059 (bsd_tag): New struct.
5060 (tags): New variable.
5061 (tags_last): Likewise.
5062 (netbsd_module): New struct.
5063 (netbsd_mods): New variable.
5064 (netbsd_mods_last): Likewise.
5065 (openbsd_opts): New parameter "serial".
5066 (OPENBSD_SERIAL_ARG): New definition.
5067 (netbsd_opts): New parameter "serial".
5068 (NETBSD_SERIAL_ARG): New definition.
5069 (grub_freebsd_add_meta): Reorganised into ...
5070 (grub_bsd_add_meta): ...this. All users updated.
5071 (grub_freebsd_add_mmap): Reorganised into ...
5072 (generate_e820_mmap): ...this...
5073 (grub_bsd_add_mmap): ...and this. All users updated.
5074 (grub_freebsd_list_modules): Use tags.
5075 (grub_netbsd_add_meta_module): New function.
5076 (grub_netbsd_list_modules): Likewise.
5077 (grub_freebsd_boot): Use relocator and finish EFI.
5078 (grub_openbsd_boot): Likewise.
5079 (grub_netbsd_setup_video): New function.
5080 (grub_netbsd_add_modules): Likewise.
5081 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
5082 and finish EFI.
5083 (grub_bsd_unload): Unload tags.
5084 (grub_bsd_load_aout): Use relocator.
5085 (grub_bsd_elf32_size_hook): New function.
5086 (grub_bsd_elf32_hook): Use relocator.
5087 (grub_bsd_elf64_size_hook): New function.
5088 (grub_bsd_elf64_hook): Use relocator.
5089 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
5090 (grub_bsd_load): Zero-out openbsd_ramdisk.
5091 (grub_bsd_load): Use relocator.
5092 (grub_cmd_openbsd): Support serial.
5093 (grub_cmd_netbsd): Support modules.
5094 (grub_cmd_freebsd_module): Use relocator.
5095 (grub_netbsd_module_load): New function.
5096 (grub_cmd_netbsd_module): Likewise.
5097 (grub_cmd_openbsd_ramdisk): Likewise.
5098 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
5099 kopenbsd_ramdisk.
5100 (GRUB_MOD_FINI): Unregister new commands.
5101 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
5102 (grub_freebsd_load_elfmodule_obj): Use relocator.
5103 (grub_freebsd_load_elfmodule): Likewise.
5104 (grub_freebsd_load_elf_meta): Likewise.
5105 (grub_netbsd_load_elf_meta): New function.
5106 (grub_openbsd_find_ramdisk): Likewise.
5107 * grub-core/loader/i386/bsd_helper.S: Removed.
5108 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
5109 * grub-core/loader/i386/bsd_trampoline.S: Removed.
5110 * grub-core/loader/i386/efi/linux.c: Likewise.
5111 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
5112 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
5113 (DEFAULT_VIDEO_MODE): Likewise.
5114 (real_mode_target): New variable.
5115 (prot_mode_target): Likewise.
5116 (initrd_mem_target): Likewise.
5117 (relocator): Likewise.
5118 (efi_mmap_buf): Likewise.
5119 (efi_mmap_size): Likewise.
5120 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
5121 (free_pages): Use relocator.
5122 (allocate_pages): Account for efi_mmap and use relocator. Return error.
5123 (grub_linux_setup_video): Return error.
5124 (grub_linux_trampoline_start): Removed.
5125 (grub_linux_trampoline_end): Likewise.
5126 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
5127 andd video parameters depending on firmware.
5128 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
5129 [GRUB_MACHINE_EFI]: Pass EFI parameters.
5130 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
5131 (grub_cmd_initrd): Use relocator.
5132 * grub-core/loader/i386/linux_trampoline.S: Removed.
5133 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
5134 (elf_sec_entsize): Likewise.
5135 (elf_sec_shstrndx): Likewise.
5136 (elf_sections): Likewise.
5137 (grub_multiboot_load): Use relocator.
5138 (grub_multiboot_get_mbi_size): Account for sections.
5139 (grub_multiboot_make_mbi): Use relocator and support sections.
5140 (grub_multiboot_add_elfsyms): New function.
5141 (grub_multiboot_free_mbi): Free sections.
5142 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
5143 (grub_linux_real_target): Likewise.
5144 (grub_linux_real_chunk): Likewise.
5145 (grub_linux16_prot_size): Likewise.
5146 (grub_linux16_boot): Use relocator.
5147 (grub_linux_unload): Unload relocator.
5148 (grub_cmd_linux): Use relocator.
5149 (grub_cmd_initrd): Likewise.
5150 * grub-core/loader/i386/pc/ntldr.c: New file.
5151 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
5152 Don't try to guess CPU frequency.
5153 (grub_xnu_set_video): Stretch bitmap.
5154 (grub_xnu_boot): Use relocator.
5155 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
5156 (grub_linux_unload): Free relocator.
5157 (grub_linux_load32): Use relocator.
5158 (grub_linux_load64): Likewise.
5159 (grub_cmd_initrd): Likewise.
5160 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
5161 (grub_multiboot_unload): Unload relocator.
5162 (grub_cmd_multiboot): Use relocator.
5163 (grub_cmd_module): Likewise.
5164 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
5165 Use relocator and support sections.
5166 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
5167 (elf_sec_entsize): Likewise.
5168 (elf_sec_shstrndx): Likewise.
5169 (elf_sections): Likewise.
5170 (grub_multiboot_load): Use relocator.
5171 (grub_multiboot_get_mbi_size): Account for sections.
5172 (grub_multiboot_make_mbi): Use relocator and support sections.
5173 (grub_multiboot_add_elfsyms): New function.
5174 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
5175 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
5176 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
5177 Prototype changed. All users updated.
5178 (grub_xnu_align_heap): Simplified.
5179 (grub_xnu_writetree_toheap): Likewise.
5180 (grub_xnu_unload): Unload relocator.
5181 (grub_cmd_xnu_kernel): Use relocator.
5182 (grub_cmd_xnu_kernel64): Likewise.
5183 (grub_xnu_register_memory): Simplified.
5184 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
5185 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
5186 EFI is finished.
5187 (grub_console_checkkey): Likewise.
5188 (grub_console_getkey): Likewise.
5189 (grub_console_getwh): Likewise.
5190 (grub_console_getxy): Likewise.
5191 (grub_console_gotoxy): Likewise.
5192 (grub_console_cls): Likewise.
5193 (grub_console_setcolorstate): Likewise.
5194 (grub_console_setcursor): Likewise.
5195 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
5196 * grub-core/tests/boot/kbsd.init-i386.S: New file.
5197 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
5198 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
5199 * grub-core/tests/boot/kernel-8086.S: Likewise.
5200 * grub-core/tests/boot/kernel-i386.S: Likewise.
5201 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
5202 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
5203 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
5204 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
5205 * grub-core/tests/boot/knetbsd.cfg: Likewise.
5206 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
5207 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
5208 * grub-core/tests/boot/linux.cfg: Likewise.
5209 * grub-core/tests/boot/linux.init-i386.S: Likewise.
5210 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
5211 * grub-core/tests/boot/linux16.cfg: Likewise.
5212 * grub-core/tests/boot/multiboot.cfg: Likewise.
5213 * grub-core/tests/boot/multiboot2.cfg: Likewise.
5214 * grub-core/tests/boot/ntldr.cfg: Likewise.
5215 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
5216 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
5217 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
5218 New definition.
5219 * include/grub/dl.h (grub_dl_unload_all): Removed.
5220 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
5221 (grub_efi_finish_boot_services): Change prototype.
5222 (grub_efi_is_finished): New variable.
5223 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
5224 Changed prototype.
5225 (grub_efiemu_finish_boot_services): Removed.
5226 (grub_machine_efiemu_init_tables): New prototype.
5227 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
5228 (grub_elf64_phdr_iterate): Likewise.
5229 * include/grub/i386/bsd.h: Include relocator.h.
5230 (freebsd_tag_header): New struct.
5231 (grub_openbsd_bios_mmap): Removed.
5232 (grub_unix_real_boot): Removed.
5233 (grub_freebsd_load_elfmodule32): Changed prototype.
5234 (grub_freebsd_load_elfmodule_obj64): Likewise.
5235 (grub_freebsd_load_elf_meta32): Likewise.
5236 (grub_freebsd_load_elf_meta64): Likewise.
5237 (grub_freebsd_add_meta): Removed.
5238 (grub_netbsd_load_elf_meta32): New prototype.
5239 (grub_netbsd_load_elf_meta64): Likewise.
5240 (grub_bsd_add_meta): Likewise.
5241 (grub_openbsd_ramdisk_descriptor): New struct.
5242 (grub_openbsd_find_ramdisk32): New prototype.
5243 (grub_openbsd_find_ramdisk64): Likewise.
5244 * include/grub/i386/coreboot/loader.h: Removed.
5245 * include/grub/i386/efi/loader.h: Likewise.
5246 * include/grub/i386/ieee1275/loader.h: Likewise.
5247 * include/grub/i386/linux.h (linux_kernel_header): Change void *
5248 to grub_uint32_t.
5249 * include/grub/i386/loader.h: Removed.
5250 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
5251 value.
5252 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
5253 (grub_phys_addr_t): New type.
5254 (grub_vtop): New inline function.
5255 (grub_map_memory): Likewise.
5256 (grub_unmap_memory): Likewise.
5257 * include/grub/i386/multiboot/loader.h: Removed.
5258 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
5259 (NETBSD_BTINFO_CONSOLE): New definition.
5260 (NETBSD_BTINFO_SYMTAB): Likewise.
5261 (NETBSD_BTINFO_MODULES): Likewise.
5262 (NETBSD_BTINFO_FRAMEBUF): Likewise.
5263 (grub_netbsd_bootinfo): New struct.
5264 (grub_netbsd_btinfo_common): Use explicit bitsize.
5265 (grub_netbsd_btinfo_mmap_entry): Removed.
5266 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
5267 (grub_netbsd_btinfo_bootdisk): New struct.
5268 (grub_netbsd_btinfo_symtab): Likewise.
5269 (grub_netbsd_btinfo_serial): Likewise.
5270 (grub_netbsd_btinfo_modules): Likewise.
5271 (grub_netbsd_btinfo_framebuf): Likewise.
5272 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
5273 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
5274 Likewise.
5275 (grub_openbsd_bootargs): Use explicit bitsize.
5276 (grub_openbsd_bootarg_console): New struct.
5277 (GRUB_OPENBSD_COM_MAJOR): New definition.
5278 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
5279 * include/grub/i386/pc/efiemu.h: Removed.
5280 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
5281 * include/grub/i386/qemu/loader.h: Removed.
5282 * include/grub/i386/relocator.h: Rewritten.
5283 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
5284 * include/grub/mips/memory.h: New file.
5285 * include/grub/mips/multiboot.h: Rewritten.
5286 * include/grub/mips/relocator.h: Rewritten.
5287 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
5288 (grub_vtop): New function.
5289 (grub_map_memory): Likewise.
5290 (grub_unmap_memory): Likewise.
5291 * include/grub/misc.h (ALIGN_DOWN): New definition.
5292 * include/grub/mm.h (grub_mm_check_real): New proto.
5293 (GRUB_MM_CHECK): New definition.
5294 * include/grub/mm_private.h: New file.
5295 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
5296 (grub_multiboot_get_mbi_size): Removed.
5297 (grub_multiboot_make_mbi): Change prottype.
5298 (grub_multiboot_set_accepts_video): New proto.
5299 (grub_multiboot_add_elfsyms): Likewise.
5300 (grub_multiboot_payload_eip): New variable.
5301 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
5302 New prototype.
5303 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
5304 New definition.
5305 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
5306 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
5307 * include/grub/powerpc/ieee1275/loader.h: Removed.
5308 * include/grub/powerpc/memory.h: New file.
5309 * include/grub/powerpc/relocator.h: Likewise.
5310 * include/grub/relocator.h: Likewise.
5311 * include/grub/relocator_private.h: Likewise.
5312 * include/grub/sparc64/ieee1275/loader.h: Removed.
5313 * include/grub/x86_64/memory.h: New file.
5314 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
5315 (grub_xnu_heap_malloc): Likewise.
5316 (grub_xnu_heap_real_start): Removed.
5317 (grub_xnu_heap_start): Likewise.
5318 (grub_xnu_relocator): New variable.
5319 (grub_xnu_heap_target_start): Likewise.
5320 * tests/util/grub-shell.in: Support non-pc.
5321 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 5322
5303b85d
VS
53232010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
5326 on malloc error.
5327 (grub_bidi_logical_to_visual): Check that malloc succeded.
5328 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
5329 puts.
5330 (grub_xputs_normal): Likewise.
5331
d768d159
VS
53322010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
5335 extra_dist.
5336
53372010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/efiemu/runtime/efiemu.sh: Removed.
5340
5bf84df4
VS
53412010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
5344
3626810e
VS
53452010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
5348 dprintf.
5349
a7363f53
BC
53502010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
5351
5352 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
5353
902f75f6
VS
53542010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 * grub-core/normal/term.c (print_more): Fix a memory leak.
5357 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
5358 (grub_xputs_normal): Likewise.
5359
3c707967
VS
53602010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
5363 the begining of the string
5364
2053cc07
VS
53652010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5366
5367 * grub-core/script/script.c (grub_script_parse): Free parsed on
5368 failure.
5369
46422ebf
VS
53702010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
5373 on failure.
5374
9e0fa3f6
VS
53752010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
5378 return.
5379
3393cf16
VS
53802010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
5383 (scroll_up): Fix a memory leak.
5384
b17540cb
VS
53852010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
5388 errors.
5389
67140446
VS
53902010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 Handle USB pendrives exposed as floppies.
5393
5394 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
5395 floppy.
5396 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5397 Check for partitions on all devices.
5398
e35e46fc
VS
53992010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
5402 (readkey): Likewise.
5403
d24c6190
BC
54042010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5405
5406 Multiple variable names support to "export" command.
5407
5408 * normal/context.c (grub_cmd_export): "export" command supports
5409 multiple variable names.
5410
04ddcc6a
ST
54112010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
5412
5413 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
5414 --target=drive output to Mach device name.
5415
0c8b61d8
BC
54162010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5417
5418 New Automake based build system for GRUB.
5419
5420 * ABOUT-NLS: New file.
5421 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
5422 in Makefile.util.def file.
5423 * Makefile.util.def: New file. Autogen build definitions file for
5424 GRUB host utils.
5425 * conf/Makefile.common: New file. Common variables for GRUB host
5426 utils and target modules.
5427 * conf/Makefile.extra-dist: New file. Extra files for make dist.
5428 * docs/Makefile.am: New file. Automake file for docs.
5429 * gentpl.py: New file. Python script to generate Autogen
5430 template.
5431 * grub-core/Makefile.am: New file. GRUB target modules' rules
5432 that doesn't fit in Makefile.core.def file.
5433 * grub-core/Makefile.core.def: New file. Autogen build
5434 definitions file for GRUB target modules.
5435 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
5436 specific setjmp.S file.
5437 * po/Makefile.am: New file.
5438
5439 * .bzrignore: New ignores.
5440 * INSTALL: New requirements, without Ruby.
5441 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
5442 * autogen.sh: Updated to invoke autogen as necessary.
5443 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
5444 and defines for Automake conditionals.
5445 * geninit.sh: Refactoring.
5446
5447 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
5448 necessary.
5449 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
5450 New prototype.
5451
5452 * include/grub/test.h: Fix functional test modules' naming.
5453 * grub-core/tests/example_functional_test.c: Fix test module name.
5454
5455 * util/misc.c: Hosted versions' of grub functions for libgrub.a
5456 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
5457 * util/grub-editenv.c: Likewise.
5458 * util/grub-fstest.c: Likewise.
5459 * util/grub-mkdevicemap.c: Likewise.
5460 * util/grub-mkfont.c: Likewise.
5461 * util/grub-mkimage.c: Likewise.
5462 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5463 * util/grub-probe.c: Likewise.
5464 * util/grub-script-check.c: Likewise.
5465 * util/i386/pc/grub-setup.c: Likewise.
5466 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5467
5468 * tests/util/grub-shell.in: Fix override directory path.
5469 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
5470 * util/import_gcry.py: Create Makefile.gcry.def file instead.
5471
5472 * util/lvm.c: Update #includes.
5473 * util/raid.c: Likewise.
5474 * util/resolve.c: Likewise.
5475 * grub-core/bus/emu/pci.c: Likewise.
5476 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
5477 * grub-core/lib/posix_wrap/string.h: Likewise.
5478 * grub-core/kern/emu/main.c: Likewise.
5479
5480 * grub-core/gensymlist.sh: New file. Script for generating kernel
5481 symbols file.
5482 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
5483
5484 * grub-core/gentrigtables.c: Fix unused variable warnings.
5485
5486 * Makefile.in: Removed.
5487 * conf/any-emu.rmk: Removed.
5488 * conf/common.rmk: Removed.
5489 * conf/i386-coreboot.rmk: Removed.
5490 * conf/i386-efi.rmk: Removed.
5491 * conf/i386-ieee1275.rmk: Removed.
5492 * conf/i386-multiboot.rmk: Removed.
5493 * conf/i386-pc.rmk: Removed.
5494 * conf/i386-qemu.rmk: Removed.
5495 * conf/i386.rmk: Removed.
5496 * conf/mips-yeeloong.rmk: Removed.
5497 * conf/mips.rmk: Removed.
5498 * conf/powerpc-ieee1275.rmk: Removed.
5499 * conf/sparc64-ieee1275.rmk: Removed.
5500 * conf/tests.rmk: Removed.
5501 * conf/x86-efi.rmk: Removed.
5502 * conf/x86_64-efi.rmk: Removed.
5503 * gendistlist.sh: Removed.
5504 * geninitheader.sh: Removed.
5505 * genkernsyms.sh.in: Removed.
5506 * genmk.rb: Removed.
5507 * gensymlist.sh.in: Removed.
5508 * mkinstalldirs: Removed.
5509 * boot: Moved ...
5510 * grub-core/boot: ... to here.
5511 * bus: Moved ...
5512 * grub-core/bus: ... to here.
5513 * commands: Moved ...
5514 * grub-core/commands: ... to here.
5515 * disk: Moved ...
5516 * grub-core/disk: ... to here.
5517 * efiemu: Moved ...
5518 * grub-core/efiemu: ... to here.
5519 * font: Moved ...
5520 * grub-core/font: ... to here.
5521 * fs: Moved ...
5522 * grub-core/fs: ... to here.
5523 * gencmdlist.sh: Moved ...
5524 * grub-core/gencmdlist.sh: ... to here.
5525 * genemuinit.sh: Moved ...
5526 * grub-core/genemuinit.sh: ... to here.
5527 * genemuinitheader.sh: Moved ...
5528 * grub-core/genemuinitheader.sh: ... to here.
5529 * genfslist.sh: Moved ...
5530 * grub-core/genfslist.sh: ... to here.
5531 * genhandlerlist.sh: Moved ...
5532 * grub-core/genhandlerlist.sh: ... to here.
5533 * genmoddep.awk: Moved ...
5534 * grub-core/genmoddep.awk: ... to here.
5535 * genmodsrc.sh: Moved ...
5536 * grub-core/genmodsrc.sh: ... to here.
5537 * genpartmaplist.sh: Moved ...
5538 * grub-core/genpartmaplist.sh: ... to here.
5539 * genparttoollist.sh: Moved ...
5540 * grub-core/genparttoollist.sh: ... to here.
5541 * genterminallist.sh: Moved ...
5542 * grub-core/genterminallist.sh: ... to here.
5543 * gentrigtables.c: Moved ...
5544 * grub-core/gentrigtables.c: ... to here.
5545 * genvideolist.sh: Moved ...
5546 * grub-core/genvideolist.sh: ... to here.
5547 * gettext: Moved ...
5548 * grub-core/gettext: ... to here.
5549 * gfxmenu: Moved ...
5550 * grub-core/gfxmenu: ... to here.
5551 * gnulib: Moved ...
5552 * grub-core/gnulib: ... to here.
5553 * hello: Moved ...
5554 * grub-core/hello: ... to here.
5555 * hook: Moved ...
5556 * grub-core/hook: ... to here.
5557 * io: Moved ...
5558 * grub-core/io: ... to here.
5559 * kern: Moved ...
5560 * grub-core/kern: ... to here.
5561 * lib: Moved ...
5562 * grub-core/lib: ... to here.
5563 * loader: Moved ...
5564 * grub-core/loader: ... to here.
5565 * mmap: Moved ...
5566 * grub-core/mmap: ... to here.
5567 * normal: Moved ...
5568 * grub-core/normal: ... to here.
5569 * partmap: Moved ...
5570 * grub-core/partmap: ... to here.
5571 * parttool: Moved ...
5572 * grub-core/parttool: ... to here.
5573 * script: Moved ...
5574 * grub-core/script: ... to here.
5575 * term: Moved ...
5576 * grub-core/term: ... to here
5577 * tests/example_functional_test.c: Moved ...
5578 * grub-core/tests/example_functional_test.c: ... to here.
5579 * tests/lib/functional_test.c: Moved ...
5580 * grub-core/tests/lib/functional_test.c: ... to here.
5581 * tests/lib/test.c: Moved ...
5582 * grub-core/tests/lib/test.c: ... to here.
5583 * video: Moved ...
5584 * grub-core/video: ... to here.
5585
645586e6
BC
55862010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5587
5588 Replace --enable-grub-emu-modules with grub-emu-lite.
5589
5590 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
5591 cache.S.
5592
5593 * include/grub/emu/misc.h (grub_emu_init): New prototype.
5594 * kern/emu/full.c: New file. For grub-emu specific initialization.
5595 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
5596 * kern/emu/main.c: Call initialization function grub_emu_init.
5597
5598 * Makefile.in: Include grub-emu-lite in install.
5599 * commands/parttool.c: Use grub_no_autoload to differentiate
5600 between grub-emu and grub-emu-lite.
5601 * include/grub/misc.h: New variable grub_no_autoload.
5602
5603 * conf/any-emu.rmk: New rules for grub-emu-lite.
5604 * configure.ac: Remove --enable-grub-emu-modules.
5605 * genmk.rb: Cleanup unnecessary rules.
5606 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
5607
5608 * normal/main.c: Don't load list files on grub-emu-lite.
5609 * util/misc.c (grub_arch_sync_caches): Removed.
5610
f86a4030
CW
56112010-08-23 Colin Watson <cjwatson@ubuntu.com>
5612
5613 * kern/mips/startup.S (grub_prefix): Update comment to refer to
5614 grub-mkimage rather than grub-mkelfimage.
5615 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5616
06776944
VS
56172010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
5620 a key after CapsLock or NumLock. It's just a qemu bug.
5621
df262419
VS
56222010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
5625 needed by libusb wrapper.
5626
b40ea81b
ST
56272010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5628
5629 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
5630
dee50575
VS
56312010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
5634 --nounzip is passed.
5635
fb1d7b79
VS
56362010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 USB hotunplugging and USB serial support.
5639
5640 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
5641 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
5642 (grub_uhci_transfer): Respect timeout and set *actual.
5643 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
5644 non-standard length.
5645 (grub_usb_device_attach): Autoload modules.
5646 (GRUB_MOD_INIT): Set grub_term_poll_usb.
5647 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
5648 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
5649 users updated.
5650 (grub_usb_add_hub): Fill nports and children.
5651 (attach_root_port): Receive hub instead of controller.
5652 All users updated. Fill hub->devices.
5653 (grub_usb_root_hub): Allocate hub->devices.
5654 (detach_device): New function.
5655 (poll_nonroot_hub): Fill children and detach devices.
5656 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
5657 actual arguments. All users updated.
5658 (grub_usb_bulk_read_extended): New function.
5659 * bus/usb/serial/common.c: New file.
5660 * bus/usb/serial/ftdi.c: Likewise.
5661 * bus/usb/serial/pl2303.c: Likewise.
5662 * commands/terminal.c (handle_command): Support wildcard.
5663 * commands/usbtest.c: Output "Unknown" instead of empty string.
5664 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
5665 (usbserial_common_mod_SOURCES): New variable.
5666 (usbserial_common_mod_CFLAGS): Likewise.
5667 (usbserial_common_mod_LDFLAGS): Likewise.
5668 (pkglib_MODULES): Add usbserial_pl2303.mod.
5669 (usbserial_pl2303_mod_SOURCES): New variable.
5670 (usbserial_pl2303_mod_CFLAGS): Likewise.
5671 (usbserial_pl2303_mod_LDFLAGS): Likewise.
5672 (pkglib_MODULES): Add usbserial_ftdi.mod.
5673 (usbserial_ftdi_mod_SOURCES): New variable.
5674 (usbserial_ftdi_mod_CFLAGS): Likewise.
5675 (usbserial_ftdi_mod_LDFLAGS): Likewise.
5676 (pkglib_MODULES): Add serial.mod.
5677 (serial_mod_SOURCES): New variable.
5678 (serial_mod_CFLAGS): Likewise.
5679 (serial_mod_LDFLAGS): Likewise.
5680 * conf/i386-pc.rmk: Likewise.
5681 * conf/mips-yeeloong.rmk: Likewise.
5682 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
5683 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5684 * disk/usbms.c (first_available_slot): New variable.
5685 (grub_usbms_attach): Don't reuse free slots due to potential cache
5686 problems.
5687 * include/grub/serial.h: Moved to ..
5688 * include/grub/ns8250.h: ...this.
5689 * include/grub/serial.h: New file.
5690 * include/grub/term.h (grub_term_poll_usb): New variable.
5691 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
5692 readkey. All users updated.
5693 (grub_terminfo_output_state): Pass term to put.
5694 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
5695 (grub_usb_controller_dev): Add timeout and actual arguments to
5696 transfer. All users updated.
5697 (grub_usb_interface): New field detach_data.
5698 (grub_usb_device): New fields children and nports.
5699 (grub_usb_ep_type_t): New type.
5700 (grub_usb_get_ep_type): New function.
5701 (grub_usb_bulk_read_extended): Likewise.
5702 * include/grub/usbdesc.h (grub_usb_desc): New type.
5703 * include/grub/usbserial.h: New file.
5704 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
5705 * kern/term.c (grub_term_poll_usb): New variable.
5706 (grub_getkey): Call grub_term_poll_usb if set.
5707 (grub_checkkey): Likewise.
5708 (grub_getkeystatus): Likewise.
5709 * term/serial.c: Moved controller-specific parts to ...
5710 * term/ns8250.c: ... here.
5711 * term/serial.c: Mostly rewritten.
5712 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
5713 according to spec.
5714
21a313de
RM
57152010-08-20 Robert Millan <rmh@gnu.org>
5716
5717 Make kFreeBSD code more generic to support ext2fs as root, ufs as
5718 a separate module and maybe other interesting combinations.
5719
5720 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
5721 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
5722 (kfreebsd_entry): Add generic filesystem module load routine.
5723 Map GRUB `ext2' to kFreeBSD `ext2fs'.
5724
63c734a6
CW
57252010-08-20 Colin Watson <cjwatson@ubuntu.com>
5726
5727 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
5728 "numcenter" (I misunderstood the purpose of this entry).
5729 * docs/grub.texi (sendkey): Likewise.
5730
c4d16542
CW
57312010-08-20 Colin Watson <cjwatson@ubuntu.com>
5732
5733 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
5734 status flag options; simply omitting the option is equivalent and
5735 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
5736 (keysym_table): Rename "num5numlock" to "numlock".
5737 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
5738 can uniformly say that only the last of multiple `sendkey'
5739 invocations has any effect.
5740 * docs/grub.texi (sendkey): New section.
5741
93541d66
CW
57422010-08-19 Colin Watson <cjwatson@ubuntu.com>
5743
5744 * commands/i386/pc/sendkey.c (options): Fix three typos.
5745
b4ece5e1
VS
57462010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 Implement sendkey support.
5749
5750 * commands/i386/pc/sendkey.c: New file.
5751 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
5752 (sendkey_mod_SOURCES): New variable.
5753 (sendkey_mod_CFLAGS): Likewise.
5754 (sendkey_mod_LDFLAGS): Likewise.
5755
51f1f5af
CW
57562010-08-18 Colin Watson <cjwatson@ubuntu.com>
5757
5758 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
5759 fix warnings from Autoconf.
5760
9da94e05
CW
57612010-08-18 Colin Watson <cjwatson@ubuntu.com>
5762
5763 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
5764 to avoid false positives with some assemblers that output things
5765 like "someprefix_func" as part of their output.
5766
729a0f2e
RM
57672010-08-15 Robert Millan <rmh@gnu.org>
5768
5769 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
5770 errors.
5771 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
5772 grub_get_libzfs_handle() errors.
5773
f3710e08
RM
57742010-08-14 Robert Millan <rmh@gnu.org>
5775
5776 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
5777 filesystem is not ZFS.
5778
7a3c13de
BC
57792010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5780
5781 Fix for misspelled color names defaulting to black/black (bug
5782 reported by Doug Nazar)
5783
5784 * include/grub/normal.h (grub_parse_color_name_pair): Add return
5785 status to prototype.
5786 * normal/color.c (grub_parse_color_name_pair): Return failure
5787 status.
5788 (grub_env_write_color_normal): Ignore bad color names.
5789 (grub_env_write_color_highlight): Likewise.
5790 * normal/main.c (GRUB_MOD_INIT): Set default color names.
5791
ab8ba50d
BC
57922010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5793
5794 "shift" command support to GRUB script.
5795
5796 * include/grub/script_sh.h (grub_script_shift): New prototype.
5797 * script/execute.c (grub_script_shift): New function.
5798 * script/main.c (grub_script_init): Register shift command.
5799 (grub_script_fini): Unregister shift command.
5800 * util/grub-script-check.c (grub_script_cmd_shift): New function.
5801
5802 * tests/grub_script_shift.in: New testcase.
5803 * conf/tests.rmk: Rules for new testcase.
5804
4d61999e
BC
58052010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5806
5807 "continue" command support to GRUB script.
5808
5809 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
5810 (grub_script_break): Continue support.
5811 * script/main.c (grub_script_init): Register continue command.
5812 (grub_script_fini): Unregister continue command.
5813
5814 * tests/grub_script_continue.in: New testcase.
5815 * conf/tests.rmk: Rules for new testcase.
5816
4df51e00
BC
58172010-08-12 BVK Chaitanya <bvk@dbook>
5818
5819 "break" command support to GRUB script.
5820
5821 * conf/common.rmk: Rule updates to grub-script-check.
5822 * include/grub/misc.h (grub_min): New function.
5823 * include/grub/script_sh.h (grub_script_init): New prototype.
5824 (grub_script_fini): New prototype.
5825 (grub_script_break): New prototype.
5826 * script/main.c (grub_script_init): New function.
5827 (grub_script_fini): New function.
5828 * script/execute.c (grub_script_break): New function.
5829 * normal/main.c: Calls to grub_script_{init,fini}.
5830 * util/grub-script-check.c (grub_script_break): New function.
5831
5832 * tests/grub_script_break.in: New testcase.
5833 * conf/tests.rmk: Rules for new test case.
5834
f12c8420
BC
58352010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5836
5837 Function parameters support to GRUB script.
5838
5839 * script/yylex.l (VARIABLE): Regular expression update.
5840 * script/function.c (grub_script_function_call): Moved ...
5841 * script/execute.c (grub_script_function_call): ... to here.
5842 (grub_script_execute_arglist_to_argv): Removed.
5843 (grub_script_arglist_to_argv): New function.
5844 * script/argv.c: New file.
5845 (grub_script_argv_free): New function.
5846 (grub_script_argv_next): Likewise.
5847 (grub_script_argv_append): Likewise.
5848 (grub_script_argv_split_append): Likewise.
5849 * include/grub/script_sh.h (grub_script_argv): New struct.
5850 (grub_script_argv_free): New function.
5851 (grub_script_argv_next): Likewise.
5852 (grub_script_argv_append): Likewise.
5853 (grub_script_argv_split_append): Likewise.
5854
5855 * conf/common.rmk (normal.mod): New source script/argv.c.
5856
5857 * tests/grub_script_echo1.in: More tests.
5858 * tests/grub_script_vars1.in: Likewise.
5859 * tests/grub_script_functions.in: New test case.
5860 * conf/tests.rmk: Rules for new testcase.
5861
8022b748
BC
58622010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5863
5864 Remove grub_script_cmdblock struct.
5865
5866 * include/grub/script_sh.h: Remove grub_script_cmdblock.
5867 * script/parser.y: Likewise.
5868 * script/execute.c: Rename cmdblock suffix to cmdlist.
5869 * script/script.c: Likewise.
5870 * util/grub-script-check.c: Likewise.
5871
79a6ba61
YB
58722010-08-11 Yves Blusseau <blusseau@zetam.org>
5873
5874 * .bzrignore: add grub-macho2img
5875
d04b9414
VS
58762010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
5879
f947ab49
VS
58802010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 Remove the dump of sm712 initialisation sequence.
5883
5884 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
5885 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
5886 (GRUB_VGA_IO_MISC_WRITE): Likewise.
5887 (GRUB_VGA_CR_*): Added many registers.
5888 (GRUB_VGA_SR_*): Likewise.
5889 (GRUB_VGA_GR_*): Likewise.
5890 (grub_vga_write_arx): New function.
5891 (grub_video_hw_config): New struct.
5892 (grub_vga_set_geometry): New function.
5893 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
5894 GRUB_PCI_CLASS_SUBCLASS_VGA.
5895 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
5896 * video/sm712.c (grub_sm712_write_reg): New function
5897 (grub_sm712_read_reg): Likewise.
5898 (grub_sm712_sr_write): Likewise.
5899 (grub_sm712_gr_write): Likewise.
5900 (grub_sm712_cr_write): Likewise.
5901 (grub_sm712_write_arx): Likewise.
5902 (grub_sm712_cr_shadow_write): Likewise.
5903 (grub_sm712_write_dda_lookup): Likewise.
5904 (grub_video_sm712_setup): Initialise the video rather then
5905 blindly replay the dump.
5906 (main) [TEST]: Add a routine to be able to compile as standalone for
5907 tests.
5908 * video/sm712_init.c (sm712_init): Removed.
5909 (sm712_sr_seq1): New array.
5910 (sm712_sr_seq2): Likewise.
5911
f0206638
VS
59122010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 * include/grub/vga.h: Add missing grub/pci.h include.
5915
2764da3b
YB
59162010-08-10 Yves Blusseau <blusseau@zetam.org>
5917
5918 * util/grub-macho2img.c (main): fix typo
5919
cf0c775e
VS
59202010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
5923 (grub_vga_gr_read): Likewise.
5924 (grub_vga_cr_write): Likewise.
5925 (grub_vga_cr_read): Likewise.
5926 (grub_vga_sr_write): Likewise.
5927 (grub_vga_sr_read): Likewise.
5928 (grub_vga_palette_read): Likewise.
5929 (grub_vga_palette_write): Likewise.
5930 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
5931 (grub_sm712_sr_read): New function.
5932 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
5933 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
5934
07f360e9
RM
59352010-08-09 Robert Millan <rmh@gnu.org>
5936
5937 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
5938 out unused variables on non-ZFS build.
5939
346c2072
RM
59402010-08-08 Robert Millan <rmh@gnu.org>
5941
5942 Fix path generation for sub-filesystems in ZFS.
5943
5944 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
5945 missing slash.
5946
71175420
RM
59472010-08-08 Robert Millan <rmh@gnu.org>
5948
5949 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
5950
0d8286f3
RM
59512010-08-08 Robert Millan <rmh@gnu.org>
5952
5953 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
5954 exist, issue a proper error message (rely on `ls' for translated
5955 strings).
5956
55dd2924
RM
59572010-08-08 Robert Millan <rmh@gnu.org>
5958
5959 Fix grub-probe invocation.
5960
5961 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
5962
d3dd9e80
RM
59632010-08-04 Robert Millan <rmh@gnu.org>
5964
5965 * configure.ac: Remove checks for getfsstat() and getmntany().
5966 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
5967 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
5968 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
5969 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
5970 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
5971 function.
5972 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
5973 via find_mount_point_from_dir() and getfsstat() / getmntany().
5974
0de22aa9
RM
59752010-08-04 Robert Millan <rmh@gnu.org>
5976
5977 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5978 (grub_find_zpool_from_mount_point): Merge into ...
5979 (grub_find_zpool_from_dir): ... this.
5980 * kern/emu/misc.c: Likewise.
5981
5982 * kern/emu/misc.c
5983 (grub_make_system_path_relative_to_its_root): Replace
5984 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
5985 with grub_find_zpool_from_dir().
5986 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
5987
62858144
RM
59882010-08-04 Robert Millan <rmh@gnu.org>
5989
5990 Support OpenSolaris in ZFS device resolution.
5991
5992 * configure.ac: Check for getmntany().
5993 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
5994 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
5995 support.
5996
9dd6fd50
RM
59972010-08-03 Robert Millan <rmh@gnu.org>
5998
5999 Fix grub-emu build.
6000
6001 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
6002 * include/grub/emu/misc.h: ... here.
6003
6004 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
6005 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
6006
6007 * util/misc.c: Remove `<grub/util/libzfs.h>'.
6008 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
6009 (grub_get_libzfs_handle): Move to ...
6010 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
6011 (grub_get_libzfs_handle): ... here.
6012
c9f7ff97
BC
60132010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
6014
6015 * script/execute.c (grub_script_execute_cmdline): Check for NULL
6016 as command name case.
6017
a870a783
CW
60182010-08-02 Colin Watson <cjwatson@ubuntu.com>
6019
6020 * disk/raid.c (insert_array): Select unique numbers for named arrays
6021 as well, for use as keys in the disk cache.
6022
c7db243b
RM
60232010-08-01 Robert Millan <rmh@gnu.org>
6024
6025 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
6026 kFreeBSD device name, except on ZFS where the filesystem label is
6027 used.
6028 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
6029 `/boot/zfs/zpool.cache'.
6030 Set mountfrom kernel variable using ${kfreebsd_device}.
6031
f7abdefb
RM
60322010-08-01 Robert Millan <rmh@gnu.org>
6033
6034 Make it even harder to use uninitialized `libzfs_handle' (and
6035 make the interface a bit simpler).
6036
6037 * include/grub/util/misc.h (grub_util_init_libzfs)
6038 (libzfs_handle): Remove.
6039 (grub_get_libzfs_handle): New prototype.
6040
6041 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
6042 attribute.
6043 (grub_util_init_libzfs): Remove.
6044 (grub_get_libzfs_handle): New function.
6045
6046 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
6047 grub_get_libzfs_handle() to obtain a libzfs handle instead of
6048 accessing `libzfs_handle' directly.
6049
c882acc0
RM
60502010-08-01 Robert Millan <rmh@gnu.org>
6051
6052 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6053 (grub_find_zpool_from_mount_point): New function prototypes.
6054
6055 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6056 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6057
6058 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6059 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6060 `static' attribute.
6061
6062 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6063 finding zpool from mount point into ...
6064 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6065
6066 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6067 requested path is part of a ZFS pool, use
6068 grub_find_zpool_from_mount_point() to detect its filesystem name,
6069 and generate a path with `/fsname@path' syntax.
6070
8bfe31d8
CW
60712010-08-01 Colin Watson <cjwatson@ubuntu.com>
6072
6073 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
6074 (void) rather than () so that this is a proper prototype.
6075
553df63d
VS
60762010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
6079
8687cf07
VS
60802010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
6083 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
6084
ea9be8ea
CW
60852010-08-01 Colin Watson <cjwatson@ubuntu.com>
6086
6087 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
6088
6eea041a
CW
60892010-08-01 Colin Watson <cjwatson@ubuntu.com>
6090
6091 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
6092
2cfb45df
CW
60932010-08-01 Colin Watson <cjwatson@ubuntu.com>
6094
6095 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
6096 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
6097 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
6098 disable gfxpayload.
6099 (Shell-like scripting): Add real content.
6100 (Serial terminal): Suggest `terminal_input serial; terminal_output
6101 serial' rather than putting the two commands on separate lines,
6102 since console input will be inoperative after the first command.
6103 (menuentry): Document --class, --users, and --hotkey options.
6104 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
6105 Vladimir Serbinenko).
6106
7decd202
VS
61072010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
61082010-08-01 Colin Watson <cjwatson@ubuntu.com>
6109
6110 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
6111
c882acc0
RM
61122010-08-01 Robert Millan <rmh@gnu.org>
6113
6114 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6115 (grub_find_zpool_from_mount_point): New function prototypes.
6116
6117 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6118 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6119
6120 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6121 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6122 `static' attribute.
6123
6124 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6125 finding zpool from mount point into ...
6126 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6127
6128 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6129 requested path is part of a ZFS pool, use
6130 grub_find_zpool_from_mount_point() to detect its filesystem name,
6131 and generate a path with `/fsname@path' syntax.
6132
deb0caa3
RM
61332010-08-01 Robert Millan <rmh@gnu.org>
6134
6135 Prevent accidental use of uninitialized libzfs_handle.
6136
6137 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
6138 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
6139 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
6140
ce04ef47
CW
61412010-08-01 Colin Watson <cjwatson@ubuntu.com>
6142
6143 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
6144 util/grub.d/10_linux.in). Fixes Debian bug #591093.
6145
ebf53056
RM
61462010-08-01 Robert Millan <rmh@gnu.org>
6147
6148 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 6149
3710bb6b
RM
61502010-07-31 Robert Millan <rmh@gnu.org>
6151
6152 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
6153
8072efeb
RM
61542010-07-31 Robert Millan <rmh@gnu.org>
6155
6156 * kern/emu/misc.c: Add missing license header.
6157
3169f4c7
RM
61582010-07-31 Robert Millan <rmh@gnu.org>
6159
6160 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
6161
6162 * include/grub/util/libnvpair.h: Include `<config.h>'.
6163 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
6164 declaring libnvpair prototypes ourselves.
6165 * include/grub/util/libzfs.h: Include `<config.h>'.
6166 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
6167 declaring libzfs prototypes ourselves.
6168
6169 (libzfs_handle): Moved to ...
6170 * include/grub/util/misc.h (libzfs_handle): ... here.
6171 Include `<grub/util/libzfs.h>'.
6172
c9a00aee
RM
61732010-07-30 Robert Millan <rmh@gnu.org>
6174
6175 * include/grub/emu/misc.h: Add missing license header.
6176
a184f9c8
RM
61772010-07-30 Robert Millan <rmh@gnu.org>
6178
6179 Enable `grub-probe -t device' resolution on ZFS.
6180
6181 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
6182 * include/grub/util/libnvpair.h: New file.
6183 * include/grub/util/libzfs.h: New file.
6184
6185 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
6186 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
6187 `<grub/util/libnvpair.h>'.
6188 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
6189
6190 (find_mount_point_from_dir): New static function.
6191 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
6192 function.
6193 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
6194 find_root_device_from_libzfs() before ressorting to find_root_device().
6195
6196 * include/grub/util/misc.h (grub_util_init_libzfs): New function
6197 prototype.
6198 * util/misc.c: Include `<grub/util/libzfs.h>'.
6199 (grub_util_init_libzfs): New function.
6200 [HAVE_LIBZFS] (libzfs_handle): New global variable.
6201 [HAVE_LIBZFS] (fini_libzfs): New static function.
6202 (grub_util_init_libzfs): New function.
6203 * util/grub-probe.c (main): Call grub_util_init_libzfs().
6204
f7790cdd
RM
62052010-07-30 Robert Millan <rmh@gnu.org>
6206
6207 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
6208 (xmalloc, xrealloc, xstrdup, xasprintf): Add
6209 `warn_unused_result' attribute.
6210 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
6211 (grub_xasprintf, grub_xvasprintf): Likewise.
6212 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
6213
0806b63c
RM
62142010-07-29 Robert Millan <rmh@gnu.org>
6215
6216 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
6217 (probe): Handle `PRINT_FS_LABEL'.
6218 (main): Handle `-t fs_label'.
6219
9f841f5c
RM
62202010-07-29 Robert Millan <rmh@gnu.org>
6221
6222 * configure.ac: Remove grub-mkisofs checks.
6223
46371121
VS
62242010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * util/ieee1275/grub-install.in: Don't use empty grub_device.
6227 Reported by: Lennart Sorensen.
6228
62292010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
6232 prior to terminal_input/terminal_output separation. It's been over 1.5
6233 years and those versions weren't widely deployed.
6234
a9600892
CW
62352010-07-22 Colin Watson <cjwatson@ubuntu.com>
6236
6237 * disk/raid.c (insert_array): Don't count named arrays when looking
6238 for unused array numbers.
697e053c 6239 Reported and tested by: Michael Guntsche.
a9600892 6240
c03507df
CW
62412010-07-20 Colin Watson <cjwatson@ubuntu.com>
6242
6243 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
6244 implementation of this so that grub-emu links again, with a note
6245 that this should support hotplugging in the future.
6246
b26f1c11
CW
62472010-07-20 Colin Watson <cjwatson@ubuntu.com>
6248
6249 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6250
efc9d7f1
CW
62512010-07-20 Colin Watson <cjwatson@ubuntu.com>
6252
6253 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
6254 handle on failure.
6255 (grub_loopback_close): Remove empty function.
6256 (grub_loopback_dev): Remove close method.
6257
dd8ff5c9
CW
62582010-07-20 Colin Watson <cjwatson@ubuntu.com>
6259
6260 Disable EFI cursor when the EFI console becomes inactive.
6261
6262 * term/efi/console.c (grub_efi_console_init): New function.
6263 (grub_efi_console_fini): New function.
6264 (grub_console_term_output): Register init and fini methods.
6265
5e3bec67
VS
62662010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 * tests/util/grub-shell-tester.in: Remove bashism and declare as
6269 sh script.
6270
afaec079
VS
62712010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * disk/loopback.c (grub_loopback): Replace filename with file.
6274 (delete_loopback): Handle new semantics.
6275 (grub_cmd_loopback): Likewise.
6276 (grub_loopback_iterate): Likewise.
6277 (grub_loopback_close): Likewise.
6278
a6a11f3c
VS
62792010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
6282 with -p "".
6283 Reported by: Tito Keitel.
6284
64a638b0
VS
62852010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 * docs/grub.texi (Naming convention): Document new naming convention.
6288
ab8ba957
VS
62892010-07-20 Vadim Solomin <vadic052@gmail.com>
62902010-07-20 Colin Watson <cjwatson@ubuntu.com>
6291
6292 Generate device.map in something closer to the old ordering.
6293
6294 * util/deviceiter.c (struct device): New declaration.
6295 (compare_file_names): Rename to ...
6296 (compare_devices): ... this. Sort by kernel name in preference to
6297 the stable by-id name, but keep the latter as a fallback comparison.
6298 Update header comment.
6299 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
6300 of `struct device' rather than of plain file names.
6301
a29d6a4b
TF
63022010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
6303
6304 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
6305 on i386.
6306
39d824e8
VS
63072010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6308
6309 * commands/acpi.c (setup_common_tables): Use sizeof instead of
6310 hardcoding size.
6311 (setv1table): Likewise.
6312
f058276b
FZ
63132010-07-20 Colin Watson <cjwatson@ubuntu.com>
6314
6315 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
6316 removing the homehost if present.
6317 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
6318 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
6319 removing the homehost if present.
6320 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
6321 if possible.
6322 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
6323
6324 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
6325 parameter. Set its pointer target to 0.
6326 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
6327 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
6328 `data_offset' value from the superblock for 1.x metadata.
6329 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
6330 data on the device.
6331 (insert_array): Record the start sector of data on the device.
6332 (grub_raid_register): Pass start_sector parameters to
6333 grub_raid_list->detect and insert_array.
6334 * include/grub/raid.h (struct grub_raid_array): Add start_sector
6335 member.
6336 (struct grub_raid): Add start_sector parameter to `detect'.
6337
6338 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
6339 __attribute__ ((packed)), leaving a comment.
6340 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
6341 (grub_mdraid_detect_09): ... here and ...
6342 (grub_mdraid_detect_1x): ... here.
6343
63442010-07-20 Peter Henn <peter.henn@web.de>
6345
6346 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
6347 chunk size and disk size, which are already given as sector counts
6348 as distinct from the 0.90 units. Fetch the correct device number
6349 from the role table instead of using the table index.
6350
63512010-07-20 Felix Zielcke <fzielcke@z-51.de>
6352
6353 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
6354 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
6355 (WriteMostly1): New macro.
6356 Set array->name to NULL for metadata format 0.90. Add support for
6357 metadata 1.x. Fix some comments.
6358 * disk/raid.c (): Add support for name based RAID arrays. Fix a
6359 few comments.
6360 * util/getroot.c (grub_util_get_grub_dev): Add support for
6361 /dev/md/name style devices.
6362
4b761da9
CW
63632010-07-20 Colin Watson <cjwatson@ubuntu.com>
6364
6365 * .bzrignore: Ignore 20_linux_xen.
6366
5771289a
CW
63672010-07-17 Colin Watson <cjwatson@ubuntu.com>
6368
6369 * util/import_unicode.py: Remove unnecessary imports.
6370
5dab68df
AN
63712010-07-17 Aleš Nesrsta <starous@volny.cz>
6372
6373 Hotplugging and USB hub support.
6374
6375 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
6376 (grub_ohci): Likewise.
6377 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
6378 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
6379 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
6380 (GRUB_OHCI_CTRL_EDS): Likewise.
6381 (GRUB_OHCI_BULK_EDS): Likewise.
6382 (GRUB_OHCI_TDS): Likewise.
6383 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
6384 (grub_ohci_ed_phys2virt): New function.
6385 (grub_ohci_virt_to_phys): Likewise.
6386 (grub_ohci_td_phys2virt): Likewise.
6387 (grub_ohci_td_virt2phys): Likewise.
6388 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
6389 attachment.
6390 (grub_ohci_find_ed): New function.
6391 (grub_ohci_alloc_td): Likewise.
6392 (grub_ohci_free_td): Likewise.
6393 (grub_ohci_free_tds): Likewise.
6394 (grub_ohci_transfer): Use previously allocated memory.
6395 (grub_ohci_portstatus): Reset status changed bit.
6396 (grub_ohci_detect_dev): Supply status changed.
6397 (grub_ohci_fini_hw): Free memory.
6398 (grub_ohci_restore_hw): Reallocate memory.
6399 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
6400 Reset status change.
6401 (grub_uhci_detect_dev): Supply status_change.
6402 * bus/usb/usb.c (attach_hooks): New var.
6403 (grub_usb_device_attach): New function.
6404 (grub_usb_register_attach_hook_class): Likewise.
6405 (grub_usb_unregister_attach_hook_class): Likewise.
6406 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
6407 (grub_usb_add_hub): Reset connection changed bit.
6408 (attach_root_port): New function.
6409 (grub_usb_root_hub): Likewise.
6410 (poll_nonroot_hub): Likewise.
6411 (grub_usb_poll_devices): Likewise.
6412 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
6413 * disk/usbms.c (grub_usbms_open): Use device hooks.
6414 (grub_usbms_iterate) :Poll devices.
6415 (grub_usbms_finddevs): Split into ...
6416 (grub_usbms_attach): ... this ...
6417 (grub_usbms_attach): ... and this.
6418 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
6419 in detect_dev.
6420 (grub_usb_interface): New fields attached and detach_hook.
6421 (grub_usb_attach_hook_class): New type.
6422 (grub_usb_attach_desc): New struct.
6423 (grub_usb_register_attach_hook_class): New function.
6424 (grub_usb_unregister_attach_hook_class): Likewise.
6425 (grub_usb_poll_devices): Likewise.
6426 (grub_usb_device_attach): Likewise.
6427 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
6428 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
6429
3222efaf
VS
64302010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
6433 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
6434 delta determination style. Works with most NetBSD partitions too.
6435
139b714a
VS
64362010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
6439 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
6440
986aad56
VS
64412010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
6444
99be513c
AB
64452010-07-14 Anton Blanchard <anton@samba.org>
6446
6447 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
6448 ET_DYN files.
6449
18075f62
GS
64502010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6451
6452 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
6453
8d9a5b15
GS
64542010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6455
6456 * kern/partition.c (grub_partition_check_containment): New function to
6457 check that a partition is physically contained in a parent. Since
6458 offsets are relative (and non-negative), this reduces to checking that
6459 the partition ends before its parent.
6460 (grub_partition_map_probe): Discard out-of-range sub-partitions.
6461 (grub_partition_iterate): Likewise.
6462 * include/grub/partition.h (grub_partition_map): Slightly more detailed
6463 comments.
6464 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
6465 partitions that start before their parent, and add debug printfs.
6466
19563c25
CW
64672010-07-13 Colin Watson <cjwatson@ubuntu.com>
6468
6469 * Makefile.in (.SUFFIX): Spell correctly, as ...
6470 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
6471 bare module name without `.mod', e.g. `test') tried to invoke a
6472 Modula-2 compiler.
6473
1a1f1e67
CW
64742010-07-13 Colin Watson <cjwatson@ubuntu.com>
6475
6476 * README: Point to the Info manual.
6477
811b0dca
JS
64782010-07-13 Jiro SEKIBA <jir@unicus.jp>
6479
6480 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
6481 2nd superblock position from partition size.
6482
e4f4eafc
CW
64832010-07-10 Colin Watson <cjwatson@ubuntu.com>
6484
6485 * Makefile.in (MAINTAINER_CLEANFILES): Remove
6486 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
6487 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
6488 outputs.
6489
4274c30f
VS
64902010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 Restructure SCSI .id handling.
6493 Reported and tested by: Aleš Nesrsta.
6494
6495 * disk/ata.c (grub_atapi_close): Removed. All users updated.
6496 (grub_atapi_dev): Changed .name to "ata". New field .id.
6497 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
6498 (grub_usbms_dev): New field .id.
6499 * disk/scsi.c (grub_scsi_iterate): Generate name.
6500 (grub_scsi_open): Parse name.
6501 * include/grub/scsi.h (grub_make_scsi_id): New function.
6502 (grub_scsi_dev): Change iterate and open to number instead of naming
6503 busses. All users updated.
6504 (grub_scsi): Remove name. Add .bus.
6505
5bc24388
VS
65062010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 * commands/help.c (grub_cmd_help): Fix a typo.
6509
249975ba
VS
65102010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
6513 Reported and tested by: Colin Watson.
6514
3eaac1a1
VS
65152010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
6518 in this context.
6519
becce1b1
VS
65202010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
6523
f7bf0918
CW
65242010-07-07 Colin Watson <cjwatson@ubuntu.com>
6525
6526 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
6527 indentation.
6528
0b0f9620
CW
65292010-07-06 Colin Watson <cjwatson@ubuntu.com>
6530
6531 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
6532 and disk/raid6_recover.c.
6533 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6534 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
6535
1e545469
CW
65362010-07-06 Colin Watson <cjwatson@ubuntu.com>
6537
6538 * term/gfxterm.c (repaint_schedulded): Rename to ...
6539 (repaint_scheduled): ... this. Update all callers.
6540 (repaint_was_schedulded): Rename to ...
6541 (repaint_was_scheduled): ... this. Update all callers.
6542
5357687a
CW
65432010-07-06 Colin Watson <cjwatson@ubuntu.com>
6544
6545 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
6546 which we expect to be handled by upper layers.
6547
29d7e783
BC
65482010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
6549
6550 * bus/usb/usbhub.c: #include time.h header.
6551
37582066
CW
65522010-07-06 Colin Watson <cjwatson@ubuntu.com>
6553
6554 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
6555 entry_name also for entries without stat blocks (e.g. ".."); fixes
6556 corruption of the first entry in a directory.
6557
c8c06953
CW
65582010-07-06 Colin Watson <cjwatson@ubuntu.com>
6559
6560 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
6561 after setting gfxterm as the active terminal. GRUB_BACKGROUND
6562 doesn't work otherwise.
6563
e75056f1
CW
65642010-07-05 Colin Watson <cjwatson@ubuntu.com>
6565
6566 * docs/grub.texi (Features): Update list of supported file systems.
6567 (GNU/Linux): Update for GRUB 2.
6568 (Serial terminal): Remove mention of --disable-serial, which was a
6569 GRUB Legacy configure option. Update instructions to use
6570 `terminal_input' and `terminal_output' rather than `terminal'.
6571 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
6572 configuration' and `Installing GRUB using grub-install'.
6573 (Menu entry editor): Update for GRUB 2.
6574 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
6575 Document new -a, -u, and -v options.
6576 (initrd): New section.
6577 (initrd16): New section.
6578 (linux): New section.
6579 (linux16): New section.
6580 (search): The `var' argument to `--set' is optional.
6581 (GRUB only offers a rescue shell): Go into a little more detail on
6582 drive ordering.
6583
5cf69151
CW
65842010-07-05 Colin Watson <cjwatson@ubuntu.com>
6585
6586 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
6587
e3f90044
CW
65882010-07-05 Colin Watson <cjwatson@ubuntu.com>
6589
6590 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
6591 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
6592
38d8f4f3
CW
65932010-07-05 Colin Watson <cjwatson@ubuntu.com>
6594
6595 * util/i386/pc/grub-setup.c (setup): Rename prefix to
6596 install_prefix, in line with install_dos_part and install_bsd_part.
6597 Add new prefix variable, which is copied to install_prefix after
6598 comparing core.img in memory with the one read from disk in the
6599 no-embedding case, and use that rather than overwriting
6600 install_prefix immediately when installing to a partition.
6601 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
6602 Bicakci.
6603
57ebd41e
GS
66042010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6605
6606 * configure.ac: Avoid == in test command, it's not portable.
6607 * util/grub.d/30_os-prober.in: Likewise.
6608
cb7f64b2
CW
66092010-07-04 Colin Watson <cjwatson@ubuntu.com>
6610
6611 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
6612
6b654bb0
GS
66132010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6614
6615 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
6616 multiple (top-level) partmaps.
6617
72a2026d
VS
66182010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 6621 Reported by: Tino Keitel.
72a2026d 6622
df3eb88f
VS
66232010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 Bidi and diacritics support.
6626
6627 * Makefile.in (widthspec.bin): New target.
6628 (widthspec.h): Likewise.
6629 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
6630 * autogen.sh: Generate unidata.c.
6631 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
6632 * commands/ls.c (grub_ls_list_devices): Likewise.
6633 (grub_ls_list_files): Likewise.
6634 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
6635 (grub_mini_cmd_lsmod): Likewise.
6636 * commands/read.c: Likewise.
6637 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
6638 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
6639 * lib/arg.c (grub_arg_show_help): Likewise.
6640 * lib/crypto.c (grub_password_get): Likewise.
6641 * normal/auth.c (grub_username_get): Likewise.
6642 * normal/misc.c (grub_normal_print_device_info): Likewise.
6643 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
6644 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
6645 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
6646 (normal/charset.c_DEPENDENCIES): New variable.
6647 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
6648 (pkglib_MODULES): Remove charset.mod.
6649 (charset_mod_SOURCES): Removed.
6650 (charset_mod_CFLAGS): Likewise.
6651 (charset_mod_LDFLAGS): Likewise.
6652 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
6653 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
6654 and term/tparm.c.
6655 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6656 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6657 (kernel_img_HEADERS): Add terminfo.h.
6658 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
6659 Fill ->font. Reverse ascii bitmaps.
6660 (grub_font_get_xheight): New function.
6661 * font/font.c (grub_font_get_string_width): Moved from here ...
6662 * gfxmenu/font.c (grub_font_get_string_width): ... here.
6663 * font/font.c (grub_font_draw_string): Moved from here ...
6664 * gfxmenu/font.c (grub_font_draw_string): ... here.
6665 * font/font.c (grub_font_dup_glyph): New function.
6666 (grub_font_blit_glyph): Likewise.
6667 (grub_font_blit_glyph_mirror): Likewise.
6668 (blit_comb): Likewise.
6669 (grub_font_construct_dry_run): Likewise.
6670 (grub_font_get_constructed_device_width): Likewise.
6671 (grub_font_construct_glyph): Likewise.
6672 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
6673 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
6674 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
6675 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
6676 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
6677 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
6678 (grub_font_get_xheight): New proto.
6679 (grub_font_get_constructed_device_width): Likewise.
6680 (grub_font_construct_glyph): Likewise.
6681 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
6682 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
6683 * include/grub/font.h (grub_font_draw_string): Moved from here ...
6684 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
6685 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
6686 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
6687 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
6688 (grub_console_getcharwidth): Likewise.
6689 * include/grub/misc.h (grub_xputs): New proto.
6690 (grub_puts): Inlined.
6691 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
6692 (grub_normal_get_line_counter): Removed.
6693 (grub_install_newline_hook): Likewise.
6694 (grub_normal_get_char_counter): New proto.
6695 (grub_normal_reset_more): Likewise.
6696 (grub_xputs_normal): Likewise.
6697 * include/grub/powerpc/ieee1275/console.h: Removed.
6698 * include/grub/sparc64/ieee1275/console.h: Likewise.
6699 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
6700 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
6701 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
6702 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
6703 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
6704 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
6705 (grub_term_input): Pass reference to self. All users updated.
6706 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
6707 Pass reference to self. New fields normal_color, highlight_color and
6708 data. All users updated.
6709 (grub_putchar): Removed.
6710 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
6711 (grub_unicode_estimate_width): New function.
6712 (grub_term_getcharwidth): Add defaults.
6713 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
6714 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
6715 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
6716 (grub_cls): Remove EXPORT_FUNC.
6717 (grub_setcolorstate): Inline.
6718 (grub_newline_hook): Removed.
6719 * include/grub/terminfo.h: Rewritten. All users updated.
6720 * include/grub/unicode.h: New file.
6721 * include/grub/video.h (grub_video_signed_rect): New type.
6722 * kern/emu/console.c (grub_console_highlight_color): Removed.
6723 (grub_console_normal_color): Likewise.
6724 (grub_console_standard_color): Made static.
6725 (grub_ncurses_putchar): Remove mapping.
6726 (grub_ncurses_getcharwidth): Removed.
6727 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6728 (grub_ncurses_setcolor): Removed.
6729 (grub_ncurses_getcolor): Likewise.
6730 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
6731 (grub_console_putchar): ... this.
6732 (grub_console_putchar): Handle argument difference.
6733 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
6734 console_init_early and console_init_lately.
6735 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
6736 * kern/misc.c (grub_puts): Removed.
6737 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
6738 (grub_vsnprintf_real): Remove str = NULL support.
6739 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
6740 * normal/charset.c (grub_utf8_to_ucs4): ... here.
6741 * kern/term.c (grub_putcode): Renamed to ...
6742 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
6743 (grub_putchar): Removed.
6744 (grub_xputs_dumb): New function.
6745 (grub_xputs): New variable.
6746 * lib/charset.c: Move from here ...
6747 * normal/charset.c: ... to here.
6748 (grub_ucs4_to_utf8): New function.
6749 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
6750 (join_types): New variable.
6751 (unpack_join): New function.
6752 (bidi_types): New variable.
6753 (unpack_bidi): New function.
6754 (get_bidi_type): Likewise.
6755 (get_join_type): Likewise.
6756 (is_mirrored): Likewise.
6757 (grub_unicode_get_comb_type): Likewise.
6758 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
6759 (is_type_after): Likewise.
6760 (grub_unicode_aglomerate_comb): Likewise.
6761 (bidi_line_wrap): Likewise.
6762 (grub_bidi_line_logical_to_visual): Likewise.
6763 (grub_bidi_logical_to_visual): Likewise.
6764 (grub_unicode_mirror_code): Likewise.
6765 (grub_unicode_shape_code): Likewise.
6766 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
6767 Don't use grub_putchar.
6768 * normal/main.c (grub_normal_init_page): Use grub_putcode.
6769 (grub_normal_reader_init): Likewise.
6770 (grub_xputs_saved): New variable.
6771 (GRUB_MOD_INIT): Set grub_xputs.
6772 (GRUB_MOD_FINI): Restore grub_xputs.
6773 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
6774 (menu_init): Avoid printing gfxmenu error.
6775 (show_menu): Use grub_normal_get_char_counter.
6776 * normal/menu_entry.c (update_screen): Fix out-of-array.
6777 (complete): Avoid NULL dereferencing.
6778 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
6779 * normal/menu_text.c (print_spaces): Removed.
6780 (grub_print_ucs4): Likewise.
6781 (grub_print_message_indented): Use grub_print_ucs4.
6782 (print_message): Use grub_putcode.
6783 (print_entry): Hanlde diacritics.
6784 * normal/term.c (term_state): New type.
6785 (grub_more_lines): Removed.
6786 (term_states): New variable.
6787 (grub_normal_line_counter): Renamed to ..
6788 (grub_normal_char_counter): ...this. All users updated.
6789 (grub_normal_get_line_counter): Renamed to ...
6790 (grub_normal_get_char_counter): ... this.
6791 (grub_normal_reset_more): New function.
6792 (process_newline): Removed.
6793 (print_more): New function.
6794 (grub_install_newline_hook): Removed.
6795 (map_code): New function.
6796 (grub_puts_terminal): Use grub_print_ucs4.
6797 (putglyph): New function.
6798 (putcode_real): Likewise.
6799 (grub_putcode): Use putcode_real.
6800 (get_maxwidth): New function.
6801 (get_startwidth): Likewise.
6802 (print_ucs4_terminal): Likewise.
6803 (find_term_state): Likewise.
6804 (put_glyphs_terminal): Likewise.
6805 (print_backlog): Likewise.
6806 (print_ucs4_real): Likewise.
6807 (grub_print_ucs4): Likewise.
6808 (grub_xputs_normal): Likewise.
6809 * term/efi/console.c (grub_console_putchar): Output diacritics.
6810 (grub_console_getcharwidth): Removed.
6811 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6812 * term/gfxterm.c (clear_char): Free chars.
6813 (scroll_up): Avoid leaking memory.
6814 (grub_gfxterm_putchar): Support diacritics.
6815 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6816 * term/i386/pc/console.c (grub_console_term_output): Declare as
6817 GRUB_TERM_CODE_TYPE_VGA.
6818 * term/i386/pc/vga.c (grub_vga_term): Declare as
6819 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
6820 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
6821 GRUB_TERM_CODE_TYPE_VGA.
6822 * term/i386/vga_common.c (map_char): Removed.
6823 (grub_console_putchar): Likewise.
6824 (grub_console_getcharwidth): Likewise.
6825 * term/ieee1275/ofconsole.c: Simplify using terminfo.
6826 (colors): Reordered to match terminfo.
6827 (grub_ofconsole_normal_color): Removed.
6828 (grub_ofconsole_writeesc): Likewise.
6829 (grub_ofconsole_highlight_color): Likewise.
6830 (grub_ofconsole_getcharwidth): Likewise.
6831 (grub_ofconsole_setcolorstate): Likewise.
6832 (grub_ofconsole_setcolor): Likewise.
6833 (grub_ofconsole_getcolor): Likewise.
6834 (grub_ofconsole_readkey): Renamed to ...
6835 (readkey): ... this. Remove escape sequence handling. Return -1 on no
6836 key.
6837 (grub_ofconsole_checkkey): Removed.
6838 (grub_ofconsole_getkey): Likewise.
6839 (grub_ofconsole_getxy): Likewise.
6840 (grub_ofconsole_gotoxy): Likewise.
6841 (grub_ofconsole_cls): Likewise.
6842 (grub_ofconsole_refresh): Likewise.
6843 (grub_ofconsole_terminfo_input): New struct.
6844 (grub_ofconsole_terminfo_output): Likewise.
6845 (grub_ofconsole_term_input): Use terminfo.
6846 (grub_ofconsole_term_output): Likewise.
6847 (grub_console_init): Split into ...
6848 (grub_console_init_early): ...this and ...
6849 (grub_console_init_lately): ...this. Use terminfo.
6850 (grub_ofconsole_putchar): Renamed to ...
6851 (put): ... this. Remove mapping.
6852 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6853 * term/serial.c: Simplify using terminfo.
6854 (xpos): Removed.
6855 (ypos): Likewise.
6856 (keep_track): Likewise.
6857 (registered): Likewise.
6858 (input_buf): Likewise.
6859 (npending): Likewise.
6860 (serial_translate_key_sequence): Likewise.
6861 (fill_input_buf): Likewise.
6862 (grub_serial_checkkey): Likewise.
6863 (grub_serial_getkey): Likewise.
6864 (grub_serial_getxy): Likewise.
6865 (grub_serial_gotoxy): Likewise.
6866 (grub_serial_putchar): Likewise.
6867 (grub_serial_cls): Likewise.
6868 (grub_serial_setcolorstate): Likewise.
6869 (grub_serial_setcursor): Likewise.
6870 (serial_hw_init): Use serial_hw_fetch.
6871 (grub_serial_terminfo_input): New variable.
6872 (grub_serial_terminfo_output): Likewise.
6873 (grub_serial_term_input): Use terminfo.
6874 (grub_serial_term_output): Likewise.
6875 * term/terminfo.c (putstr): Use put.
6876 (grub_terminfo_all_free): New function
6877 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
6878 (grub_terminfo_output_register): New function.
6879 (grub_terminfo_output_unregister): Likewise.
6880 (grub_terminfo_getxy): Likewise.
6881 (grub_terminfo_readkey): Likewise.
6882 (grub_terminfo_checkkey): Likewise.
6883 (grub_terminfo_getkey): Likewise.
6884 (grub_terminfo_input_init): Likewise.
6885 (print_terminfo): Likewise.
6886 (grub_cmd_terminfo): Handle encoding.
6887 (grub_terminfo_gotoxy): Track position.
6888 (grub_terminfo_cls): Likewise.
6889 (grub_terminfo_putchar): Likewise.
6890 (grub_terminfo_setcolorstate): Handle colors
6891 (grub_terminfo_cursor_on): This ...
6892 (grub_terminfo_cursor_off): ... and this merged into ...
6893 (grub_terminfo_setcursor): ... this.
6894 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
6895 * unicode/ArabicShaping.txt: New file (imported from Unicode).
6896 * unicode/BidiMirroring.txt: Likewise.
6897 * unicode/UnicodeData.txt: Likewise.
6898 * unicode/COPYING: Likewise.
6899 * util/grub-editenv.c (grub_putchar): Removed.
6900 (grub_xputs_real): New function.
6901 (grub_xputs): New variable.
6902 * util/grub-fstest.c (grub_putchar): Removed.
6903 (grub_xputs_real): New function.
6904 (grub_xputs): New variable.
6905 * util/grub-mkdevicemap.c (grub_putchar): Removed.
6906 (grub_xputs_real): New function.
6907 (grub_xputs): New variable.
6908 * util/grub-probe.c (grub_putchar): Removed.
6909 (grub_xputs_real): New function.
6910 (grub_xputs): New variable.
6911 * util/grub-script-check.c (grub_putchar): Removed.
6912 (grub_xputs_real): New function.
6913 (grub_xputs): New variable.
6914 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
6915 (grub_xputs_real): New function.
6916 (grub_xputs): New variable.
6917 * util/import_unicode.py: New file.
6918 * util/grub-mkfont.c (ft_errmsgs): New array.
6919 (grub_glyph_info): Make bitmap a pointer.
6920 (file_formats): New type WIDTH_SPEC.
6921 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
6922 (options): Add width-spec.
6923 (help): Likewise.
6924 (add_char): Renamed to ...
6925 (add_glyph): ... this.
6926 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
6927 (glyph_replace): New type.
6928 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
6929 (add_char): New function.
6930 (add_subst): Likewise.
6931 (process_cursive): Likewise.
6932 (add_font): Handle GSUB.
6933 (write_font_width_spec): New function.
6934 (main): Sort glyphs.
6935 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
6936 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
6937 * kern/term.c (grub_cls): Moved from here...
6938 * normal/term.c (grub_cls): ... here.
6939
50f0bcda
CW
69402010-07-02 Colin Watson <cjwatson@ubuntu.com>
6941
6942 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
6943 suitable for using within the format argument of printf when
6944 converting grub_size_t.
6945 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
6946 "x" to convert grub_size_t arguments.
6947
40372103
VS
69482010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
6951 too long captions.
6952 (list_get_minimal_size): Take selection box into account.
6953
942a10c7
VS
69542010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6955
6956 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
6957 NULL font.
6958
2bdb2892
CW
69592010-07-02 Colin Watson <cjwatson@ubuntu.com>
6960
6961 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
6962 devices when iterating over /dev/disk/by-id; they will be handled
6963 later if appropriate, which they aren't always (e.g. LVM).
6964
e03ed6c1
CW
69652010-07-02 Colin Watson <cjwatson@ubuntu.com>
6966
6967 * include/grub/misc.h (grub_reboot): Declare as noreturn.
6968 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
6969 fails.
6970 (grub_halt): Likewise.
6971 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
6972 reset-all fails.
6973 (grub_halt): Don't return, even if all of shut-down, power-off, and
6974 poweroff fail.
6975
47695765
CW
69762010-07-02 Colin Watson <cjwatson@ubuntu.com>
6977
6978 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
6979 arguments, not three.
6980
507736c8
CW
69812010-07-02 Colin Watson <cjwatson@ubuntu.com>
6982
6983 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
6984 * util/grub.d/10_linux.in: Use it to check for LVM, so that
6985 LVM-on-RAID is handled correctly.
6986
e3c8cd37
CW
69872010-07-02 Colin Watson <cjwatson@ubuntu.com>
6988
6989 * docs/grub.texi (Changes from GRUB Legacy): New section.
6990 (Future): Fix typo.
6991
8d4a2fec
CW
69922010-07-02 Colin Watson <cjwatson@ubuntu.com>
6993
6994 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
6995 grub.d/README accidentally ends up executable for one reason or
6996 another. Ignore it.
6997
1c4827be
VS
69982010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6999
7000 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
7001 (gpt_partition_map_iterate): Support non-512B sectors.
7002
d9a0c941
VS
70032010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 * kern/efi/init.c (grub_efi_init): Disable watchdog.
7006 Tested by: Seth Goldberg.
7007
48f27e87
VS
70082010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
7011 Properly align mbi.
7012 Reported by: Seth Goldberg.
7013
b0c4f956
VS
70142010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 * util/grub-mkrescue.in: Avoid module duplication.
7017
105a2e8c
SF
70182010-07-01 Sean Finney <seanius@seanius.net>
7019
7020 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
7021
5944958c
SF
70222010-07-01 Sean Finney <seanius@seanius.net>
7023
7024 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
7025
70262010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 * disk/lvm.c (grub_lvm_checkvalue): New function.
7029 (grub_lvm_check_flag): Likewise.
7030
b79889ba
RM
70312010-07-01 Robert Millan <rmh@gnu.org>
7032
7033 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
7034 Support 'p' as partition separator on kernel of FreeBSD (used
7035 with GPT labels).
7036 (grub_util_biosdisk_get_grub_dev): Likewise.
7037
ec1d04f1
VS
70382010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 Yeeloong firmware port.
7041
7042 * boot/mips/yeeloong/fwstart.S: New file.
7043 * bus/cs5536.c (gpiodump): New const.
7044 (set_io_space): New function.
7045 (set_iod): Likewise.
7046 (set_p2d): Likewise.
7047 (grub_cs5536_init_geode): Likewise.
7048 * commands/mips/yeeloong/lsspd.c: New file.
7049 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
7050 (serial_mod_SOURCES): New variable.
7051 (serial_mod_CFLAGS): Likewise.
7052 (serial_mod_LDFLAGS): Likewise.
7053 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
7054 term/terminfo.c and term/tparm.c.
7055 (pkglib_IMAGES): Add fwstart.img.
7056 (fwstart_img_SOURCES): New variable.
7057 (fwstart_img_CFLAGS): Likewise.
7058 (fwstart_img_ASFLAGS): Likewise.
7059 (fwstart_img_LDFLAGS): Likewise.
7060 (fwstart_img_FORMAT): Likewise.
7061 (pkglib_MODULES): Add lsspd.mod.
7062 (lsspd_mod_SOURCES): New variable.
7063 (lsspd_mod_CFLAGS): Likewise.
7064 (lsspd_mod_LDFLAGS): Likewise.
7065 (pkglib_MODULES): Add halt.mod.
7066 (halt_mod_SOURCES): New variable.
7067 (halt_mod_CFLAGS): Likewise.
7068 (halt_mod_LDFLAGS): Likewise.
7069 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
7070 (serial_mod_SOURCES): Removed.
7071 (serial_mod_CFLAGS): Likewise.
7072 (serial_mod_LDFLAGS): Likewise.
7073 * disk/ata.c (check_device): New function.
7074 (grub_ata_device_initialize): Use check_device.
7075 (grub_ata_iterate): Recheck devices.
7076 (grub_ata_open): Likewise.
7077 (grub_atapi_iterate): Likewise.
7078 (grub_atapi_open): Likewise.
7079 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
7080 (GRUB_ATA_CH1_PORT1): Likewise.
7081 (GRUB_ATA_CH0_PORT2): Likewise.
7082 (GRUB_ATA_CH1_PORT2): Likewise.
7083 * include/grub/mips/loongson.h: New file.
7084 * include/grub/mips/yeeloong/ec.h: Likewise.
7085 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
7086 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
7087 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
7088 * include/grub/misc.h (grub_halt): Declare as noreturn.
7089 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
7090 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
7091 (UART_ENABLE_FIFO_TRIGGER1): New definition.
7092 (UART_ENABLE_DTRRTS): Likewise.
7093 (UART_ENABLE_MODEM): Removed.
7094 (UART_ENABLE_OUT2): New const.
7095 * include/grub/term.h (grub_term_register_input_active): New function.
7096 (grub_term_register_output_active): Likewise.
7097 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
7098 argument.
7099 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
7100 (init_pci): New function.
7101 (grub_machine_init): Execute platform init when firmware. Init serial.
7102 (grub_halt): Implement.
7103 (grub_exit): Likewise.
7104 (grub_reboot): Likewise.
7105 * term/serial.c (serial_hw_init): Update macros.
7106 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
7107 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
7108 (image_targets): New target mipsel-yeeloong-flash.
7109 (generate_image): Support IMAGE_YEELOONG_FLASH.
7110 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
7111 (grub_video_sm712_setup): Init card.
7112 (grub_video_sm712_set_palette): Removed.
7113 * video/sm712_init.c: New file.
7114
ff4a70d2
CW
71152010-06-30 Colin Watson <cjwatson@ubuntu.com>
7116
7117 * Makefile.in (install-local): Temporarily prepend $(builddir) to
7118 PATH when running help2man and then run it on the unadorned
7119 executable names, rather than passing $(builddir)/* paths to
7120 help2man. This avoids the build directory ending up in generated
7121 manual pages.
7122
1246efeb
CW
71232010-06-29 Colin Watson <cjwatson@ubuntu.com>
7124
7125 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
7126 to avoid accidents when debugging with 'sh -x'.
7127 * util/grub-mkrescue.in: Likewise.
7128 * util/grub.d/00_header.in: Likewise.
7129 * util/grub.d/10_hurd.in: Likewise.
7130 * util/grub.d/10_kfreebsd.in: Likewise.
7131 * util/grub.d/10_linux.in: Likewise.
7132 * util/grub.d/10_netbsd.in: Likewise.
7133 * util/grub.d/10_windows.in: Likewise.
7134 * util/grub.d/20_linux_xen.in: Likewise.
7135 * util/grub.d/30_os-prober.in: Likewise.
7136 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7137
1ba9b889
CW
71382010-06-29 Colin Watson <cjwatson@ubuntu.com>
7139
7140 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
7141 last character in the buffer.
7142 Reported by: Vladimir Serbinenko.
7143
dccaf99d
RM
71442010-06-29 Robert Millan <rmh@gnu.org>
7145
7146 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
7147 (Command-line and menu entry commands): Document `badram' command.
7148
d500ed12
RM
71492010-06-28 Robert Millan <rmh@gnu.org>
7150
7151 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
7152 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
7153 command using ${GRUB_BADRAM} as parameter.
7154
20bc84a6
CW
71552010-06-28 Colin Watson <cjwatson@ubuntu.com>
7156
7157 * docs/grub.texi (Device map): New section.
7158 (Themes): New section (stub).
7159 * Makefile.in (docs/grub.info): The info documentation now builds
7160 without errors. Make sure it stays that way.
7161
4045dee1
VS
71622010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 Use normal parser for menu entries.
7165 Reported by: Thomas Frauendorfer
7166
7167 * include/grub/parser.h (grub_parser_execute): Don't export.
7168 * normal/menu.c (grub_menu_execute_entry_real): New function.
7169 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
7170
bca58c7b
CW
71712010-06-28 Colin Watson <cjwatson@ubuntu.com>
7172
7173 * docs/grub.texi (Embedded configuration): New section (replacing
7174 old "Preset Menu" stub).
7175 (Images): New section.
7176 (configfile): Note that any menu entries defined in `file' are shown
7177 immediately.
7178
dec53e63
JT
71792010-06-28 Josh Triplett <josh@joshtriplett.org>
7180
7181 * mmap/i386/pc/mmap_helper.S: Set CF on return.
7182
c06e40f7
CW
71832010-06-28 Colin Watson <cjwatson@ubuntu.com>
7184
7185 * util/grub-install.in: Add --debug-image= option.
7186
cb88052b
CW
71872010-06-28 Colin Watson <cjwatson@ubuntu.com>
7188
7189 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
7190 possible on Linux.
7191
7192 * util/deviceiter.c (check_device): Rename to ...
7193 (check_device_readable_unique): ... this. Update all callers.
7194 Maintain and check a list of which devices (by canonicalized name)
7195 have already been seen.
7196 (clear_seen_devices): New function.
7197 (compare_file_names) [__linux__]: New function.
7198 (grub_util_iterate_devices): Clear the list of seen devices on exit
7199 and (just in case) on entry.
7200 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
7201 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
7202 seen-devices list, superseded by general code in check_device.
7203
bbe34652
CW
72042010-06-28 Colin Watson <cjwatson@ubuntu.com>
7205
7206 * commands/cat.c (options): New variable.
7207 (grub_cmd_cat): Parse options. If the --dos option is given, print
7208 DOS-style "\r\n" line endings as simple newlines (Debian bug
7209 #586358).
7210 (GRUB_MOD_INIT): Use extcmd.
7211 (GRUB_MOD_FINI): Likewise.
7212 * docs/grub.texi (cat): Document --dos.
7213
412e09f3
VS
72142010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 XEN with Linux grub-mkconfig support.
7217
7218 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
7219 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
7220 GRUB_CMDLINE_XEN_DEFAULT.
7221 * util/grub.d/20_linux_xen.in: New file.
7222
53f3ef38 72232010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
7224
7225 Initialise VGA video on qemu ourselves.
7226
7227 * boot/i386/qemu/boot.S: Don't call 0xc000.
7228 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
7229 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
7230 (kernel_img_HEADERS): Add pci.h.
7231 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
7232 * configure.ac: Force unifont on qemu and yeeloong.
7233 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
7234 (grub_vga_palette_write): Use correct register.
7235 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
7236 Call grub_qemu_init_cirrus.
7237 * kern/i386/qemu/init.c: New file.
7238 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
7239
7240 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
7241
c75be4fb
PR
72422010-06-26 Pavel Roskin <proski@gnu.org>
7243
7244 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
7245 13.
7246
d8034603
CW
72472010-06-26 Colin Watson <cjwatson@ubuntu.com>
7248
7249 * docs/grub.texi (Simple configuration): Explain that
7250 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
7251 set to `true' to disable their respective recovery entries, not
7252 merely set.
7253
3fa06487
CW
72542010-06-26 Colin Watson <cjwatson@ubuntu.com>
7255
7256 Make the `source' command slightly faster.
7257
7258 * normal/main.c (grub_normal_execute): Don't re-read list files when
7259 nested.
7260
e9b29642
CW
72612010-06-23 Colin Watson <cjwatson@ubuntu.com>
7262
7263 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
7264 field position and mask size to red fields from mode_info, not
7265 green.
7266 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
7267 Remove redundant tag->common.framebuffer_type assignment.
7268 Reported by: Seth Goldberg.
7269
e726542f
CW
72702010-06-23 Colin Watson <cjwatson@ubuntu.com>
7271
7272 Sync up other versions of the Linux loader with Robert Millan's
7273 change of 2010-01-09, "Make loader output a bit more user-friendly".
7274
7275 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
7276 grub_dprintf().
7277 (grub_cmd_linux): Likewise.
7278 (grub_cmd_initrd): Likewise.
7279 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
7280 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7281
d6e98a17
CW
72822010-06-21 Colin Watson <cjwatson@ubuntu.com>
7283
7284 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
7285 larger than MEMORY_MAP_SIZE.
7286
14d3f08e
BC
72872010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
7288
7289 Fix parallel build.
7290
7291 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
7292 dependency.
7293 * script/parser.y: #include grub_script.tab.h header.
7294
4f9613a3
VS
72952010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7296
7297 Support >3GiB and <16MiB RAM in i386-qemu.
7298
7299 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
7300 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
7301 (grub_lower_mem): Removed.
7302 (grub_upper_mem): Likewise.
7303 (mem_size): Made static.
7304 (above_4g): New variable.
7305 (grub_machine_mmap_init): Detect small mem_size and above_4g.
7306 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
7307 support.
7308
05e51879
VS
73092010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 Cirrus 5446 and Bochs video cards support.
7312
7313 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
7314 video_bochs.mod
7315 (video_cirrus_mod_SOURCES): New variable.
7316 (video_cirrus_mod_CFLAGS): Likewise.
7317 (video_cirrus_mod_LDFLAGS): Likewise.
7318 (video_bochs_mod_SOURCES): Likewise.
7319 (video_bochs_mod_CFLAGS): Likewise.
7320 (video_bochs_mod_LDFLAGS): Likewise.
7321 * include/grub/vga.h: New file.
7322 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
7323 (grub_video_fb_set_page_t): New type.
7324 (grub_video_fb_setup): New prototype.
7325 (grub_video_fb_swap_buffers): Likewise.
7326 (grub_video_fb_get_info_and_fini): Likewise.
7327 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
7328 (CRTC_DATA_PORT): Likewise.
7329 (CRTC_CURSOR): Likewise.
7330 (CRTC_CURSOR_ADDR_HIGH): Likewise.
7331 (CRTC_CURSOR_ADDR_LOW): Likewise.
7332 (CRTC_CURSOR_DISABLE): Likewise.
7333 (update_cursor): Use grub_vga_cr_write.
7334 (grub_vga_text_setcursor): Likewise.
7335 * video/bochs.c: New file.
7336 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
7337 (palette): Likewise.
7338 (palette_size): Likewise.
7339 (framebuffer): New variable.
7340 (grub_video_fb_init): Use 'framebuffer'.
7341 (grub_video_fb_fini): Likewise.
7342 (grub_video_fb_get_info): Likewise.
7343 (grub_video_fb_get_palette): Likewise.
7344 (grub_video_fb_set_palette): Likewise.
7345 (grub_video_fb_set_viewport): Likewise.
7346 (grub_video_fb_get_viewport): Likewise.
7347 (grub_video_fb_map_color): Likewise.
7348 (grub_video_fb_map_rgb): Likewise.
7349 (grub_video_fb_map_rgba): Likewise.
7350 (grub_video_fb_unmap_color): Likewise.
7351 (grub_video_fb_unmap_color_int): Likewise.
7352 (grub_video_fb_fill_rect): Likewise.
7353 (grub_video_fb_blit_bitmap): Likewise.
7354 (grub_video_fb_blit_render_target): Likewise.
7355 (grub_video_fb_scroll): Likewise.
7356 (grub_video_fb_create_render_target): Likewise.
7357 (grub_video_fb_doublebuf_blit_init): Likewise.
7358 (grub_video_fb_set_active_render_target): Handle doublebuffering.
7359 (doublebuf_pageflipping_update_screen): New function.
7360 (doublebuf_pageflipping_init): Likewise.
7361 (grub_video_fb_setup): Likewise.
7362 (grub_video_fb_swap_buffers): Likewise.
7363 (grub_video_fb_get_info_and_fini): Likewise.
7364 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
7365 All users updated.
7366 (doublebuf_pageflipping_commit): Restructured into ...
7367 (doublebuf_pageflipping_set_page): ... this.
7368 (doublebuf_pageflipping_update_screen): Removed.
7369 (doublebuf_pageflipping_init): Likewise.
7370 (double_buffering_init): Likewise.
7371 (grub_video_vbe_setup): Use grub_video_fb_setup.
7372 (grub_video_vbe_swap_buffers): Removed.
7373 (grub_video_vbe_set_active_render_target): Likewise.
7374 (grub_video_vbe_get_active_render_target): Likewise.
7375 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
7376 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
7377 grub_video_fb_set_active_render_target and
7378 grub_video_fb_get_active_render_target.
7379 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
7380 (SEQUENCER_DATA_PORT): Likewise.
7381 (MAP_MASK_REGISTER): Likewise.
7382 (CRTC_ADDR_PORT): Likewise.
7383 (CRTC_DATA_PORT): Likewise.
7384 (START_ADDR_HIGH_REGISTER): Likewise.
7385 (START_ADDR_LOW_REGISTER): Likewise.
7386 (GRAPHICS_ADDR_PORT): Likewise.
7387 (GRAPHICS_DATA_PORT): Likewise.
7388 (READ_MAP_REGISTER): Likewise.
7389 (INPUT_STATUS1_REGISTER): Likewise.
7390 (INPUT_STATUS1_VERTR_BIT): Likewise.
7391 (get_map_mask): Use grub_vga_sr_read.
7392 (set_map_mask): Use grub_vga_sr_write.
7393 (set_read_map): Use grub_vga_gr_write.
7394 (set_start_address): Use grub_vga_cr_write.
7395 * video/sm712.c (framebuffer): Remove leftover fields.
7396
4321c64a
CW
73972010-06-20 Colin Watson <cjwatson@ubuntu.com>
7398
7399 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
7400 setting GRUB_VIDEO_BACKEND. Make it available as a user override
7401 instead. Replace the gfxterm backend check with a check that
7402 ${GRUB_PREFIX}/video.lst is non-empty.
7403 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
7404 again.
7405 (load_video): New generated function. Call it before loading
7406 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
7407 * util/grub.d/10_linux.in (linux_entry): Call load_video.
7408 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
7409 * docs/grub.texi (Simple configuration): Document
7410 GRUB_VIDEO_BACKEND.
7411
74122010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 Use video functions in linux and xnu loaders.
7415
7416 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
7417 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
7418 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
7419 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
7420 loader/i386/pc/linux.c.
7421 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
7422 (find_line_len): Removed.
7423 (find_framebuf): Likewise.
7424 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
7425 * loader/i386/efi/xnu.c: Removed.
7426 * loader/i386/pc/xnu.c: Moved from here...
7427 * loader/i386/xnu.c: ...here.
7428
7429 Enable priorities in video drivers.
7430
7431 * include/grub/video.h (grub_video_adapter_prio_t): New type.
7432 (grub_video_adapter): New field prio.
7433 (grub_video_register): Respect prio when inserting.
7434 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
7435 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
7436 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
7437 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
7438 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
7439 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
7440 * video/sm712.c (grub_video_sm712_adapter): Likewise.
7441
7442 Fix SDL driver ID.
7443
7444 * include/grub/video.h (grub_video_driver_id_t): New value
7445 GRUB_VIDEO_DRIVER_SDL.
7446 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
7447
7d24e434
CW
74482010-06-17 Colin Watson <cjwatson@ubuntu.com>
7449
7450 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
7451 argument to printf.
7452 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7453
c88a83f6
CW
74542010-06-17 Colin Watson <cjwatson@ubuntu.com>
7455
7456 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
7457 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7458
094dfb69
CW
74592010-06-17 Colin Watson <cjwatson@ubuntu.com>
7460
7461 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
7462 directly, and recommend grub-install instead.
7463 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7464
2164da6b
CW
74652010-06-17 Colin Watson <cjwatson@ubuntu.com>
7466
7467 Fix i386-pc prefix handling with nested partitions (Debian bug
7468 #585068). Note that the case where the core image is booted using
7469 multiboot and relocated from its original location still requires
7470 more work.
7471
7472 * kern/i386/pc/init.c (make_install_device): If the prefix starts
7473 with "(,", fill the boot drive in between those two characters, but
7474 expect that a full partition specification including partition map
7475 names will follow.
7476 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
7477 specified, write a prefix without the drive name but including a
7478 full partition specification.
7479
044e2e60
CW
74802010-06-16 Colin Watson <cjwatson@ubuntu.com>
7481
7482 * util/grub-mkconfig.in: Ignore non-option arguments, for
7483 compatibility with older versions (before 2010-06-12) which did the
7484 same. In particular, this makes it easier to ship an update-grub
7485 wrapper which is compatible with that used with GRUB Legacy (Debian
7486 bug #586056).
7487
5591324f
GS
74882010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7489
7490 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
7491 for manual page generation.
7492
662e24d5
GS
74932010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7494
7495 * po/POTFILES: Remove leftover commands/handler.c.
7496
8d70754e
CW
74972010-06-14 Colin Watson <cjwatson@ubuntu.com>
7498
7499 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
7500 left this script non-functional.
7501
41160e2e
CW
75022010-06-14 Colin Watson <cjwatson@ubuntu.com>
7503
7504 * docs/man/grub-emu.h2m: New file.
7505
b5309cc1
CW
75062010-06-13 Colin Watson <cjwatson@ubuntu.com>
7507
7508 * docs/grub.texi (Commands): Document reduced command set in rescue
7509 mode.
7510 (cpuid): New section.
7511
fcb2d090
GS
75122010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
7513
7514 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
7515 new partition naming style.
7516 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
7517
96e5c556
BC
75182010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
7519
7520 Add "-o grub.iso" like cmdline options support.
7521
7522 * util/grub-install.in: Improve cmdline option parsing.
7523 * util/grub-mkconfig.in: Likewise.
7524 * util/grub-mkrescue.in: Likewise.
7525 * util/grub-reboot.in: Likewise.
7526 * util/grub-set-default.in: Likewise.
7527 * util/i386/efi/grub-install.in: Likewise.
7528 * util/ieee1275/grub-install.in: Likewise.
7529 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7530
c16be99b
CW
75312010-06-12 Colin Watson <cjwatson@ubuntu.com>
7532
7533 * .bzrignore: Ignore 41_custom.
7534
ce08a9fb
TS
75352010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7536
7537 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
7538
7beac90c
CW
75392010-06-12 Colin Watson <cjwatson@ubuntu.com>
7540
7541 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
7542 prototype declarations.
7543
7544 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
7545 generating fs, partmap, and video lists.
7546 * include/grub/fs.h (grub_fs_register): Omit prototype if
7547 GRUB_LST_GENERATOR is defined.
7548 * include/grub/partition.h (grub_partition_map_register): Likewise.
7549 * include/grub/video.h (grub_video_register): Likewise.
7550
1c8f0f8d
JM
75512010-06-12 Javier Martín <lordhabbit@gmail.com>
7552
7553 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
7554
a6085973
TS
75552010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7556
7557 * util/grub-mkrescue.in: Support --xorriso argument.
7558
25c56d29
VS
75592010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
7562 Suggested by: Thomas Schmitt.
7563
e03e4b24
VS
75642010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7565
7566 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
7567 Suggested by: Thomas Schmitt.
7568
57711df6
VS
75692010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 custom.cfg support.
7572
7573 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
7574 * util/grub.d/41_custom.in: New file.
7575
ee62c427
CW
75762010-06-12 Colin Watson <cjwatson@ubuntu.com>
7577
7578 * util/grub-mkrescue.in (make_image): Remove sh module, which has
7579 been merged back into normal.
7580
283af07a
CW
75812010-06-11 Colin Watson <cjwatson@ubuntu.com>
7582
7583 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
7584 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
7585
56a0d956
CW
75862010-06-11 Colin Watson <cjwatson@ubuntu.com>
7587
7588 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
7589 when generating manual pages.
7590 * docs/man/grub-bin2h.h2m: New file.
7591 * docs/man/grub-editenv.h2m: New file.
7592 * docs/man/grub-fstest.h2m: New file.
7593 * docs/man/grub-install.h2m: New file.
7594 * docs/man/grub-macho2img.h2m: New file.
7595 * docs/man/grub-mkconfig.h2m: New file.
7596 * docs/man/grub-mkdevicemap.h2m: New file.
7597 * docs/man/grub-mkfont.h2m: New file.
7598 * docs/man/grub-mkimage.h2m: New file.
7599 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
7600 * docs/man/grub-mkrelpath.h2m: New file.
7601 * docs/man/grub-mkrescue.h2m: New file.
7602 * docs/man/grub-ofpathname.h2m: New file.
7603 * docs/man/grub-pe2elf.h2m: New file.
7604 * docs/man/grub-probe.h2m: New file.
7605 * docs/man/grub-reboot.h2m: New file.
7606 * docs/man/grub-script-check.h2m: New file.
7607 * docs/man/grub-set-default.h2m: New file.
7608 * docs/man/grub-setup.h2m: New file.
7609
3a37e322
VS
76102010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 Use FOR_* macros instead of *_iterate whenever possible.
7613
7614 * commands/handler.c: Removed.
7615 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
7616 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
7617 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7618 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
7619 (grub_probe_SOURCES): Remove kern/parser.c.
7620 (util/grub-script-check.c_DEPENDENCIES): Removed.
7621 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
7622 and grub_script_check_init.c.
7623 (grub_script_check_init.lst): Removed.
7624 (grub_script_check_init.h): Likewise.
7625 (grub_script_check_init.c): Likewise.
7626 (pkglib_MODULES): Remove handler.mod and sh.mod.
7627 (handler_mod_SOURCES): Removed.
7628 (handler_mod_CFLAGS): Likewise.
7629 (handler_mod_LDFLAGS): Likewise.
7630 (normal_mod_SOURCES): Remove normal/handler.c.
7631 Add script/main.c, script/script.c, script/execute.c,
7632 script/function.c, script/lexer.c, grub_script.tab.c
7633 and grub_script.yy.c.
7634 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7635 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7636 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
7637 (grub_setup_SOURCES): Remove kern/parser.c.
7638 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7639 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
7640 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7641 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7642 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7643 (grub_setup_SOURCES): Remove kern/parser.c.
7644 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7645 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
7646 * include/grub/command.h (grub_command_iterate): Removed.
7647 (FOR_COMMANDS): New macro.
7648 * include/grub/dl.h (grub_dl): New member next.
7649 (grub_dl_iterate): Removed.
7650 (grub_dl_head): New variable declaration.
7651 (FOR_DL_MODULES): New macro.
7652 * include/grub/fs.h: Include list.h.
7653 (grub_fs): Make next first element.
7654 (grub_fs_list): New variable declaration.
7655 (grub_fs_register): Make inline.
7656 (grub_fs_unregister): Likewise.
7657 (grub_fs_iterate): Removed.
7658 (FOR_FILESYSTEMS): New macro.
7659 * include/grub/handler.h: Removed.
7660 * include/grub/list.h (grub_list_hook_t): Removed.
7661 (grub_list_test_t): Likewise.
7662 (grub_list_pop): Likewise.
7663 (grub_list_iterate): Likewise.
7664 (grub_list_insert): Likewise.
7665 (FOR_LIST_ELEMENTS): New macro.
7666 * include/grub/parser.h (grub_parser_class): Removed.
7667 (grub_parser_register): Likewise.
7668 (grub_parser_unregister): Likewise.
7669 (grub_parser_get_current): Likewise.
7670 (grub_parser_set_current): Likewise.
7671 (grub_register_rescue_parser): Likewise.
7672 (grub_rescue_parse_line): New function.
7673 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
7674 * include/grub/script_sh.h (grub_script_function_list): New variable
7675 declaration.
7676 (FOR_SCRIPT_FUNCTIONS): New macro.
7677 (grub_script_function_iterate): Removed.
7678 (grub_normal_parse_line): New prototype.
7679 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
7680 (FOR_DISABLED_TERM_INPUTS): Likewise.
7681 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7682 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7683 * include/grub/video.h (grub_video_adapter): Move 'next' to first
7684 element.
7685 (grub_video_register): Inline.
7686 (grub_video_unregister): Likewise.
7687 (grub_video_adapter_list): New variable declaration.
7688 (grub_video_iterate): Removed.
7689 (FOR_VIDEO_ADAPTERS): New macro.
7690 * kern/dl.c (grub_dl_list): Removed. All users updated.
7691 (grub_dl_iterate): Removed.
7692 * kern/fs.c (grub_fs_list): Make global.
7693 (grub_fs_register): Removed.
7694 (grub_fs_unregister): Likewise.
7695 (grub_fs_iterate): Likewise.
7696 * kern/handler.c: Removed.
7697 * kern/list.c (grub_list_pop): Removed.
7698 (grub_list_iterate): Likewise.
7699 (grub_list_insert): Likewise.
7700 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
7701 (grub_prio_list_insert): Don't use grub_list_insert.
7702 * kern/main.c (grub_register_rescue_parser): Don't call
7703 grub_register_rescue_parser.
7704 * kern/parser.c (grub_parser_class): Removed.
7705 (grub_parser_execute): Use grub_rescue_parse_line.
7706 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
7707 (grub_rescue_parser): Removed.
7708 (grub_register_rescue_parser): Likewise.
7709 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
7710 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
7711 (grub_auth_check_authentication): Likewise.
7712 * normal/completion.c (iterate_command): Removed.
7713 (grub_normal_do_completion): Use FOR_COMMANDS.
7714 * normal/handler.c: Removed.
7715 * normal/main.c (read_config_file): Remove parser changing.
7716 (grub_normal_execute): Don't call read_handler_list.
7717 (grub_normal_read_line_real): Statically allocate prompt.
7718 (grub_cmdline_run): Use grub_normal_parse_line.
7719 (GRUB_MOD_FINI): Don't call free_handler_list.
7720 * normal/menu_entry.c (run): Likewise.
7721 * script/function.c (grub_script_function_list): Make global.
7722 (grub_script_function_iterate): Removed.
7723 * script/main.c (grub_normal_parse_line): Make global.
7724 (grub_sh_parser): Removed.
7725 (GRUB_MOD_INIT): Likewise.
7726 (GRUB_MOD_FINI): Likewise.
7727 * tests/lib/functional_test.c (grub_functional_test): Use
7728 FOR_LIST_ELEMENTS.
7729 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
7730 (grub_test_run): Use FOR_LIST_ELEMENTS.
7731 * tests/lib/unit_test.c (main): Likewise.
7732 * util/deviceiter.c (grub_util_iterate_devices): Don't use
7733 grub_list_pop.
7734 * util/grub-fstest.c (grub_term_input_class): Removed.
7735 (grub_term_output_class): Likewise.
7736 * util/grub-probe.c: Likewise.
7737 * util/i386/pc/grub-setup.c: Likewise.
7738 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7739 * util/grub-script-check.c (main): Don't call grub_init_all and
7740 grub_fini_all.
7741 * video/video.c (grub_video_adapter_list): Make global.
7742 (grub_video_register): Removed.
7743 (grub_video_unregister): Likewise.
7744 (grub_video_iterate): Likewise.
7745
6289c3a7
VS
77462010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7747
7748 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
7749 reported by Henrique Ferreiro.
7750
91460247
RM
77512010-06-09 Robert Millan <rmh@gnu.org>
7752
7753 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
7754 ones, when both are available.
7755
0ea7c4f9
GS
77562010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7757
7758 Make --version uniform and avoid hard-coded program name.
7759
7760 * util/grub-mkimage.c (main): Use `program_name' instead of
7761 hard-coded string.
7762 * util/i386/pc/grub-setup.c (main): Likewise.
7763 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
7764 * util/grub-install.in: Save the basename of $0 in $self, and use the
7765 latter in informational messages. Use the same format for --version
7766 as the binary programs.
7767 * util/grub-mkconfig.in: Likewise.
7768 * util/grub-mkrescue.in: Likewise.
7769 * util/grub-reboot.in: Likewise.
7770 * util/grub-set-default.in: Likewise.
7771 * util/i386/efi/grub-install.in: Likewise.
7772 * util/ieee1275/grub-install.in: Likewise.
7773 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7774
e8a6f3b6
GS
77752010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7776
7777 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
7778 embedding area. Use <= instead of == when checking for non-emptiness.
7779
f4d095d7
GS
77802010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7781
7782 * configure.ac: Add `.' to the directories searched for unifont.
7783
50e532ca
CW
77842010-06-08 Colin Watson <cjwatson@ubuntu.com>
7785
7786 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
7787 grub_script.yy.h.
7788
d39f3dec
CW
77892010-06-08 Colin Watson <cjwatson@ubuntu.com>
7790
7791 * docs/grub.texi (History): Expand to cover GRUB 2.
7792 (Serial terminal): Refer to `terminal_input' and `terminal_output'
7793 commands, not `terminal'.
7794 (serial): Likewise.
7795 (terminal_input): New section.
7796 (terminal_output): New section.
7797 (uppermem): New section (stub).
7798 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
7799
6ef0ddb4
CW
78002010-06-08 Colin Watson <cjwatson@ubuntu.com>
7801
7802 * docs/grub.texi (Security): Menu entries are unrestricted by
7803 default, not restricted to superusers as I had previously thought.
7804 Reword to account for this.
7805
e0f4c438
CW
78062010-06-07 Colin Watson <cjwatson@ubuntu.com>
7807
7808 * kern/emu/misc.c (device_mapper_null_log): New function.
7809 (grub_device_mapper_supported): New function.
7810 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
7811 prototype.
7812 * kern/emu/hostdisk.c (find_partition_start): Check whether
7813 device-mapper is supported before trying to use it.
7814 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
7815
da908200
CW
78162010-06-07 Colin Watson <cjwatson@ubuntu.com>
7817
7818 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
7819 (File name syntax): Likewise.
7820 (help): --all is no longer supported in GRUB 2. Be more precise
7821 about pattern matching.
7822
fb55c3ac
CW
78232010-06-07 Colin Watson <cjwatson@ubuntu.com>
7824
7825 * normal/completion.c (grub_normal_do_completion): When completing
7826 arguments to "set" and the current word contains an equals sign,
7827 skip to after the equals sign before starting completion.
7828
258c2573
CW
78292010-06-07 Colin Watson <cjwatson@ubuntu.com>
7830
7831 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
7832
ee75515e
CW
78332010-06-07 Colin Watson <cjwatson@ubuntu.com>
7834
7835 * docs/grub.texi (Network): New section.
7836 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
7837 `(nd)' as in GRUB Legacy.
7838 (pxe_unload): New section.
7839
a6a700aa
CW
78402010-06-07 Colin Watson <cjwatson@ubuntu.com>
7841
7842 * docs/grub.texi (Troubleshooting): `echo' is not usually available
7843 in the rescue shell, so recommend using `set' instead. Thanks,
7844 Jordan Uggla.
7845
4003dd38
CW
78462010-06-07 Colin Watson <cjwatson@ubuntu.com>
7847
7848 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
7849 (password): New section.
7850 (password_pbkdf2): New section.
7851 (search): New section.
7852 (Security): New section.
7853 (Troubleshooting): New section, currently very incomplete.
7854 (Invoking grub-mkpasswd-pbkdf2): New section.
7855 (Internals): New section, currently very incomplete.
7856
e1cbcc40
CW
78572010-06-07 Colin Watson <cjwatson@ubuntu.com>
7858
7859 * util/grub.d/00_header.in: Add some more quoting (of
7860 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
7861 work again.
7862 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
7863
db8fa1ad
CW
78642010-06-07 Colin Watson <cjwatson@ubuntu.com>
7865
7866 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
7867 to `count', fixing variable shadowing that broke the -c option.
7868
78692010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
7870
7871 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
7872 in case they contain spaces.
7873
f28a9212
CW
78742010-06-04 Colin Watson <cjwatson@ubuntu.com>
7875
7876 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
7877 "part_" to partmap module names, in line with grub-install.
7878 Reported by: Jindřich Makovička (Debian bug #584426).
7879
9cdfe32f
CW
78802010-06-04 Colin Watson <cjwatson@ubuntu.com>
7881
7882 * util/grub-mkimage.c: Make target-related error messages slightly
7883 more helpful; -O talks about "format". Explicitly point to the use
7884 of -O if no target is specified.
7885 Reported by: Didier Raboud (Debian bug #584415).
7886
795b593a
CW
78872010-06-03 Colin Watson <cjwatson@ubuntu.com>
7888
7889 * INSTALL: Document several build requirements for optional features
7890 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
7891
9d9b5833
GS
78922010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7893
7894 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
7895 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
7896 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
7897
0819fec8
CW
78982010-06-02 Colin Watson <cjwatson@ubuntu.com>
7899
7900 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
7901 Thanks to Jordan Uggla for spotting this.
7902
49396b4f
VS
79032010-06-02 Aleš Nesrsta <starous@volny.cz>
7904
7905 Finally make USB usable.
7906
7907 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
7908 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
7909 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
7910 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
7911 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
7912 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
7913 (GRUB_OHCI_FSMPS): Likewise.
7914 (GRUB_OHCI_PERIODIC_START): Likewise.
7915 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
7916 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
7917 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
7918 (GRUB_OHCI_SET_PORT_RESET): Likewise.
7919 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
7920 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
7921 (grub_ohci_transaction): Likewise.
7922 (grub_ohci_transfer): Improve condition detection algorithms.
7923 Handle toggle property. Program the transactions correctly.
7924 Improve error handling. Various important fixups.
7925 (grub_ohci_portstatus): Put register writes in right order.
7926 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
7927 (grub_uhci_transfer): Don't show "failed" message on success.
7928 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
7929 array.
7930 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
7931 determine its size.
7932 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
7933 before initialization is completed. Use IN direction for empty
7934 transfers. Use last_trans and compute toggle.
7935 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
7936 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
7937 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
7938 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
7939 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
7940 (grub_usb_device): Increase toggle to 256.
7941 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
7942 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
7943 GRUB_USBMS_SUBCLASS_SFF8070.
7944 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
7945 (grub_scsi_inquiry): New member page and alloc_length.
7946 (grub_scsi_request_sense): New structure.
7947 (grub_scsi_request_sense_data): Likewise.
7948 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
7949 control.
7950 * disk/scsi.c (grub_scsi_request_sense): New function.
7951 (grub_scsi_test_unit_ready): Likewise.
7952 (grub_scsi_inquiry): Fill new fields.
7953 (grub_scsi_read_capacity): Likewise.
7954 (grub_scsi_read10): Add request sense at the end.
7955 (grub_scsi_read12): Likewise.
7956 (grub_scsi_write10): Likewise.
7957 (grub_scsi_write12): Likewise.
7958 (grub_scsi_open): Add Test Unit Ready.
7959 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
7960 Support additional subclasses. Con't clear halt yet. Activate the
7961 proper config. Calculate LUNs correctly.
7962 (grub_usbms_transfer): Various important fixups.
7963
79642010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
7967 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
7968 (grub_ohci_fini_hw): New function.
7969 (grub_ohci_restore_hw): Likewise.
7970 (GRUB_MOD_INIT(ohci)): Register preboot hook.
7971 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
7972 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
7973
79742010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 Dedicated DMA allocations.
7977
7978 * bus/pci.c (grub_memalign_dma32): New function
7979 (grub_dma_free): Likewise.
7980 (grub_dma_get_virt): Likewise.
7981 (grub_dma_get_phys): Likewise.
7982 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
7983 (grub_ohci_pci_iter): Use dma32_alloc.
7984 (grub_ohci_transfer): Likewise.
7985 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
7986 (grub_usb_bulk_readwrite): Likewise.
7987 * include/grub/pci.h: Add declarations.
7988
79892010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 CS5536 support.
7992
7993 * bus/cs5536.c: New file.
7994 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
7995 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
7996 (cs5536_mod_SOURCES): New variable.
7997 (cs5536_mod_CFLAGS): Likewise.
7998 (cs5536_mod_LDFLAGS): Likewise.
7999 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
8000 machine/pci.h.
8001 (kernel_img_SOURCES): Add bus/cs5536.c.
8002 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
8003 usb_keyboard.mod.
8004 (usb_mod_SOURCES): New variable.
8005 (usb_mod_CFLAGS): New variable.
8006 (usb_mod_LDFLAGS): New variable.
8007 (usbtest_mod_SOURCES): New variable.
8008 (usbtest_mod_CFLAGS): New variable.
8009 (usbtest_mod_LDFLAGS): New variable.
8010 (ohci_mod_SOURCES): New variable.
8011 (ohci_mod_CFLAGS): New variable.
8012 (ohci_mod_LDFLAGS): New variable.
8013 (usbms_mod_SOURCES): New variable.
8014 (usbms_mod_CFLAGS): New variable.
8015 (usbms_mod_LDFLAGS): New variable.
8016 (usb_keyboard_mod_SOURCES): New variable.
8017 (usb_keyboard_mod_CFLAGS): New variable.
8018 (usb_keyboard_mod_LDFLAGS): New variable.
8019 * include/grub/smbus.h: New file.
8020 * include/grub/cs5536.h: New file.
8021
0b35b2a9
CW
80222010-06-02 Colin Watson <cjwatson@ubuntu.com>
8023
8024 * util/grub.d/00_header.in: Add safety check to make sure that
8025 ${locale_dir} exists before trying to probe it.
8026
ca0afd5b
CW
80272010-06-02 Colin Watson <cjwatson@ubuntu.com>
8028
8029 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
8030 per the GNU Coding Standards; this is now too obscure to be worth
8031 documenting.
8032 (QNX): Likewise.
8033 (chainloader): Remove cross-reference to `SCO UnixWare'.
8034
1c41aa78
CW
80352010-06-02 Colin Watson <cjwatson@ubuntu.com>
8036
8037 * docs/grub.texi (Chain-loading): New section.
8038 (DOS/Windows): New section, borrowed from GRUB Legacy with details
8039 adjusted for GRUB 2.
8040 (SCO UnixWare): Likewise.
8041 (QNX): Likewise.
8042 (chainloader): Add reference to `Block list syntax'.
8043 (drivemap): New section.
8044 (parttool): New section.
8045
bb8ea0f5
CW
80462010-06-02 Colin Watson <cjwatson@ubuntu.com>
8047
8048 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
8049 the grub shell'.
8050 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
8051 (Installing GRUB using grub-install): Remove reference to the grub
8052 shell; mention `grub-mkimage' and `grub-setup' instead.
8053 (Invoking grub-install): Likewise.
8054 (Interface): Add reference to `Menu entry editor'.
8055 (serial): Remove `--device' option.
8056
288dd6ed
CW
80572010-06-02 Colin Watson <cjwatson@ubuntu.com>
8058
8059 * docs/grub.texi (Configuration): New section, documenting
8060 configuration file generation using grub-mkconfig. I've left a slot
8061 for documenting the full shell scripting format but have not yet
8062 started on writing that up.
8063 (Invoking grub-mkconfig): New section.
8064
34c9f0e9
CW
80652010-06-02 Colin Watson <cjwatson@ubuntu.com>
8066
8067 * docs/grub.texi (direntry): Remove grub-terminfo reference.
8068 (GNU GRUB manual): Likewise.
8069 (General commands): Update description of `terminfo' for GRUB 2.
8070
9121567e
CW
80712010-06-02 Colin Watson <cjwatson@ubuntu.com>
8072
8073 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
8074 (GRUB_MOD_INIT): Fix capitalisation.
8075 * docs/grub.texi (Command-line and menu entry commands): Document
8076 gettext and gptsync commands.
8077
ab631611
CW
80782010-06-02 Colin Watson <cjwatson@ubuntu.com>
8079
8080 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
8081 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
8082
bde4a9ac
CW
80832010-06-01 Colin Watson <cjwatson@ubuntu.com>
8084
8085 Add btrfs probing support, currently only in the single-device case.
8086
8087 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
8088 function.
8089 (grub_guess_root_device): Call find_root_device_from_mountinfo
8090 before looking in /dev.
8091
b1d17e10
VS
80922010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
8095 GRUB_DISK_SIZE_UNKNOWN.
8096 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
8097
dfbfe004
JS
80982010-05-31 Jiro SEKIBA <jir@unicus.jp>
8099
8100 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
8101 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
8102 corrupted or not synced properly.
8103
c2ffc8e9
VS
81042010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
8107 Reported by: Seth Goldberg.
8108
56293166
VS
81092010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8110
8111 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
8112 addition of dest.
8113 Reported by: Seth Goldberg.
8114
7620e7de
VS
81152010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
8118 Reported by: Seth Goldberg.
8119
c837af3f
VS
81202010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
8123 64-bit address as signed on MIPS.
8124
c7c75cf4
CW
81252010-05-28 Colin Watson <cjwatson@ubuntu.com>
8126
8127 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
8128 to the empty string.
8129
fa4b8490
BC
81302010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
8131
8132 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
8133
8134 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
8135 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
8136 * kern/misc.c (__enable_execute_stack): Disable on
8137 GRUB_MACHINE_EMU.
8138
a33075b9
CW
81392010-05-28 Colin Watson <cjwatson@ubuntu.com>
8140
8141 Make grub-probe work with symbolic links under /dev/mapper as well
8142 as with real block devices. The Linux world seems to be (at best)
8143 in transition here, and GRUB shouldn't get caught in the middle.
8144
8145 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
8146 /dev/mapper.
8147
d8708134
CW
81482010-05-27 Colin Watson <cjwatson@ubuntu.com>
8149
8150 * util/grub-script-check.c (main): Ensure defined behaviour on empty
8151 input files (in which case exit zero).
8152
db2102a0
CW
81532010-05-27 Colin Watson <cjwatson@ubuntu.com>
8154
8155 * kern/emu/misc.c (canonicalize_file_name): realpath can still
8156 return NULL for various reasons even if it has a maximum-length
8157 buffer: for example, there might be a symlink loop, or the path
8158 might exceed PATH_MAX. If this happens, return NULL.
8159
5fdba519
RM
81602010-05-27 Robert Millan <rmh@gnu.org>
8161
8162 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
8163 partmap module to handle cross-partmap setups.
8164 Reported by Orestes Mas. Gràcies!
8165
d1d368e4
CW
81662010-05-27 Colin Watson <cjwatson@ubuntu.com>
8167
8168 * util/grub-mkrescue.in: Initialise override_dir rather than
8169 assuming that it's unset or empty in the environment.
8170
95ac3c73
GS
81712010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
8172
8173 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
8174 variable index into p_index to suppress a warning with -Wshadow.
8175
7d8c0213
BC
81762010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
8177
8178 * INSTALL: Added flex >= 2.5.35 requirement.
8179
db4d5813
VS
81802010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8181
8182 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
8183
f24f4300
VS
81842010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 cmostest support.
8187
8188 * commands/i386/cmostest.c: New file.
8189 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
8190 (cmostest_mod_SOURCES): New variable.
8191 (cmostest_mod_CFLAGS): Likewise.
8192 (cmostest_mod_LDFLAGS): Likewise.
8193 * conf/i386-pc.rmk: Likewise.
8194 * docs/grub.texi (Vendor power-on keys): New section.
8195 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
8196 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
8197 and GRUB_BUTTON_CMOS_ADDRESS.
8198 * util/grub.d/00_header.in: Handle powering-on by separate button.
8199
ad603f61
VS
82002010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8201
8202 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
8203 Removed drawing_scrollbar argument. All users updated
8204 Fixes #29792.
8205 Reported by Jo Shields
8206
3ecb080a
VS
82072010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
8210 buffer since gfxterm handles double repaint.
8211
5f2316c1
VS
82122010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
8215 * term/gfxterm.c (real_scroll): Likewise.
8216
9a25f885
VS
82172010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
8220 before calling BIOS.
8221
39fbb79a
VS
82222010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * include/grub/i18n.h: Always enable grub_gettext.
8225
228cfa97
VS
82262010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
8229 partition naming style.
8230
21717c8f
CW
82312010-05-21 Colin Watson <cjwatson@ubuntu.com>
8232
8233 * util/grub-mkconfig.in: Fix handling of -o so that it works when
8234 not the first option.
8235
c0f48e65
CW
82362010-05-20 Colin Watson <cjwatson@ubuntu.com>
8237
8238 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
8239
96779aec
CW
82402010-05-20 Colin Watson <cjwatson@ubuntu.com>
8241
8242 * util/misc.c: Move inclusion of <limits.h> to ...
8243 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
8244
fa9d256e
GS
82452010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
8246
8247 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
8248 Fix merge error in NetBSD code.
8249 (find_partition_start) [__NetBSD__]: Likewise.
8250
123b7a85
BC
82512010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
8252
8253 Fix grub-mkrescue usage unit testing.
8254
8255 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
8256
74276c0d
CF
82572010-05-18 Christian Franke <franke@computer.org>
8258
8259 * util/grub.d/10_windows.in: Use path names instead of
8260 drive letters to prevent warning from Cygwin 1.7.
8261 Add drivemap command to menuentry if needed.
8262
c4f7b523
ST
82632010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
8264
8265 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
8266 gnumach and gnumach.gz.
8267
95b97950
VS
82682010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8269
8270 * include/grub/i18n.h (gettext): Inline instead of using #define.
8271 (grub_gettext): Likewise.
8272 (_): Likewise.
8273
01b8d2d7
VS
82742010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
8277 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
8278 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
8279 (main): Add a slash after pkglibdirroot.
8280
654e1d1e
VS
82812010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8282
8283 * util/grub-install.in: Add missing "in" keyword.
8284
26966aeb
VS
82852010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8286
8287 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
8288 Reported by: Seth Goldberg.
8289
75006747
VS
82902010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
8293
74cbf5bd
CW
82942010-05-18 Colin Watson <cjwatson@ubuntu.com>
8295
8296 * configure.ac: Check for Linux device-mapper support.
8297
8298 * util/hostdisk.c (device_is_mapped): New function.
8299 (find_partition_start): New function, partly broken out from
8300 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
8301 device-mapper support added.
8302 (linux_find_partition): Use find_partition_start.
8303 (convert_system_partition_to_system_disk): Add `st' argument.
8304 Support Linux /dev/mapper/* devices if device-mapper support is
8305 available; only DM-RAID devices are understood at present.
8306 (find_system_device): Add `st' argument. Pass it to
8307 convert_system_partition_to_system_disk.
8308 (grub_util_biosdisk_get_grub_dev): Pass stat result to
8309 find_system_device and convert_system_partition_to_system_disk. Use
8310 find_partition_start.
8311
8312 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
8313 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
8314 * util/deviceiter.c [__linux__]: Define MINOR.
8315 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
8316 * util/mkdevicemap.c (grub_putchar): New function.
8317 (grub_getkey): New function.
8318 (grub_refresh): New function.
8319 (main): Set debug=all if -v -v is used.
8320
355b51e9
CW
83212010-05-18 Colin Watson <cjwatson@ubuntu.com>
8322
8323 Fix build with non-GNU libcs.
8324
8325 * util/misc.c (canonicalize_file_name): Move to ...
8326 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
8327 grub_make_system_path_relative_to_its_root.
8328
7fb5c25f
CW
83292010-05-18 Colin Watson <cjwatson@ubuntu.com>
8330
8331 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
8332 we handle finding grub-mkimage. Default to finding grub-mkimage in
8333 ${bindir} with program_transform_name applied, and provide a
8334 --grub-mkimage option to override this.
8335
1d3293d6
VS
83362010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 Remove grub-mkisofs.
8339
8340 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
8341 (grub_mkisofs_SOURCES): Removed.
8342 (grub_mkisofs_CFLAGS): Removed.
8343 * util/mkisofs/defaults.h: Removed.
8344 * util/mkisofs/eltorito.c: Likewise.
8345 * util/mkisofs/exclude.h: Likewise.
8346 * util/mkisofs/hash.c: Likewise.
8347 * util/mkisofs/include/: Likewise.
8348 * util/mkisofs/include/fctldefs.h: Likewise.
8349 * util/mkisofs/include/mconfig.h: Likewise.
8350 * util/mkisofs/include/prototyp.h: Likewise.
8351 * util/mkisofs/include/statdefs.h: Likewise.
8352 * util/mkisofs/iso9660.h: Likewise.
8353 * util/mkisofs/joliet.c: Likewise.
8354 * util/mkisofs/match.c: Likewise.
8355 * util/mkisofs/match.h: Likewise.
8356 * util/mkisofs/mkisofs.c: Likewise.
8357 * util/mkisofs/mkisofs.h: Likewise.
8358 * util/mkisofs/msdos_partition.h: Likewise.
8359 * util/mkisofs/multi.c: Likewise.
8360 * util/mkisofs/name.c: Likewise.
8361 * util/mkisofs/rock.c: Likewise.
8362 * util/mkisofs/tree.c: Likewise.
8363 * util/mkisofs/write.c: Likewise.
8364
5dde9afe
VS
83652010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 Unify grub-mkimage accross platforms.
8368
8369 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
8370 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
8371 (grub_mkelfimage_SOURCES): Removed.
8372 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
8373 (util/grub-mkimage.c_DEPENDENCIES): .. this.
8374 (bin_UTILITIES): Add grub-mkimage.
8375 (grub_mkimage_SOURCES): New variable.
8376 (kernel_img_HEADERS): Remove machine/kernel.h.
8377 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
8378 (pkglib_PROGRAMS): Add kernel.img.
8379 (kernel_img_HEADERS): Add machine/kernel.h.
8380 (kernel_img_FORMAT): Removed.
8381 (bin_UTILITIES): Remove grub-mkimage.
8382 (grub_mkimage_SOURCES): Removed.
8383 (grub_mkimage_CFLAGS): Likewise.
8384 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8385 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
8386 (pkglib_PROGRAMS): Add kernel.img.
8387 (bin_UTILITIES): Remove grub-mkimage.
8388 (grub_mkimage_SOURCES): Removed.
8389 (grub_mkimage_CFLAGS): Likewise.
8390 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8391 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
8392 (pkglib_PROGRAMS): Add kernel.img.
8393 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
8394 (pkglib_PROGRAMS): Add kernel.img.
8395 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
8396 (grub_mkimage_SOURCES): Removed.
8397 (grub_mkimage_CFLAGS): Likewise.
8398 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8399 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
8400 (pkglib_PROGRAMS): Add kernel.img.
8401 (bin_UTILITIES): Remove grub-mkimage.
8402 (grub_mkimage_SOURCES): Removed.
8403 (grub_mkimage_CFLAGS): Likewise.
8404 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8405 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
8406 (grub_mkimage_SOURCES): Removed.
8407 (grub_mkimage_CFLAGS): Likewise.
8408 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8409 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
8410 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
8411 (grub_pe32_optional_header): ... this.
8412 (grub_pe64_optional_header): ... and this. All users updated.
8413 (GRUB_PE32_PE32_MAGIC): Split into ..
8414 (GRUB_PE32_PE32_MAGIC): .. this.
8415 (GRUB_PE32_PE64_MAGIC): .. and this.
8416 (GRUB_PE32_SIGNATURE_SIZE): New definition.
8417 * include/grub/elf.h (PT_GNU_STACK): New definition.
8418 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
8419 * include/grub/i386/efi/kernel.h: Likewise.
8420 * include/grub/i386/kernel.h: Likewise.
8421 * include/grub/i386/pc/kernel.h: Likewise.
8422 * include/grub/i386/qemu/boot.h: Likewise.
8423 * include/grub/mips/kernel.h: Likewise.
8424 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8425 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8426 * include/grub/powerpc/kernel.h: Likewise.
8427 * include/grub/sparc64/ieee1275/boot.h: Likewise.
8428 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8429 * include/grub/sparc64/kernel.h: Likewise.
8430 * include/grub/x86_64/efi/kernel.h: Likewise.
8431 * include/grub/x86_64/kernel.h: Likewise.
8432 * include/grub/offsets.h: New file.
8433 * include/grub/kernel.h (grub_module_info): Split into ...
8434 (grub_module_info32): ... this.
8435 (grub_module_info64): ... and this.
8436 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
8437 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
8438 (grub_boot_blocklist): Moved from here ...
8439 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
8440 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
8441 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
8442 * include/grub/types.h (grub_target_to_host16): Removed.
8443 (grub_target_to_host32): Likewise.
8444 (grub_target_to_host64): Likewise.
8445 (grub_host_to_target16): Likewise.
8446 (grub_host_to_target32): Likewise.
8447 (grub_host_to_target64): Likewise.
8448 (grub_host_to_target_addr): Likewise.
8449
8450 Support grub-mkrescue for efi, coreboot and qemu.
8451
8452 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
8453 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
8454 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
8455 * util/grub-mkrawimage.c: Moved from here ...
8456 * util/grub-mkimage.c: ... here. All users updated.
8457 (ALIGN_ADDR): Use image_target.
8458 (TARGET_NO_FIELD): New const.
8459 (image_target_desc): New type.
8460 (image_targets): New array.
8461 (grub_target_to_host64): Use image_target.
8462 (grub_target_to_host32): Likewise.
8463 (grub_target_to_host16): Likewise.
8464 (grub_host_to_target64): Likewise.
8465 (grub_host_to_target32): Likewise.
8466 (grub_host_to_target16): Likewise.
8467 (grub_host_to_target_addr): Likewise.
8468 (generate_image): Handle multiimage.
8469 (main): Require -O parameter. All users updated.
8470 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
8471 util/efi/grub-mkimage.c
8472 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
8473 New option --rom-directory.
8474 Use xorriso.
8475 * util/i386/efi/grub-mkimage.c: Removed.
8476 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
8477 (grub_target_to_host32): Likewise.
8478 (grub_target_to_host64): Likewise.
8479 (grub_host_to_target16): Likewise.
8480 (grub_host_to_target32): Likewise.
8481 (grub_host_to_target64): Likewise.
8482 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
8483 (grub_target_to_host32): Likewise.
8484 (grub_target_to_host64): Likewise.
8485 (grub_host_to_target16): Likewise.
8486 (grub_host_to_target32): Likewise.
8487 (grub_host_to_target64): Likewise.
8488
f4fc97d0
BC
84892010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
8490
8491 Source tree is reorganized for emu build.
8492
8493 * include/grub/util/console.h: Move from here...
8494 * include/grub/emu/console.h: ...to here.
8495 * include/grub/util/getroot.h: Move from here...
8496 * include/grub/emu/getroot.h: ...to here.
8497 * include/grub/util/hostdisk.h: Move from here...
8498 * include/grub/emu/hostdisk.h: ...to here.
8499 * util/console.c: Move from here...
8500 * kern/emu/console.c: ...to here.
8501 * util/getroot.c: Move from here...
8502 * kern/emu/getroot.c: ...to here.
8503 * util/grub-emu.c: Move from here...
8504 * kern/emu/main.c: ...to here.
8505 * util/hostdisk.c: Move from here...
8506 * kern/emu/hostdisk.c: ...to here.
8507 * util/hostfs.c: Move from here...
8508 * kern/emu/hostfs.c: ...to here.
8509 * util/mm.c: Move from here...
8510 * kern/emu/mm.c: ...to here.
8511 * util/pci.c: Move from here...
8512 * bus/emu/pci.c: ...to here.
8513 * util/sdl.c: Move from here...
8514 * video/emu/sdl.c: ...to here.
8515 * util/time.c: Move from here...
8516 * kern/emu/time.c: ...to here.
8517 * util/usb.c: Move from here...
8518 * bus/usb/emu/usb.c: ...to here.
8519
8520 * include/grub/emu/misc.h: New header for grub-emu functions.
8521 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
8522
8523 * conf/any-emu.rmk: Rule updates for above renames.
8524 * conf/common.rmk: Likewise.
8525 * conf/i386-pc.rmk: Likewise.
8526 * conf/i386-qemu.rmk: Likewise.
8527 * conf/mips.rmk: Likewise.
8528 * conf/sparc64-ieee1275.rmk: Likewise.
8529 * conf/x86-efi.rmk: Likewise.
8530
8531 * disk/lvm.h: #include updates for above renames.
8532 * util/grub-mkrelpath.c: Likewise.
8533 * util/grub-probe.c: Likewise.
8534 * util/i386/pc/grub-setup.c: Likewise.
8535 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8536 * kern/emu/console.c: Likewise.
8537 * kern/emu/getroot.c: Likewise.
8538 * kern/emu/hostdisk.c: Likewise.
8539 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
8540
8541 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
8542 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
8543 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
8544 * util/misc.c: Remove grub-emu functions.
8545
cced9145
VS
85462010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 Fix gfxmenu crash.
8549 Reported by: Thorsten Grützmacher.
8550
8551 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
8552 timeout hook.
8553 (circprog_set_property): Register and unregister timeout hook.
8554 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
8555 (label_destroy): Free template. and unregister hook.
8556 (label_set_state): New function.
8557 (label_set_property): Handle templates and hooks.
8558 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
8559 timeout hook.
8560 (progress_bar_set_property): Register and unregister timeout hook.
8561 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
8562 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
8563 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
8564 (update_timeout_visit): Removed.
8565 (update_timeouts): New function.
8566 (redraw_timeouts): Likewise.
8567 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
8568 (grub_gfxmenu_clear_timeout): Likewise.
8569 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
8570 (grub_gfxmenu_timeout_notify): Likewise.
8571 (grub_gfxmenu_timeout_notifications): New external variable.
8572 (grub_gfxmenu_timeout_register): New function.
8573 (grub_gfxmenu_timeout_unregister): Likewise.
8574
c6e5caab
VS
85752010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 Transform (broken) vga terminal into (working) vga video driver.
8578
8579 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
8580 video/i386/pc/vga.c.
8581 * include/grub/video.h (grub_video_driver_id):
8582 Add GRUB_VIDEO_DRIVER_VGA.
8583 * term/i386/pc/vga.c: Renamed to ...
8584 * video/i386/pc/vga.c: ...this
8585 (DEBUG_VGA): Removed.
8586 (CHAR_WIDTH): Likewise.
8587 (CHAR_HEIGHT): Likewise.
8588 (TEXT_WIDTH): Likewise.
8589 (TEXT_HEIGHT): Likewise.
8590 (DEFAULT_FG_COLOR): Likewise.
8591 (DEFAULT_BG_COLOR): Likewise.
8592 (colored_char): Likewise.
8593 (xpos): Likewise.
8594 (ypos): Likewise.
8595 (cursor_state): Likewise.
8596 (fg_color): Likewise.
8597 (bg_color): Likewise.
8598 (text_buf): Likewise.
8599 (page): Likewise.
8600 (font): Likewise.
8601 (framebuffer): New variable.
8602 (set_read_map): Disabled.
8603 (setup): New variable.
8604 (is_target): Likewise.
8605 (grub_vga_mod_init): Likewise.
8606 (grub_vga_mod_fini): Likewise.
8607 (check_vga_mem): Likewise.
8608 (write_char): Likewise.
8609 (write_cursor): Likewise.
8610 (scroll_up): Likewise.
8611 (grub_vga_putchar): Likewise.
8612 (grub_vga_getcharwidth): Likewise.
8613 (grub_vga_getwh): Likewise.
8614 (grub_vga_getxy): Likewise.
8615 (grub_vga_gotoxy): Likewise.
8616 (grub_vga_cls): Likewise.
8617 (grub_vga_setcolorstate): Likewise.
8618 (grub_vga_setcursor): Likewise.
8619 (grub_video_vga_init): New function.
8620 (grub_video_vga_setup): Likewise.
8621 (grub_video_vga_fini): Likewise.
8622 (update_target): Likewise.
8623 (grub_video_vga_blit_bitmap): Likewise.
8624 (grub_video_vga_blit_render_target): Likewise.
8625 (grub_video_vga_set_active_render_target): Likewise.
8626 (grub_video_vga_get_active_render_target): Likewise.
8627 (grub_video_vga_swap_buffers): Likewise.
8628 (grub_video_vga_set_palette): Likewise.
8629 (grub_video_vga_get_info_and_fini): Likewise.
8630 (grub_vga_term): Removed.
8631 (grub_video_vga_adapter): New variable.
8632 (GRUB_MOD_INIT): Register a video driver instead of terminal.
8633 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
8634
2bf61a98
VS
86352010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * video/readers/jpeg.c: Indented.
8638
09ddcd11
VS
86392010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 Various jpeg cleanups.
8642
8643 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
8644 (grub_jpeg_decode_quan_table): Use sizeof.
8645 (grub_jpeg_decode_du): Use ARRAY_SIZE.
8646
e5507505
PH
86472010-05-05 Peter Hurley <No e-mail available> (tiny change)
8648
8649 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
8650 tables. Ignore non-last ac bit.
8651 (grub_jpeg_decode_quan_table): Likewise.
8652
7e720a9b
VS
86532010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8656 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
8657 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8658 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
8659 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
8660 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
8661
a7fc080b
VS
86622010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
8665 error.
8666
2bf6012d
VS
86672010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
8670
265d68cd
VS
86712010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
8674 condition.
8675
86762010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
8677
8678 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
8679 part.
8680
265d68cd 86812010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
8682
8683 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
8684 pointers.
8685
265d68cd 86862010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
8687
8688 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
8689
d1b61374
CF
86902010-05-01 Christian Franke <franke@computer.org>
8691
8692 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
8693 Remove broken Cygwin path conversion.
8694 * util/misc.c: [__CYGWIN__] Add include and define.
8695 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
8696 for Cygwin 1.7.
8697 (make_system_path_relative_to_its_root): Simplify loop, replace early
8698 return by break.
8699 [__CYGWIN__] Add conversion to win32 path.
8700 Include "/" case in trailing slash removal.
8701
3558c6e9
VS
87022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * kern/main.c (grub_load_config): Fix copy-pasted comment.
8705 Reported by: Seth Goldberg
8706
f5f3ff93
VS
87072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * commands/help.c (grub_cmd_help): Fix a typo.
8710 Reported by: Seth Goldberg
8711
d8b5cd40
VS
87122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
8715 name and add N_.
8716 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
8717 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
8718 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
8719 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
8720 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
8721 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
8722 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8723 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8724 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8725 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8726 * normal/context.c (GRUB_MOD_INIT): Likewise.
8727 * normal/main.c (GRUB_MOD_INIT): Likewise.
8728 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8729 * term/serial.c (GRUB_MOD_INIT): Likewise.
8730 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8731
88c14915
VS
87322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
8735 extra == 0.
8736
165134bc
VS
87372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * commands/iorw.c: New file.
8740 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
8741 (iorw_mod_SOURCES): New variable.
8742 (iorw_mod_CFLAGS): Likewise.
8743 (iorw_mod_LDFLAGS): Likewise.
8744
c5ac9b32
VS
87452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 Hotkey support
8748
8749 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
8750 * normal/main.c (hotkey_aliases): New variable.
8751 (grub_normal_add_menu_entry): Parse "--hotkey".
8752 * normal/menu_text.c (run_menu): Handle hotkeys.
8753
ce60689c
VS
87542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 * kern/i386/coreboot/init.c (grub_machine_init): Call
8757 grub_machine_mmap_init on qemu.
8758
0359d006
VS
87592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * boot/i386/qemu/boot.S: Add a missing .code16.
8762
7819a456
VS
87632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 Use LBIO on coreboot.
8766
8767 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
8768 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
8769 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
8770 New declaration.
8771 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
8772 grub_machine_mmap_init on coreboot.
8773 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
8774 GRUB_LINUXBIOS_MEMBER_LINK.
8775 (grub_machine_mmap_iterate): Fix declaration.
8776 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
8777
7210dca9
VS
87782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 Split coreboot and multiboot ports.
8781
8782 * conf/i386-multiboot.rmk: New file.
8783 * configure.ac: Add multiboot port.
8784 * include/grub/i386/multiboot/boot.h: New file.
8785 * include/grub/i386/multiboot/console.h: Likewise.
8786 * include/grub/i386/multiboot/init.h: Likewise.
8787 * include/grub/i386/multiboot/kernel.h: Likewise.
8788 * include/grub/i386/multiboot/loader.h: Likewise.
8789 * include/grub/i386/multiboot/memory.h: Likewise.
8790 * include/grub/i386/multiboot/serial.h: Likewise.
8791 * include/grub/i386/multiboot/time.h: Likewise.
8792 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
8793 * loader/multiboot.c: Likewise.
8794 * loader/multiboot_mbi2.c: Likewise.
8795 * util/grub-mkrescue.in: Generate multiboot rescue.
8796
6f8aaf68
VS
87972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8798
3080f7a7
VS
8799 * kern/parser.c (grub_parser_execute): Cope with read-only config.
8800
88012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8802
8803 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
8804
8805 * commands/terminal.c (abstract_terminal): New struct.
8806 (handle_command): New function. Based on grub_cmd_terminal_input.
8807 (grub_cmd_terminal_input): Use handle_command.
8808 (grub_cmd_terminal_output): Use handle_command.
8809
a8ebb841
BC
88102010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
8811
8812 Fix comment handling.
8813
8814 * tests/grub_script_comments.in: New testcase.
8815 * conf/tests.rmk: Rules for new testcase.
8816 * script/yylex.l: Updated flex rules.
8817
bb06ba08
ST
88182010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
8819
8820 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
8821 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
8822 if argc is 1.
bb06ba08 8823
cc9d2425
VS
88242010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
8827 autogen issues.
8828
460d8402
CF
88292010-04-26 Christian Franke <franke@computer.org>
8830
8831 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
8832 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
8833 (grub_get_prefix): Remove function.
8834 * util/grub-emu.c (main): Replace grub_get_prefix () call by
8835 make_system_path_relative_to_its_root ().
8836 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8837
553c01f9
CF
88382010-04-24 Christian Franke <franke@computer.org>
8839
8840 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
8841 (kernel_img_LDFLAGS): Remove -static-libgcc.
8842
2aec1692
CF
88432010-04-24 Christian Franke <franke@computer.org>
8844
8845 * configure.ac: Do not CHECK_BSS_START_SYMBOL
8846 and CHECK_END_SYMBOL if grub-emu is built.
8847 Unset TARGET_OBJ2ELF if grub-emu is built
8848 without module support.
8849
f67dc308
JS
88502010-04-24 Jiro SEKIBA <jir@unicus.jp>
8851
8852 Nilfs2 support.
8853
8854 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
8855 (grub_fstest_SOURCES): Likewise.
8856 (pkglib_MODULES): Add nilfs2.mod.
8857 (nilfs2_mod_SOURCES): New variable.
8858 (nilfs2_mod_CFLAGS): Likewise.
8859 (nilfs2_mod_LDFLAGS): Likewise.
8860 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8861 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8862 * fs/nilfs2.c: New file.
8863
4ba8d354
VS
88642010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
8867 is not supported.
8868
0d2c20c6
GS
88692010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
8870
8871 Add grub-mkconfig support for NetBSD.
8872
8873 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
8874 * util/grub-mkconfig.in: export new NetBSD specific variables.
8875 * po/POTFILES-shell: added 10_netbsd.in.
8876 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
8877
bc4a2d83
BC
88782010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
8879
8880 Fix emu build with grub-emu-pci and grub-emu-modules.
8881
8882 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
8883 functions.
8884 * include/grub/libpciaccess.h: New file.
8885 * conf/any-emu.rmk: Update kernel headers for emu build.
8886
f48c87aa
VS
88872010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
8890
18959385
VS
88912010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
8894
0037de3f
VS
88952010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
8898 Retrieve chosen/bootpath if bootpath isn't hardcoded.
8899 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
8900 util/ieee1275/ofpath.c.
8901 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
8902 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
8903 * include/grub/sparc64/ieee1275/boot.h
8904 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
8905 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
8906 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
8907 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
8908 const char *.
8909 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
8910 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
8911 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
8912 install.
8913
38e55e90
GS
89142010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8915
8916 * util/grub-mkconfig.in: Corrected two == equality tests.
8917 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
8918 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
8919 expect a number appended to it.
8920 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
8921 expects a number appended to it.
8922
a9e6ff28
VS
89232010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
8926
0b830b8f
VS
89272010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 * util/hostdisk.c (make_device_name): Change to new partition naming.
8930
0973daeb
VS
89312010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8932
8933 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
8934
460d8402 89352010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
8936
8937 * Makefile.in: Add missing localedir setting.
8938
0b456309
CW
89392010-04-14 Colin Watson <cjwatson@ubuntu.com>
8940
8941 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
8942 mistake in r2156. Noticed by Anthony Fok.
8943
8944 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
8945 @localedir@.
8946 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8947
08f46d62
BC
89482010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
8949
8950 Fix a spurious, uninitialized variable warning.
8951
8952 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
8953 Initialize variable, shdr.
8954 (grub_freebsd_load_elfmodule): Likewise.
8955 (grub_freebsd_load_elf_meta): Likewise.
8956
8c4a72d4
BC
89572010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
8958
8959 Fix for escaped dollar in double quoted strings.
8960
8961 * script/yylex.l: Updated flex rules.
8962 * conf/tests.rmk: Rule for new testcase.
8963 * tests/grub_script_dollar.in: New testcase.
8964
ce44826e
CPE
89652010-04-13 Carles Pina i Estany <carles@pina.cat>
89662010-04-13 Colin Watson <cjwatson@ubuntu.com>
8967
8968 Enclose all translated strings in grub.cfg in single quotes, and
8969 escape them appropriately (Ubuntu bug #552921).
8970
8971 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
8972 * util/grub.d/10_hurd.in: Use it.
8973 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8974 * util/grub.d/10_linux.in (linux_entry): Likewise.
8975
4b0cd8f8
VS
89762010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8977
8978 Fix cygwin compilation.
8979
8980 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
8981 * include/grub/misc.h (__register_frame_info)
8982 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
8983 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8984 * kern/misc.c (__register_frame_info)
8985 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
8986 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8987
01fcf061
VS
89882010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
8991
5d04b11e
VS
89922010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8993
8994 Unify libgcc processing.
8995
8996 * Makefile.in (kernel_img_LDFLAGS): New variable.
8997 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
8998 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
8999 overwriting.
9000 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
9001 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
9002 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
9003 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
9004 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
9005 overwriting. Remove -lgcc and -static-libgcc
9006 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
9007 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9008 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9009 (kernel_img_LDFLAGS): Append instead of overwriting.
9010 Remove -lgcc and -static-libgcc
9011 * conf/sparc64-ieee1275.rmk: Likewise.
9012 * include/grub/powerpc/libgcc.h: Move to ...
9013 * include/grub/libgcc.h: .. this.
9014 * include/grub/libgcc.h: Don't export most of the function on x86.
9015 (__bswapsi2): New export.
9016 (__bswapdi2): Likewise.
9017 * include/grub/mips/libgcc.h: Removed.
9018 * include/grub/sparc64/libgcc.h: Likewise.
9019
b7f3ac29
VS
90202010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
9023 disk_info_msg (conflicts with gettexting into languages with cases).
9024
2c7031b1
GS
90252010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9026
9027 Add grub-probe support for NetBSD.
9028
9029 * util/getroot.c (find_root_device): Convert block device to
9030 character device on NetBSD.
9031 * util/probe.c (probe): Require character device on NetBSD.
9032 * util/hostdisk.c: NetBSD specific headers.
9033 (configure_device_driver): new function to tune device driver
9034 parameters (currently only for NetBSD floppy driver).
9035 (grub_util_biosdisk_open): NetBSD specific code (get disk size
9036 via disklabel ioctl).
9037 (open_device): call configure_device_driver on NetBSD.
9038 (convert_system_partition_to_system_disk): NetBSD specific code.
9039 (device_is_wholedisk): Likewise.
9040 (grub_util_biosdisk_get_grub_dev): Likewise.
9041 (make_device_name): Fixed a typo in bsd_part_str.
9042 * configure.ac: check for opendisk() and getrawpartition() on
9043 NetBSD and set LIBUTIL.
9044 * Makefile.in: add LIBUTIL to LIBS.
9045
f516290c
BC
90462010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9047
9048 Documentation fix.
9049
9050 * util/grub-script-check.c: Better help message.
9051
d8dcc0df
BC
90522010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9053
9054 Fix FreeBSD build.
9055
9056 * configure.ac: Flex version check.
9057 * conf/common.rmk: Add -Wno-error to sh.mod.
9058 * script/yylex.l: Remove all #pragma.
9059
6734334a
VS
90602010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * include/grub/util/misc.h (canonicalise_file_name): Add missing
9063 prototype.
9064 Reported by: Seth Goldberg.
9065
daea6abd
VS
90662010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9067
9068 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
9069 Rename "module" to "module2".
9070 Reported by: Seth Goldberg.
9071
f2fd9d2b
VS
90722010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9073
9074 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
9075 EXPORT_FUNC.
9076 Reported by: Seth Goldberg.
9077
be124579
VS
90782010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 * lib/posix_wrap/locale.h: Add missing file.
9081 Reported by: Seth Goldberg.
9082
ef5da797
VS
90832010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 grub-emu module load support.
9086
9087 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
9088 NO_DYNAMIC_MODULES switched to this.
9089 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
9090 (CFLAGS): Likewise.
9091 * conf/any-emu.rmk: Generate symlist.
9092 (kernel_img_HEADERS): Add util/datetime.h.
9093 (kernel_img_HEADERS) [sdl]: Add sdl.h.
9094 (kernel_img_HEADERS) [libusb]: Add libusb.h.
9095 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
9096 kern/$(target_cpu)/cache.S.
9097 * configure.ac (grub-emu-modules): New option.
9098 * genmk.rb: Handle multiple source lists.
9099 * include/grub/sdl.h: New file.
9100 * include/grub/libusb.h: Likewise.
9101 * util/grub-emu.c (main): Hanle (host) root.
9102 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
9103 GRUB_ERR_UNKNOWN_DEVICE.
9104 * util/misc.c: Move mm functions to ...
9105 * util/mm.c: ... here. All users updated.
9106
47822096
VS
91072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
9110 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
9111 missing files.
9112 (maintainer-clean): Remove libgcrypt-grub.
9113
5d7e7445
VS
91142010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
9117
25f4e252
EC
91182010-04-09 EFI Coder <eficoder@hotmail.com>
9119
9120 * normal/menu_text.c (print_message): Clean up the message and show
9121 the Fn information when on EFI
9122 * term/efi/console.c (grub_console_checkkey): Add F4 support.
9123
027de555
VS
91242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
9127 All users updated.
9128 * normal/crypto.c (read_crypto_list): Likewise.
9129 * normal/dyncmd.c (read_command_list): Likewise.
9130 * normal/term.c (read_terminal_list): Likewise.
9131 * normal/main.c (read_lists): Use explicit prefix.
9132 (read_lists_hook): Use read_lists.
9133 (grub_normal_execute): Likewise.
9134
47779711
VS
91352010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
9138 Reported by: Thomas Schmitt.
9139 Add -no-emul-boot to grub-mkisofs parameters.
9140
1118c32e
VS
91412010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 * font/font.c: Indented.
9144
7d652447
BC
91452010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9146
9147 Elif support to GRUB script (by Deepak Vankadaru).
9148
9149 * tests/grub_script_if.in: New testcase.
9150 * conf/tests.rmk: Rule for new testcase.
9151 * script/parser.y: Grammar rules for elif.
9152
34bb22df
BC
91532010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9154
9155 While and until loops support to GRUB script.
9156
9157 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
9158 (grub_script_create_cmdwhile): New function prototype.
9159 (grub_script_execute_cmdwhile): New function prototype.
9160 * script/execute.c (grub_script_execute_cmdwhile): New function.
9161 * script/parser.y (command): New commands.
9162 (whilecmd): New grammar rule.
9163 (untilcmd): New grammar rule.
9164 * script/script.c (grub_script_create_cmdwhile): New function.
9165 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
9166 function.
9167
9168 * tests/grub_script_while1.in: New testcase.
9169 * conf/tests.rmk: Rule for new testcase.
9170
e215d8e0
VS
91712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
9174 as *.jpg.
9175
d7c43ba1
MV
91762010-04-09 Mario Vazquez <mariovazq@gmail.com>
9177
9178 GRUB_BACKGROUND support.
9179
9180 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
9181 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
9182
d64795c0
VS
91832010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 9186 Idea by: Mario Vazquez
d64795c0
VS
9187
9188 * util/grub.d/00_header.in: Load pf2 and image modules.
9189
f267f83a
VS
91902010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 grub-mkconfig multiple terminal support.
9193
9194 * util/grub-mkconfig.in: Handle multiple terminals correctly.
9195 * util/grub.d/00_header.in: Likewise.
9196
b7841ceb
VS
91972010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * Makefile.in: Specify files explicitly instead of using $< and $@ since
9200 we use cd $(srcdir).
9201
df60998c
CW
92022010-04-08 Colin Watson <cjwatson@ubuntu.com>
9203
9204 * util/grub.d/10_linux.in: Only use the first word of
9205 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
9206 spaces in GRUB_DISTRIBUTOR.
9207 * util/grub.d/10_kfreebsd.in: Likewise.
9208 * util/grub.d/10_hurd.in: Likewise.
9209
fa09c82e
BC
92102010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
9211
14e18ae3 9212 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
9213
9214 * tests/util/grub-shell.in: Remove -serial stdio option.
9215
daf892b3
BC
92162010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 POSIX header file wrappers.
9219
9220 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
9221 equivalents.
9222 * lib/posix_wrap/ctype.h: Likewise.
9223 * lib/posix_wrap/errno.h: Likewise.
9224 * lib/posix_wrap/langinfo.h: Likewise.
9225 * lib/posix_wrap/limits.h: Likewise.
9226 * lib/posix_wrap/localcharset.h: Likewise.
9227 * lib/posix_wrap/stdint.h: Likewise.
9228 * lib/posix_wrap/stdio.h: Likewise.
9229 * lib/posix_wrap/stdlib.h: Likewise.
9230 * lib/posix_wrap/string.h: Likewise.
9231 * lib/posix_wrap/sys/types.h: Likewise.
9232 * lib/posix_wrap/unistd.h: Likewise.
9233 * lib/posix_wrap/wchar.h: Likewise.
9234 * lib/posix_wrap/wctype.h: Likewise.
9235 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
9236 (grub_script.yy.h): Likewise.
9237 * script/yylex.l: Remove POSIX emulation #defines.
9238 * Makefile.in (POSIX_CFLAGS): New variable.
9239 (GNULIB_UTIL_CFLAGS): Likewise.
9240
9241 Regexp support.
9242
9243 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
9244 (regexp_mod_SOURCES): New variable.
9245 (regexp_mod_CFLAGS): Likewise.
9246 (regexp_mod_LDFLAGS): Likewise.
9247 * commands/regexp.c: New file.
9248 * gnulib/regcomp.c: New file. Imported from gnulib.
9249 * gnulib/regex.c: Likewise.
9250 * gnulib/regex_internal.c: Likewise.
9251 * gnulib/regex_internal.h: Likewise.
9252 * gnulib/regexec.c: Likewise.
9253 * gnulib/regex.h: Likewise.
9254
974ac4f7
VS
92552010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
9258 unsupported video mode types.
9259
2622c3ff
VS
92602010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
9263
064cb524
VS
92642010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
9267 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
9268
a8c3b552
VS
92692010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9270
9271 Remove unused grub_vga_get_font.
9272
9273 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
9274 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
9275
187bbe3d
GS
92762010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9277
9278 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
9279 * include/grub/misc.h: Likewise.
9280
b9396631
GS
92812010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9282
9283 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
9284 for which failure is fatal.
9285
50479feb
GS
92862010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9287
9288 * util/grub-install.in: Use mkdir -p to create grub directory.
9289 * util/i386/efi/grub-install.in: Likewise.
9290 * util/ieee1275/grub-install.in: Likewise.
9291
b1654fdf
GS
92922010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9293
9294 * Makefile.in (LEX): new variable.
9295
bd5a6415
GS
92962010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9297
9298 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
9299 `=' and added double quotes on operands of this equality test.
9300
3db3a82b
VS
93012010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * Makefile.in (uninstall): Remove a leftover debug echo.
9304 Reported by: Grégoire Sutre
9305
38023412
VS
93062010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 MIPS multiboot2 support.
9309
9310 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
9311 (multiboot2_mod_SOURCES): New variable.
9312 (multiboot2_mod_CFLAGS): Likewise.
9313 (multiboot2_mod_LDFLAGS): Likewise.
9314 (multiboot2_mod_ASFLAGS): Likewise.
9315 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
9316 definition.
9317 (MULTIBOOT_ENTRY_REGISTER): Likewise.
9318 (MULTIBOOT_MBI_REGISTER): Likewise.
9319 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
9320 (MULTIBOOT_ELF32_MACHINE): Likewise.
9321 (MULTIBOOT_ELF64_MACHINE): Likewise.
9322 * include/grub/mips/multiboot.h: New file.
9323 * include/grub/video.h (grub_video_driver_id): New type
9324 GRUB_VIDEO_DRIVER_SM712.
9325 (grub_video_get_info_and_fini): Export.
9326 (grub_video_get_palette): Likewise.
9327 (grub_video_get_driver_id): Likewise.
9328 * include/multiboot2.h: Resynced with spec.
9329 * loader/i386/multiboot.c: Moved from here ...
9330 * loader/multiboot.c: ... here. All users updated.
9331 (grub_multiboot_boot): Use platform-specific macros.
9332 * loader/i386/multiboot_elfxx.c: Moved from here ...
9333 * loader/multiboot_elfxx.c: ... here. All users updated.
9334 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
9335 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
9336 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
9337
47674667
VS
93382010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 Import gnulib argp module.
9341
9342 * gnulib/argp-ba.c: New file.
9343 * gnulib/argp-eexst.c: Likewise.
9344 * gnulib/argp-fmtstream.c: Likewise.
9345 * gnulib/argp-fmtstream.h: Likewise.
9346 * gnulib/argp-fs-xinl.c: Likewise.
9347 * gnulib/argp-help.c: Likewise.
9348 * gnulib/argp-namefrob.h: Likewise.
9349 * gnulib/argp-parse.c: Likewise.
9350 * gnulib/argp-pin.c: Likewise.
9351 * gnulib/argp-pv.c: Likewise.
9352 * gnulib/argp-pvh.c: Likewise.
9353 * gnulib/argp-version-etc.c: Likewise.
9354 * gnulib/argp-version-etc.h: Likewise.
9355 * gnulib/argp-xinl.c: Likewise.
9356 * gnulib/argp.h: Likewise.
9357
495442ed
VS
93582010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 * kern/device.c (grub_device_iterate): Clear errors after failed
9361 opening device.
9362
f9fd65df
VS
93632010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
9366 returned by firmware.
9367
af09641e
VS
93682010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
9371 compilation on coreboot and qemu
9372
016883a5
VS
93732010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 * include/multiboot2.h: Resync with spec.
9376
f97e1f7d
VS
93772010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 Multiboot2 tag support
9380
9381 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
9382 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
9383 Remove loader/multiboot_loader.c.
9384 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
9385 (grub_multiboot2_real_boot): Likewise.
9386 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
9387 (grub_get_multiboot_mmap_count): New proto.
9388 (grub_fill_multiboot_mmap): Likewise.
9389 (grub_multiboot_set_video_mode): Likewise.
9390 (grub_multiboot_set_console): Likewise.
9391 (grub_multiboot_load): Likewise.
9392 (grub_multiboot_load_elf): Likewise.
9393 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
9394 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
9395 * include/multiboot.h: Resynced with specification.
9396 * include/multiboot2.h: Resynced with specification.
9397 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
9398 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
9399 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
9400 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
9401 users updated.
9402 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
9403 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
9404 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
9405 Removed.
9406 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
9407 Moved from here...
9408 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
9409 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9410 Moved from here...
9411 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
9412 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
9413 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
9414 All users updated.
9415 * loader/i386/multiboot_mbi2.c: New file.
9416
3506b90b
VS
94172010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9418
9419 Resync with gnulib.
9420
9421 * Makefile.in (GNULIB_CFLAGS): New variable.
9422 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
9423 (grub_script_check_CFLAGS): New variable.
9424 * gnulib/alloca.h: Resync with gnulib.
9425 * gnulib/error.c: Likewise.
9426 * gnulib/error.h: Likewise.
9427 * gnulib/fnmatch.c: Likewise.
9428 * gnulib/fnmatch_loop.c: Likewise.
9429 * gnulib/getdelim.c: Likewise.
9430 * gnulib/getline.c: Likewise.
9431 * gnulib/getopt.c: Likewise.
9432 * gnulib/getopt1.c: Likewise.
9433 * gnulib/getopt_int.h: Likewise.
9434 * gnulib/gettext.h: Likewise.
9435 * gnulib/progname.c: Likewise.
9436 * gnulib/progname.h: Likewise.
9437
394a3120
GS
94382010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
9439
9440 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
9441 which is the case with --disabled-nls.
9442
9443 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
9444 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
9445 * util/misc.c: Likewise.
9446 * util/mkisofs/mkisofs.c: Likewise.
9447 * util/mkisofs/mkisofs.h: Likewise.
9448
969d1c78
VS
94492010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9450
9451 Simplify Apple CC support.
9452
9453 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
9454 Add 0 byte at the end not to have a symbol with empty target.
9455 * mmap/i386/pc/mmap_helper.S: Likewise.
9456 * genmk.rb: Ignore errors 2030 and 2050.
9457 * kern/i386/pc/startup.S: Use LOCAL when possible.
9458
8d2977bb
BC
94592010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
9460
9461 Testcase and the fix for final semicolon on cmdline.
9462
9463 * tests/grub_script_final_semicolon.in: New testcase.
9464 * conf/tests.rmk: Rules for the new testcase.
9465 * script/parser.y: Grammar fix.
9466
a7bd6915
BC
94672010-03-26 BVK Chaitanya <bvk@localhost>
9468
9469 Blank lines testcase for GRUB script.
9470
9471 * tests/grub_script_blanklines.in: New testcase.
9472 * conf/tests.rmk: Rules for the new testcase.
9473
e4ff6628
VS
94742010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 Don't use __FILE__.
9477
9478 * genmk.rb: Add -DGRUB_FILE to all C targets.
9479 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
9480 * include/grub/list.h: Likewise.
9481 * include/grub/misc.h: Likewise.
9482 * include/grub/mm.h: Likewise.
9483 * include/grub/test.h: Likewise.
9484 * kern/mm.c: Likewise.
9485 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9486
6a5cf6b6
VS
94872010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 Sunpc partitions support.
9490
9491 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
9492 (grub_fstest_SOURCES): Likewise.
9493 (pkglib_MODULES): Add part_sunpc.mod.
9494 (part_sunpc_mod_SOURCES): New variable.
9495 (part_sunpc_mod_CFLAGS): Likewise.
9496 (part_sunpc_mod_LDFLAGS): Likewise.
9497 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
9498 * partmap/sunpc.c: New file.
9499
746d9045
BC
95002010-03-26 BVK Chaitanya <bvk@localhost>
9501
9502 For loop support to GRUB script.
9503
9504 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
9505 (grub_script_create_cmdfor): New function prototype.
9506 (grub_script_execute_cmdfor): New function prototype.
9507 * script/execute.c (grub_script_execute_cmdfor): New function.
9508 * script/parser.y (command): New for command.
9509 (forcmd): New grammar rule.
9510 * script/script.c (grub_script_create_cmdfor): New function.
9511 * util/grub-script-check.c (grub_script_execute_cmdfor): New
9512 function.
9513 * tests/grub_script_for1.in: New testcase.
9514 * conf/tests.rmk: Rules for new testcase.
9515
18486b18
VS
95162010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 Nested partitions
9519
9520 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
9521 'partition' is NULL, grub_partition_get_start already does that.
9522 * commands/loadenv.c (check_blocklists): Likewise.
9523 (write_blocklists): Likewise.
9524 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
9525 (grub_fstest_SOURCES): Likewise.
9526 (pkglib_MODULES): Add part_bsd.mod.
9527 (part_bsd_mod_SOURCES): New variable.
9528 (part_bsd_mod_CFLAGS): Likewise.
9529 (part_bsd_mod_LDFLAGS): Likewise.
9530 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
9531 (grub_emu_SOURCES): Likewise.
9532 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9533 * include/grub/bsdlabel.h: New file.
9534 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
9535 'get_name'.
9536 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
9537 (grub_partition_map_list): New variable.
9538 (grub_partition_map_register): Inline.
9539 (grub_partition_map_unregister): Likewise.
9540 (FOR_PARTITION_MAPS): New macro.
9541 (grub_partition_map_iterate): Removed.
9542 (grub_partition_get_start): Handle nested partitions.
9543 * include/grub/msdos_partition.h: Remove bsd-related entries.
9544 (grub_pc_partition): Remove.
9545 * kern/disk.c (grub_disk_close): Free partition data.
9546 (grub_disk_adjust_range): Handle nested partitions.
9547 * kern/partition.c (grub_partition_map_probe): New function.
9548 (grub_partition_probe): Parse name to number, handle subpartitions.
9549 (get_partmap): New function.
9550 (grub_partition_iterate): Handle subpartitions.
9551 (grub_partition_get_name): Likewise.
9552 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
9553 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
9554 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
9555 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
9556 Set 'number'.
9557 (acorn_partition_map_probe): Remove.
9558 (acorn_partition_map_get_name): Likewise.
9559 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
9560 Set 'number'.
9561 Set 'index' to 0 since there can be only one partition entry per sector.
9562 (amiga_partition_map_probe): Remove.
9563 (amiga_partition_map_get_name): Likewise.
9564 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
9565 Set 'number'.
9566 Set 'offset' and 'index' to real positions of partitions.
9567 (apple_partition_map_probe): Remove.
9568 (apple_partition_map_get_name): Likewise.
9569 * partmap/bsdlabel.c: New file.
9570 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
9571 Set 'number'.
9572 Allocate 'data' so it can be correctly freed.
9573 Set 'index' to offset inside sector.
9574 (gpt_partition_map_probe): Remove.
9575 (gpt_partition_map_get_name): Likewise.
9576 * partmap/msdos.c (grub_partition_parse): Remove.
9577 (pc_partition_map_iterate): Don't force raw access.
9578 Set 'number'.
9579 Make 'ext_offset' a local variable.
9580 (pc_partition_map_probe): Remove.
9581 (pc_partition_map_get_name): Remove.
9582 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
9583 Set 'number'.
9584 (sun_partition_map_probe): Remove.
9585 (sun_partition_map_get_name): Likewise.
9586 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
9587 (grub_pcpart_type): Likewise.
9588 * util/hostdisk.c (open_device): Handle new numbering scheme.
9589 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
9590 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
9591 * util/grub-probe.c (probe_partmap): Handle nested paritions.
9592 * util/grub-install.in: Insert all subpartition modules.
9593 * util/ieee1275/grub-install.in: Likewise.
9594
a3940f88
AG
95952010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
9596
9597 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
9598 grammar.
9599
21b99926 96002010-03-24 Colin Watson <cjwatson@ubuntu.com>
9601
9602 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
9603
bed1d352
CW
96042010-03-21 Colin Watson <cjwatson@ubuntu.com>
9605
9606 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
9607 match where 'make install' puts them.
9608 * util/i386/efi/grub-install.in: Likewise.
9609
c9f58427
CW
96102010-03-19 Colin Watson <cjwatson@ubuntu.com>
9611
9612 * .bzrignore: Add gentrigtables, grub-script-check,
9613 grub_script_check_init.c, grub_script_check_init.h, and
9614 trigtables.c.
9615
f84afb27
VS
96162010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
9617
9618 * kern/parser.c: Indented.
9619
ed0e3d30
VS
96202010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
9623
0ea81d98
VS
96242010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
9627 alpha_mask_size == 0 case.
9628
0cdc2a09
BC
96292010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
9630
9631 GRUB shell lexer and parser improvements.
9632
9633 * conf/any-emu.rmk: Build rule updates.
9634 * conf/common.rmk: Likewise.
9635 * conf/i386-coreboot.rmk: Likewise.
9636 * conf/i386-efi.rmk: Likewise.
9637 * conf/i386-ieee1275.rmk: Likewise.
9638 * conf/i386-pc.rmk: Likewise.
9639 * conf/powerpc-ieee1275.rmk: Likewise.
9640 * conf/x86_64-efi.rmk: Likewise.
9641
9642 * configure.ac: Configure check for flex.
9643
9644 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
9645 types.
9646 (grub_lexer_param): Struct member updates.
9647 (grub_parser_param): Likewise.
9648 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
9649 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
9650 (grub_script_lexer_init): Prototype update.
9651 (grub_script_lexer_record_start): Likewise.
9652 (grub_script_lexer_record_stop): Likewise.
9653 (grub_script_lexer_yywrap): New function prototype.
9654 (grub_script_lexer_fini): Likewise.
9655 (grub_script_execute_argument_to_string): Removed by...
9656 (grub_script_execute_argument_to_argv): ...better version.
9657
9658 * script/execute.c (ROUND_UPTO): New macro.
9659 (grub_script_execute_cmdline): Out of memory fixes.
9660 (grub_script_execute_menuentry): Likewise.
9661 (grub_script_execute_argument_to_string): Removed. Update all
9662 users by...
9663 (grub_script_execute_argument_to_argv): ...better version.
9664 * script/function.c (grub_script_function_create): Use
9665 grub_script_execute_argument_to_argv instead of
9666 grub_script_execute_argument_to_string.
9667
9668 * script/lexer.c (check_varstate): Removed.
9669 (check_textstate): Removed.
9670 (grub_script_lexer_record_start): Likewise.
9671 (grub_script_lexer_record_stop): Likewise.
9672 (recordchar): Replaced with...
9673 (grub_script_lexer_record): ...new function.
9674 (nextchar): Removed.
9675 (grub_script_lexer_init): Rewritten.
9676 (grub_script_yylex): Rewritten.
9677 (append_newline): New function.
9678 (grub_script_lexer_yywrap): New function.
9679 (grub_script_lexer_fini): New function.
9680 (grub_script_yyerror): Sets error flag.
9681
9682 * script/yylex.l: New file.
9683 (grub_lexer_yyfree): Wrapper for flex yyffre.
9684 (grub_lexer_yyalloc): Likewise.
9685 (grub_lexer_yyrealloc): Likewise.
9686 * script/parser.y: Refactored.
9687
9688 * script/script.c (grub_script_arg_add): Out of memory fixes.
9689 (grub_script_add_arglist): Likewise.
9690 (grub_script_create_cmdline): Likewise.
9691 (grub_script_create_cmdmenu): Likewise.
9692 (grub_script_add_cmd): Likewise.
9693 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
9694 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
9695 unnecessary code.
9696
9697 * tests/grub_script_echo1.in: New testcase.
9698 * tests/grub_script_vars1.in: New testcase.
9699 * tests/grub_script_echo_keywords.in: New testcase.
9700
1d63a066
VS
97012010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9702
9703 Remove some redundancy in build system.
9704
9705 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
9706 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
9707 (TARGET_LDFLAGS): Add -nostdlib.
9708 (TARGET_IMG_LDFLAGS): Likewise.
9709 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
9710 anything since mmap isn't available.
9711 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
9712 Add util/time.c.
9713 (pkglib_MODULES): Remove reboot.mod.
9714 (reboot_mod_SOURCES): Removed.
9715 (reboot_mod_CFLAGS): Likewise.
9716 (reboot_mod_LDFLAGS): Likewise.
9717 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
9718 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
9719 (DEFSYMFILES): Add kernel_syms.lst.
9720 (kernel_img_HEADERS): Add common headers.
9721 (symlist.c): New target.
9722 (kernel_syms.lst): Likewise.
9723 (pkglib_MODULES): Add memdisk.mod.
9724 (memdisk_mod_SOURCES): New variable.
9725 (memdisk_mod_CFLAGS): Likewise.
9726 (memdisk_mod_LDFLAGS): Likewise.
9727 (pkglib_MODULES): Add reboot.mod.
9728 (reboot_mod_SOURCES): New variable.
9729 (reboot_mod_CFLAGS): Likewise.
9730 (reboot_mod_LDFLAGS): Likewise.
9731 (pkglib_MODULES): Add date.mod.
9732 (date_mod_SOURCES): New variable.
9733 (date_mod_CFLAGS): Likewise.
9734 (date_mod_LDFLAGS): Likewise.
9735 (pkglib_MODULES): Add datehook.mod.
9736 (datehook_mod_SOURCES): New variable.
9737 (datehook_mod_CFLAGS): Likewise.
9738 (datehook_mod_LDFLAGS): Likewise.
9739 (pkglib_MODULES): Add lsmmap.mod.
9740 (lsmmap_mod_SOURCES): New variable.
9741 (lsmmap_mod_CFLAGS): Likewise.
9742 (lsmmap_mod_LDFLAGS): Likewise.
9743 (pkglib_MODULES): Add boot.mod.
9744 (boot_mod_SOURCES): New variable.
9745 (boot_mod_CFLAGS): Likewise.
9746 (boot_mod_LDFLAGS): Likewise.
9747 * conf/i386-coreboot.rmk: Removed redundant parts.
9748 * conf/i386-ieee1275.rmk: Likewise.
9749 * conf/i386-pc.rmk: Likewise.
9750 * conf/mips-yeeloong.rmk: Likewise.
9751 * conf/mips.rmk: Likewise.
9752 * conf/powerpc-ieee1275.rmk: Likewise.
9753 * conf/sparc64-ieee1275.rmk: Likewise.
9754 * conf/x86_64-efi.rmk: Likewise.
9755 * conf/i386-coreboot.rmk: Moved qemu parts ..
9756 * conf/i386-qemu.rmk: ... here
9757 * conf/i386-efi.rmk: Moved common parts to...
9758 * conf/x86-efi.rmk: ... here.
9759 * conf/i386.rmk: Added modules common to all x86 variants.
9760 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
9761 * disk/memdisk.c: Remove grub/machine/kernel.h.
9762 * gensymlist.sh.in: Include symbol.h.
9763 * hook/datehook.c: Correct module name.
9764 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
9765 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
9766 * include/grub/i386/efi/serial.h: New file.
9767 * include/grub/x86_64/efi/serial.h: Likewise.
9768 * util/time.c: Likewise.
9769 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
9770
463ac55f
CK
97712010-03-14 Colin King <colin.king@ubuntu.com>
97722010-03-14 Colin Watson <cjwatson@ubuntu.com>
9773
9774 Shrink the pre-partition-table part of boot.img by eight bytes.
9775
9776 * boot/i386/pc/boot.S (ERR): New macro.
9777 (chs_mode): Use ERR.
9778 (geometry_error): Likewise.
9779 (hd_probe_error): Remove. This is only used once, so we wrwite
9780 it inline instead.
9781 (read_error): Instead of printing read_error_string, just set up
9782 %si and fall through to ...
9783 (error_message): ... this new function, also used by ERR.
9784
08e46ede
CW
97852010-03-14 Colin Watson <cjwatson@ubuntu.com>
9786
9787 Speed up consecutive hostdisk operations on the same device.
9788
9789 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
9790 (grub_util_biosdisk_open): Initialise disk->data.
9791 (struct linux_partition_cache): New structure.
9792 (linux_find_partition): Cache partition start positions; these are
9793 expensive to compute on every read and write.
9794 (open_device): Cache open file descriptor in disk->data, so that we
9795 don't have to reopen it and flush the buffer cache for consecutive
9796 operations on the same device.
9797 (grub_util_biosdisk_close): New function.
9798 (grub_util_biosdisk_dev): Set `close' member.
9799
9800 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
9801 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
9802 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9803 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9804 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
9805
4a6d2d06
VS
98062010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 Compile parts of grub-emu as modules.
9809
9810 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
9811 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
9812 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
9813 (all-local): Add $(GRUB_EMU).
9814 (install-local): Install $(GRUB_EMU).
9815 (uninstall): Uninstall $(GRUB_EMU).
9816 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
9817 * kern/dl.c: Likewise.
9818 * commands/sleep.c: Not include machine/time.h.
9819 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
9820 (COMMON_CFLAGS): Likewise.
9821 (sbin_UTILITIES): Remove grub-emu.
9822 (grub_emu_SOURCES): Removed.
9823 (kernel_img_RELOCATABLE): New variable.
9824 (pkglib_PROGRAMS): Add kernel.img.
9825 (kernel_img_SOURCES): New variable
9826 (kernel_img_CFLAGS): Likewise.
9827 (kernel_img_LDFLAGS): Likewise.
9828 (TARGET_NO_STRIP): Likewise.
9829 (TARGET_NO_DYNAMIC_MODULES): Likewise.
9830 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
9831 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
9832 (grub-emu): New target.
9833 (GRUB_EMU): New variable.
9834 * configure.ac: Whitelist -emu as possible x86_64 architecture.
9835 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
9836 * loader/xnu.c: Likewise.
9837 * include/grub/pci.h: Likewise.
9838 * genemuinit.sh: New file.
9839 * genemuinitheader.sh: Likewise.
9840 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
9841 Support TARGET_NO_DYNAMIC_MODULES.
9842 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
9843 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
9844 * disk/loopback.c: Likewise.
9845 * font/font_cmd.c: Likewise.
9846 * partmap/acorn.c: Likewise.
9847 * partmap/amiga.c: Likewise.
9848 * partmap/apple.c: Likewise.
9849 * partmap/gpt.c: Likewise.
9850 * partmap/msdos.c: Likewise.
9851 * partmap/sun.c: Likewise.
9852 * parttool/msdospart.c: Likewise.
9853 * term/gfxterm.c: Likewise.
9854 * video/bitmap.c: Likewise.
9855 * video/readers/jpeg.c: Likewise.
9856 * video/readers/png.c: Likewise.
9857 * video/readers/tga.c: Likewise.
9858 * video/video.c: Likewise.
9859 * util/grub-emu.c (read_command_list): Removed.
9860 (main): Don't call util_init_nls.
9861 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
9862 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
9863
91fdd2ed
VS
98642010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
9867 date.mod, datehook.mod.
9868 (datetime_mod_SOURCES): New variable.
9869 (datetime_mod_CFLAGS): Likewise.
9870 (datetime_mod_LDFLAGS): Likewise.
9871 (date_mod_SOURCES): Likewise.
9872 (date_mod_CFLAGS): Likewise.
9873 (date_mod_LDFLAGS): Likewise.
9874 (datehook_mod_SOURCES): Likewise.
9875 (datehook_mod_CFLAGS): Likewise.
9876 (datehook_mod_LDFLAGS): Likewise.
9877 * conf/sparc64-ieee1275.rmk: Likewise.
9878 * lib/ieee1275/datetime.c: New file.
9879
873ccae6
VS
98802010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
9883 (ieee1275_fb_mod_SOURCES): New variable.
9884 (ieee1275_fb_mod_CFLAGS): Likewise.
9885 (ieee1275_fb_mod_LDFLAGS): Likewise.
9886 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
9887 New proto.
9888 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
9889 (HEAP_MAX_ADDR): Likewise.
9890 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
9891 type.
9892 Correct stop condition.
9893 (grub_ieee1275_devices_iterate): New function.
9894 * video/ieee1275.c: New file.
9895
601c97c0
VS
98962010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
9899
9900 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
9901 as scratch.
9902 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
9903 SCRATCH_PAD_DISKBOOT as scratch.
9904 (bootit): Pass Openfirmware pointer in %o4.
9905 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
9906 of 0x200000.
9907 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
9908 with util/grub-mkrawimage.c.
9909 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
9910 * include/grub/aout.h (AOUT_MID_SUN): New definition.
9911 (grub_aout_get_type) [GRUB_UTIL]: Removed.
9912 (grub_aout_load) [GRUB_UTIL]: Likewise.
9913 * include/grub/kernel.h (grub_modules_get_end): New proto.
9914 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
9915 (SCRATCH_PAD_BOOT): New definition.
9916 (SCRATCH_PAD_DISKBOOT): Likewise.
9917 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
9918 * include/grub/sparc64/ieee1275/ieee1275.h
9919 (grub_ieee1275_original_stack): New variable
9920 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
9921 New definition
9922 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
9923 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
9924 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
9925 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
9926 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
9927 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
9928 (grub_platform_image_format_t): New type.
9929 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
9930 * kern/main.c (grub_modules_get_end)
9931 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
9932 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
9933 (codestart): Switch stacks.
9934 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
9935 variable.
9936 (grub_heap_init): Use grub_modules_get_end.
9937 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
9938 stack.
9939 * util/grub-mkrawimage.c (generate_image): Support sparc64.
9940 (main): Likewise.
9941 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
9942
d68b491e
TG
99432010-03-14 Thorsten Glaser <tg@mirbsd.org>
9944
9945 * util/grub-mkrescue.in: Base ISO UUID on UTC.
9946
4e02ed50
MK
99472010-03-08 Matt Kraai <kraai@ftbfs.org>
9948
9949 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
9950 bug #559005).
9951
1f15fc1e
VS
99522010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 * genmoddep.awk: Output all missing symbols and not only first.
9955
fce5d8ff
VS
99562010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 * NEWS: Put the date of 1.98 release.
9959
d1e8a02f
VS
99602010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
9963 ft2build.h.
9964
696fd607
VS
99652010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
9968 completition in the middle of string.
9969
33e2e6f3
VS
99702010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 * util/grub-mkrescue.in: Use mktemp with explicit template.
9973
b1f6d291
VS
99742010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
9977
2ac227c7
VS
99782010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
9981 right pointer.
9982
8f9a632b
VS
99832010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 Fix FreeBSD compilation.
9986
9987 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
9988 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
9989
60b03859
VS
99902010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
9993
48a5a769
VS
99942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
9997
3ab4bd77
VS
99982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
10001
d116e0d8
RM
100022010-03-04 Robert Millan <rmh.grub@aybabtu.com>
10003
10004 Support relative image path in theme file.
10005
10006 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
10007 (image_set_property): Handle theme_dir and relative path.
10008
c7ef54aa
VS
100092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10010
10011 * configure.ac: Alias amd64 to x86_64.
10012
fcee14ed
VS
100132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 * NEWS: mention multiboot on EFI.
10016
d0780363
VS
100172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 * kern/main.c (grub_load_modules): Handle errors from init functions of
10020 embeded modules.
10021
41168ea4
VS
100222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10023
10024 * normal/autofs.c (autoload_fs_module): Handle errors.
10025
b54d93ac
VS
100262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 Disable linux.mod on qemu-mips since it's not functional and leads
10029 to compilation failure.
10030
10031 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
10032 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
10033 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
10034 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
10035 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
10036 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
10037 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
10038 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
10039 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
10040 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
10041 Reported by: BVK Chaitanya
10042
fc8345da
JU
100432010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
10044
10045 * INSTALL: Add gettext as a dependency and add qemu to a new section
10046 "Prerequisites for make-check".
10047
4760f979
CF
100482010-03-04 Christian Franke <franke@computer.org>
10049
10050 * util/grub-pe2elf.c: Add missing include "progname.h".
10051
f209b5b2
VS
100522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 * normal/crypto.c (read_crypto_list): Fix a typo.
10055 Reported by: Seth Goldberg.
10056
b4b7be98
VS
100572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 10060 Reported by: Seth Goldberg.
b4b7be98 10061
c0ee0385
VS
100622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
10065 ascii.bitmaps.
10066
a8efbf64
VS
100672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 10070 Reported by: Seth Goldberg.
a8efbf64 10071
08dcd913
VS
100722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * util/i386/efi/grub-install.in: Copy gettext files.
10075
c4d0b332
VS
100762010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
10079
c6f2fe52
VS
100802010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 Wait for user entry basing on presence of output rather than on errors.
10083
10084 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
10085 (grub_install_newline_hook): Likewise.
10086 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
10087 * normal/menu.c (show_menu): Check line_counter to determine presence
10088 of output.
10089 * normal/term.c (grub_normal_line_counter): New variable.
10090 (grub_normal_get_line_counter): New function.
10091 (grub_install_newline_hook): Likewise.
10092
5382b1e4
VS
100932010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
10096
5519963b
VS
100972010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 * configure.ac: Update version to 1.98.
10100
72b28631
VS
101012010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10102
10103 * util/grub.d/10_linux.in (linux_entry): Don't default to
10104 gfxpayload=keep if Linux doesn't support video handover.
10105
c140a180
VS
101062010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 Don't compile video modules on yeeloong since video subsystem is part
10109 of kernel.
10110
10111 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
10112 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
10113 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
10114 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
10115 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
10116 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
10117 * include/grub/bitmap_scale.h: Likewise.
10118 * include/grub/bufio.h: Likewise.
10119 * include/grub/font.h: Likewise.
10120 * include/grub/gfxterm.h: Likewise.
10121 * include/grub/video.h: Likewise.
10122 * include/grub/vbe.h: Don't include video_fb.h.
10123 * video/i386/pc/vbe.c: Include video_fb.h.
10124 * commands/i386/pc/vbetest.c: Include video.h.
10125
a0ca21c2
CW
101262010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
10127
10128 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
10129 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
10130 default entry if GRUB_SAVEDEFAULT=true. This allows using
10131 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
10132 saving a new default on every boot.
10133
4a8a763c
VS
101342010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 * normal/crypto.c (read_crypto_list): Fix a memory leak.
10137 * normal/term.c (read_terminal_list): Likewise.
10138 * normal/main.c (grub_normal_init_page): Likewise.
10139 (grub_normal_read_line_real): Likewise.
10140
607ffde2
VS
101412010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10142
10143 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
10144 memory leak.
10145 Reported by: Seth Goldberg.
10146
2b8fa975
CW
101472010-02-24 Joey Korkames <joey+lists@kidfixit.com>
10148
10149 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
10150 duplicate declaration of `start'.
10151
618307dd
VS
101522010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
10155 filename.
10156 Reported by: Georgy Buranov
10157
7dd05b96 101582010-02-20 Carles Pina i Estany <carles@pina.cat>
10159
10160 * util/grub-mkrawimage.c (usage): Change string formatting to
10161 improve gettext.
10162
d1484a42
MRA
101632010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10164
10165 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
10166 backspace keys.
10167
42b1d186
VS
101682010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
10171 Reported by: Michael Suchanek.
10172
101732010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
10174
10175 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
10176 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
10177
d9f31a41
VS
101782010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 Remove any reference to non-free fonts.
10181
10182 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
10183 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
10184 uses non-free components.
10185 * font/font.c (grub_font_get_name): Remove example name.
10186 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
10187 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10188 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
10189 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
10190
2793c71e
GB
101912010-02-16 Georgy Buranov <gburanov@gmail.com>
10192
10193 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
10194
402e3779
VS
101952010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10196
10197 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
10198 Double divisor.
10199 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
10200 features.
10201 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
10202
0dd1e0dd
VS
102032010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10204
10205 * gensymlist.sh.in: Use TARGET_CC instead of CC.
10206
6fa7cfce
ST
102072010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10208
10209 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
10210 * docs/grub.texi (Command-line and menu entry commands): Document play
10211 command.
10212
37c8483b
ST
102132010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10214
10215 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
10216 parse arguments as inline tempo and notes. Move code for playing notes
10217 to...
10218 (play): ... new function.
10219
14da0fb7
ST
102202010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10221
10222 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
10223 grub_uint16_t instead of short.
10224 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
10225 disk from little endian to cpu endianness.
10226
04459e70
ST
102272010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
10228
10229 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
10230 GRUB_TICKS_PER_SECOND instead of 120.
10231
a0876943
VS
102322010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
10235 escape sequence after \e.
10236
e29f95dc
VS
102372010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
10240 non-ASCII characters.
10241
d27859b2
VS
102422010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10243
10244 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
10245 set root in single quotes to prevent \, from being unescaped.
10246
bc028f2f
VS
102472010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10248
10249 Prevent unknown commands from stopping menuentry execution.
10250
10251 * script/execute.c (grub_script_execute_cmdline): Print error after
10252 unknown command.
10253
095f5f82
VS
102542010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
10257 Reported by: Pavel Pisa.
10258
8c717950
VS
102592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
10262
904935c3
VS
102632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10264
10265 Merge grub_ieee1275_map_physical into grub_map and rename to
10266 grub_ieee1275_map
10267
10268 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
10269 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
10270 Remove.
10271 * kern/ieee1275/openfw.c (grub_map): Rename to ...
10272 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
10273 necessary.
10274 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
10275
5b59a4e3
VS
102762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
10279 opening and not after.
10280
69e137e8
VS
102812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
10284 constants.
10285
2c0fcc36
VS
102862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10287
10288 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
10289 (alloc_phys): Use ALIGN_UP instead of align_addr.
10290
8c6052ce
VS
102912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10292
10293 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
10294
17cec782
VS
102952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
10298
e0128bbd
VS
102992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10300
10301 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
10302 verbose dprintf.
10303
ca62070b
VS
103042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10305
10306 Fix over-4GiB seek on sparc64.
10307
10308 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
10309 Replace pos_i and pos_lo with pos. All users updated.
10310 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10311 New constant.
10312 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10313 Likewise.
10314 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
10315 and pos_lo.
10316
bdca2607
VS
103172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 * util/grub-mkrawimage.c (main): Call set_program_name.
10320
da278c4d
VS
103212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10322
10323 Properly align 64-bit targets.
10324
10325 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
10326 (generate_image): Use ALIGN_ADDR.
10327
b274d734
VS
103282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10329
10330 Properly create cross-endian images.
10331
10332 * include/grub/types.h (grub_host_to_target_addr): New macro
10333 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
10334
82da2062
VS
103352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10336
10337 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
10338
7cae4377
VS
103392010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
10342
10343 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
10344 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
10345 (grub_linux_boot): Divide by 64K when on VESA.
10346
65a533e7
VS
103472010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 Support GRUB_GFXPAYLOAD_LINUX.
10350
10351 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
10352 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
10353
dd01d397
VS
103542010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10355
10356 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
10357 to show messages instead of discarding them.
10358 Process errors after executing command and not before. Keep old method
10359 too as precaution.
10360
660960d6
VS
103612010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 * configure.ac: Check for ft2build.h.
10364
62509f04
VS
103652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10366
10367 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
10368
473df63d
VS
103692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 * genkernsyms.sh.in: Use TARGET_CC.
10372
c98d2a13
CW
103732010-02-07 Colin Watson <cjwatson@ubuntu.com>
10374
10375 * NEWS: Update.
10376
6e14234c
VS
103772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
10380 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
10381 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 10382
b255e9cf
YB
103832010-02-07 Yves Blusseau <blusseau@zetam.org>
10384
6e14234c 10385 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 10386
98e6959d
VS
103872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10388
10389 Fix warnings in grub-emu when compiling with maximum warning options.
10390
10391 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
10392 (grub_arch_modules_addr): Return 0 and not NULL.
10393 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 10394 (xstrdup): Use newstr instead of dup.
f88d801b
VS
10395 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
10396 of disk to dsk to avoid shadowing.
74e4934e
VS
10397 (find_free_slot): Fix prototype.
10398 * util/getroot.c (grub_util_is_dmraid): Make static.
10399 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
10400 Add missing prototype.
10401 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 10402
74e31b5c
VS
104032010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10404
10405 * loader/i386/linux.c (grub_linux_setup_video): Handle error
10406 appropriately.
10407
6b2ad14b
VS
104082010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
10411 code out.
10412
8f891adc
VS
104132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
10416 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
10417 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
10418 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
10419 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
10420 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
10421
74b45184
VS
104222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 * include/grub/err.h (grub_err_printf): Don't export.
10425
a4bced77
VS
104262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
10429
007d0695
VS
104302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10431
10432 * include/grub/i18n.h (grub_gettext_dummy): Removed.
10433 * kern/misc.c (grub_gettext_dummy): Make static.
10434
b6c0d9c2
VS
104352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10436
10437 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
10438 by non-valid ones.
10439 * kern/term.c (grub_putchar): Likewise.
10440
f51a90d0
VS
104412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
10444 buggy hook call and memory leak.
10445
6846cec5
VS
104462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
10449
468d69fe
VS
104502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
10453
51906b8c
VS
104542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
10457 modevar.
10458 Return grub_errno on allocation error.
10459
09706ce5
VS
104602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10461
10462 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
10463
911df80c
YB
104642010-02-06 Yves Blusseau <blusseau@zetam.org>
10465
10466 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
10467 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
10468
3746a6bc
VS
104692010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10470
10471 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
10472 non-pxe disk.
10473 (grub_pxefs_open): Likewise.
10474
09706ce5
VS
104752010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10476
10477 * util/grub.d/10_hurd.in: Add --class information to menuentries.
10478 * util/grub.d/10_kfreebsd.in: Likewise.
10479 * util/grub.d/10_linux.in: Likewise.
10480
7cc192d9
VS
104812010-02-06 Colin D Bennett <colin@gibibit.com>
10482
10483 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
10484 (gfxmenu_mod_SOURCES): New variable.
10485 (gfxmenu_mod_CFLAGS): Likewise.
10486 (gfxmenu_mod_LDFLAGS): Likewise.
10487 * include/grub/term.h (grub_term_set_current_output): Declare
10488 argument as const.
10489 * docs/gfxmenu-theme-example.txt: New file.
10490 * gfxmenu/gfxmenu.c: Likewise.
10491 * gfxmenu/gui_box.c: Likewise.
10492 * gfxmenu/gui_canvas.c: Likewise.
10493 * gfxmenu/gui_circular_progress.c: Likewise.
10494 * gfxmenu/gui_image.c: Likewise.
10495 * gfxmenu/gui_label.c: Likewise.
10496 * gfxmenu/gui_list.c: Likewise.
10497 * gfxmenu/gui_progress_bar.c: Likewise.
10498 * gfxmenu/gui_string_util.c: Likewise.
10499 * gfxmenu/gui_util.c: Likewise.
10500 * gfxmenu/icon_manager.c: Likewise.
10501 * gfxmenu/model.c: Likewise.
10502 * gfxmenu/named_colors.c: Likewise.
10503 * gfxmenu/theme_loader.c: Likewise.
10504 * gfxmenu/view.c: Likewise.
10505 * gfxmenu/widget-box.c: Likewise.
10506 * include/grub/gfxmenu_model.h: Likewise.
10507 * include/grub/gfxmenu_view.h: Likewise.
10508 * include/grub/gfxwidgets.h: Likewise.
10509 * include/grub/gui.h: Likewise.
10510 * include/grub/gui_string_util.h: Likewise.
10511 * include/grub/icon_manager.h: Likewise.
10512
105132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 Agglomerate scrolling in gfxterm.
10516
10517 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
10518 (grub_virtual_screen_setup): Initialise 'total_screen'.
10519 (write_char): Split to ...
10520 (paint_char): ... this ...
10521 (write_char): ... and this.
10522 (paint_char): Handle delayed scrolling.
10523 (draw_cursor): Likewise.
10524 (scroll_up): Split to ...
10525 (real_scroll): ... this ...
10526 (scroll_up): ... and this.
10527 (real_scroll): Handle multi-line scroll and draw below-the-bottom
10528 characters.
10529 (grub_gfxterm_refresh): Call real_scroll.
10530
105312010-02-06 Colin D Bennett <colin@gibibit.com>
10532
10533 * include/grub/misc.h (grub_iscntrl): New inline function.
10534 (grub_isalnum): Likewise.
10535 (grub_strtol): Likewise.
10536
105372010-02-06 Colin D Bennett <colin@gibibit.com>
10538
10539 * normal/menu_text.c (get_entry_number): Move from here ...
10540 * normal/menu.c (get_entry_number): ... moved here.
10541 * include/grub/menu.h (grub_menu_get_default_entry_index):
10542 New prototype.
10543 * normal/menu.c (grub_menu_get_default_entry_index): New function.
10544 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
10545 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
10546 (grub_menu_viewer_should_return): Likewise.
10547 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
10548 * normal/menu_text.c (run_menu): Enable menu switching.
10549 * normal/menu_viewer.c (should_return): New variable.
10550 (menu_viewer_changed): Likewise.
10551 (grub_menu_viewer_show_menu): Handle menu viewer changes.
10552 (grub_menu_viewer_should_return): New function.
10553 (menuviewer_write_hook): Likewise.
10554 (grub_menu_viewer_init): Likewise.
10555
105562010-02-06 Colin D Bennet <colin@gibibit.com>
105572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 Support for gfxterm in a window.
10560
10561 * include/grub/gfxterm.h: New file.
10562 * include/grub/video.h (struct grub_video_rect): New declaration.
10563 (grub_video_rect_t): Likewise.
10564 * term/gfxterm.c (struct grub_gfxterm_window): New type.
10565 (refcount): New variable.
10566 (render_target): Likewise.
10567 (window): Likewise.
10568 (repaint_callback): Likewise.
10569 (grub_virtual_screen_setup): Use 'render_target'.
10570 (init_window): New function.
10571 (grub_gfxterm_init_window): Likewise.
10572 (grub_gfxterm_init): Check reference counter.
10573 Use init_window.
10574 (destroy_window): New function.
10575 (grub_gfxterm_destroy_window): Likewise.
10576 (grub_gfxterm_fini): Check reference counter.
10577 Use destroy_window.
10578 (redraw_screen_rect): Restore viewport.
10579 Use 'render_target' and 'window'.
10580 Call 'repaint_callback'.
10581 (write_char): Use 'render_target'.
10582 (draw_cursor): Likewise.
10583 (scroll_up): Restore viewport.
10584 Use 'render_target' and 'window'.
10585 Call 'repaint_callback'.
10586 (grub_gfxterm_cls): Likewise.
10587 (grub_gfxterm_refresh): Use 'window'.
10588 (grub_gfxterm_set_repaint_callback): New function.
10589 (grub_gfxterm_background_image_cmd): Use 'window'.
10590 (grub_gfxterm_get_term): New function.
10591 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
10592
105932010-02-06 Colin D Bennett <colin@gibibit.com>
10594
10595 Bitmap scaling support.
10596
10597 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
10598 (bitmap_scale_mod_SOURCES): New variable.
10599 (bitmap_scale_mod_CFLAGS): Likewise.
10600 (bitmap_scale_mod_LDFLAGS): Likewise.
10601 * include/grub/bitmap_scale.h: New file.
10602 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
10603 (background_image_cmd_options): New variable.
10604 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
10605 (cmd): Rename and change type to ...
10606 (background_image_cmd_handle): ... this. All users updated.
10607 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
10608 * video/bitmap_scale.c: New file.
10609
106102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10611
10612 SDL support.
10613
10614 * Makefile.in (LIBSDL): New variable.
10615 (enable_grub_emu_sdl): Likewise.
10616 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
10617 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
10618 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
10619 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
10620 * util/sdl.c: New file.
10621
106222010-02-06 Colin D Bennett <colin@gibibit.com>
106232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10624
10625 Double buffering support.
10626
10627 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
10628 * include/grub/video.h: Update comment.
10629 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
10630 New type.
10631 (grub_video_fb_doublebuf_blit_init): New prototype.
10632 * term/gfxterm.c (scroll_up): Support double buffering.
10633 (grub_gfxterm_refresh): Likewise.
10634 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
10635 (grub_video_fb_doublebuf_blit_init): Likewise.
10636 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
10637 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
10638 'displayed_page', 'render_page' and 'update_screen'.
10639 (grub_video_vbe_fini): Free offscreen buffer.
10640 (doublebuf_pageflipping_commit): New function.
10641 (doublebuf_pageflipping_update_screen): Likewise.
10642 (doublebuf_pageflipping_init): Likewise.
10643 (double_buffering_init): Likewise.
10644 (grub_video_vbe_setup): Enable doublebuffering.
10645 (grub_video_vbe_swap_buffers): Implement.
10646 (grub_video_vbe_set_active_render_target): Handle double buffering.
10647 (grub_video_vbe_get_active_render_target): Likewise.
10648 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
10649 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
10650 (grub_video_vbe_enable_double_buffering): Likewise.
10651 (grub_video_vbe_swap_buffers): Use update_screen.
10652 (grub_video_set_mode): Use double buffering.
10653
106542010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10655
10656 * maintainance/gentrigtables.py: Remove.
10657 * lib/trig.c: Likewise.
10658
10659 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
10660
10661 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
10662 `trigtables.c'.
10663 (trigtables.c): New rule.
10664 (gentrigtables): Likewise.
10665 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
10666
106672010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10668
10669 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
10670 integer constants.
10671
106722010-02-06 Colin D Bennet <colin@gibibit.com>
10673
10674 Trigonometry support.
10675
10676 * include/grub/trig.h: New file.
10677 * lib/trig.c: Likewise.
10678 * maintainance/gentrigtables.py: Likewise.
10679 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
10680 (trig_mod_SOURCES): New variable.
10681 (trig_mod_CFLAGS): Likewise.
10682 (trig_mod_LDFLAGS): Likewise.
10683
5562834e
VS
106842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
10687 disk devices.
10688
4f8528fc
VS
106892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10690
10691 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
10692 error.
10693
2b4068e9
VS
106942010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 * util/hostdisk.c (open_device): Don't use partition device when reading
10697 before the partition.
10698 (grub_util_biosdisk_read): Don't read from partition and before the
10699 partition in single operation.
10700 (grub_util_biosdisk_write): Don't write to partition and before the
10701 partition in single operation.
10702
399f6e4d
TL
107032010-02-03 Torsten Landschoff <torsten@debian.org>
10704
10705 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10706 last sectors.
10707
996649b0
VS
107082010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
10711 CDROM reads.
10712 (grub_biosdisk_write): Refuse to write to CDROM.
10713
3b205d4d
VS
107142010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
10717
61e89d9d
VS
107182010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10719
10720 * font/font.c (find_glyph): Check that bmp_idx is available before
10721 using it.
10722 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
10723 with (font == NULL).
10724
bf7fcba2
CS
107252010-01-28 Christian Schmitt <chris@ilovelinux.de>
10726
10727 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
10728
f45d2663
BC
107292010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
10730
10731 * include/grub/script_sh.h (sourcecode): Add const qualifier.
10732 * util/grub-script-check.c (getline): Fix empty lines case.
10733
ec1444e6
RM
107342010-01-28 Robert Millan <rmh.grub@aybabtu.com>
10735
10736 * Makefile.in (check): Exit with fail status when one of the tests
10737 fails.
10738 * tests/example_functional_test.c (example_test): Fix reversed assert.
10739 * tests/example_unit_test.c (example_test): Likewise.
10740
2e1cb9bb
CW
107412010-01-28 Colin Watson <cjwatson@ubuntu.com>
10742
10743 * util/grub.d/10_linux.in: This script does not use any of the
10744 contents of gettext.sh, only the external command `gettext', so stop
10745 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
10746 the same prefix as GRUB.)
10747 * util/grub.d/10_kfreebsd.in: Likewise.
10748
63533ab0
VS
107492010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10750
10751 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
10752 of the line.
10753
989e1f93
VS
107542010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10757 last sectors.
10758
e709ebe2
VS
107592010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10760
10761 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
10762 having a 4KiB and not 32KiB buffer size.
10763
27dea7ed
RM
107642010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10765
10766 * util/hostfs.c: Include `<errno.h>'.
10767 (grub_hostfs_read): Handle errors from fseeko() and fread().
10768
67667b9c
RM
107692010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10770
10771 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
10772 loop when using read hooks on files whose size isn't sector-aligned.
10773
c294d9d8
RM
107742010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10775
10776 Remove unused parameter.
10777
10778 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
10779 (grub_iso9660_open): Remove initialization of `data->length'.
10780
af75a9f1
RM
107812010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10782
10783 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
10784 memleak conditions.
10785
254e2ce5 107862010-01-27 Carles Pina i Estany <carles@pina.cat>
10787
10788 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
10789 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
10790
b510928c 107912010-01-26 Carles Pina i Estany <carles@pina.cat>
10792
10793 * util/bin2h.c (usage): Fix warning (space after backslash).
10794
aa2f9dd2 107952010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 10796
10797 * font/font.c: Include `grub/fontformat.h.
10798 Remove font file format constants.
10799 (grub_font_load): Use the new macros.
10800 * include/grub/fontformat.h: New file.
10801 * util/grub-mkfont.c: Include `grub/fontformat.c'.
10802 (write_font_pf2): Use the new macros.
10803
94e7e712
RM
108042010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10805
10806 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
10807 does.
10808
3973a59a
RM
108092010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10810
10811 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
10812
10813 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
10814 (_start): Macroify `0x7F'.
10815
10816 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
10817 (make_install_device): Use "(pxe)" as fallback prefix when booting
10818 via PXE.
10819
42e0cba3
GS
108202010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10821
10822 * configure.ac: Reset LIBS after check for libgcc symbols.
10823
847effd8
CW
108242010-01-25 Colin Watson <cjwatson@ubuntu.com>
10825
10826 * util/hostdisk.c (open_device): Add trailing newline to debug
10827 message.
10828
ea4a7e35
GS
108292010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
10830
10831 * configure.ac: Check for `limits.h'.
10832 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
10833
67951a53
RM
108342010-01-24 Robert Millan <rmh.grub@aybabtu.com>
10835
10836 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
10837 capitalize error strings.
10838
c273d4ce
ST
108392010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
10840
10841 * util/grub.d/10_hurd.in: Add a recovery mode.
10842
69be5b74
VS
108432010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10844
10845 * configure.ac: Check for libgcc symbols with -nostdlib.
10846
fc9e5810
BC
108472010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
10848
10849 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
10850
4b358c0a
VS
108512010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
10854 stack since heap may be unavailable at that point.
10855 (grub_ofconsole_gotoxy): Likewise.
10856
454fcd1c
VS
108572010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 * configure.ac: Check for _restgpr_14_x.
10860 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
10861 and _savegpr_* prototypes.
10862
566863ca
RM
108632010-01-22 Robert Millan <rmh.grub@aybabtu.com>
10864
10865 Use generic grub_reboot() for i386-efi.
10866
10867 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
10868 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
10869 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
10870
bf86e59a
VS
108712010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10872
10873 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
10874 presence of "prefix" variable as it breaks when normal.mod is
10875 embedded.
10876
d645e0f8
VS
108772010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
10880 stack since heap is unavailable at that point.
10881
f9ab2e25
VS
108822010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
10885 (grub_freebsd_bootinfo): Rewritten.
10886 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
10887
01fc7054
VS
108882010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
10891
caab4fd6
RM
108922010-01-21 Robert Millan <rmh.grub@aybabtu.com>
10893
10894 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
10895 domain now.
10896
67eb1427
FZ
108972010-01-20 Felix Zielcke <fzielcke@z-51.de>
10898
10899 * util/misc.c (make_system_path_relative_to_its_root): Change the work
10900 around for handling "/" to the correct fix. Fix a memory leak. Use
10901 xstrdup instead of strdup.
10902
a9ed4ff3
VS
109032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10904
10905 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
10906
109072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
10908
10909 Optimise glyph lookup by Basic Multilingual Plane lookup array.
10910
10911 * font/font.c (struct grub_font): New member 'bmp_idx'.
10912 (font_init): Initialise 'bmp_idx'.
10913 (load_font_index): Fill 'bmp_idx'.
10914 (find_glyph): Make inline. Use bmp_idx for BMP characters.
10915
48209f4f
VS
109162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
10919 unnecessary calls.
10920
9f0a4bb7
VS
109212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 Move context handling out of the kernel.
10924
10925 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
10926 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
10927 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
10928 * conf/i386-efi.rmk: Likewise.
10929 * conf/i386-ieee1275.rmk: Likewise.
10930 * conf/i386-pc.rmk: Likewise.
10931 * conf/powerpc-ieee1275.rmk: Likewise.
10932 * conf/sparc64-ieee1275.rmk: Likewise.
10933 * conf/x86_64-efi.rmk: Likewise.
10934 * include/grub/env.h: Include grub/menu.h.
10935 (grub_env_var_type): Removed.
10936 (grub_env_var): Replaced field 'type' with 'global'.
10937 (grub_env_find): New prototype.
10938 (grub_env_context_open): Remove EXPORT_FUNC.
10939 (grub_env_context_close): Likewise.
10940 (grub_env_export): Likewise.
10941 (grub_env_set_data_slot): Removed.
10942 (grub_env_get_data_slot): Likewise.
10943 (grub_env_unset_data_slot): Likewise.
10944 (grub_env_unset_menu): New prototype.
10945 (grub_env_set_menu): Likewise.
10946 (grub_env_get_menu): Likewise.
10947 * include/grub/env_private.h: New file.
10948 * include/grub/normal.h (grub_context_init): New prototype.
10949 (grub_context_fini): Likewise.
10950 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
10951 * normal/context.c (grub_cmd_export): ... to here.
10952 * kern/env.c: Include env_private.h.
10953 (HASHSZ): Moved to include/grub/env_private.h.
10954 (grub_env_context): Likewise.
10955 (grub_env_sorted_var): Likewise.
10956 (current_context): Renamed from this ...
10957 (grub_current_context): ...to this. 'static' removed. All users updated.
10958 (grub_env_find): Removed 'static'.
10959 (grub_env_context_open): Moved to normal/context.c.
10960 (grub_env_context_close): Likewise.
10961 (grub_env_export): Likewise.
10962 (mangle_data_slot_name): Removed.
10963 (grub_env_set_data_slot): Likewise.
10964 (grub_env_get_data_slot): Likewise.
10965 (grub_env_unset_data_slot): Likewise.
10966 * kern/main.c (grub_set_root_dev): Don't export root.
10967 It will be done later.
10968 (grub_main): Don't export prefix.
10969 It will be done later.
10970 * normal/context.c: New file.
10971 * normal/main.c (free_menu): Use grub_env_unset_menu.
10972 (grub_normal_add_menu_entry): Use grub_env_get_menu.
10973 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
10974 (GRUB_MOD_INIT(normal)): Call grub_context_init.
10975 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
10976
8dd35b8c
VS
109772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10978
10979 setpci support.
10980
10981 * commands/setpci.c: New file.
10982 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
10983 (setpci_mod_SOURCES): New variable.
10984 (setpci_mod_CFLAGS): Likewise.
10985 (setpci_mod_LDFLAGS): Likewise.
10986
449193d5
VS
109872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 Byte-addressable PCI configuration space.
10990
10991 * bus/pci.c (grub_pci_make_address): Use byte address instead of
10992 dword address.
10993 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
10994 GRUB_PCI_REG_CACHELINE.
10995 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
10996 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
10997 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
10998 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
10999 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
11000 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
11001 grub_pci_make_address.
11002 (lock_rom_area): Likewise.
11003 * commands/lspci.c (grub_lspci_iter): Use macroses
11004 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
11005 of grub_pci_make_address.
11006 * disk/ata.c (grub_ata_pciinit): Likewise.
11007 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
11008 (GRUB_PCI_REG_VENDOR): Likewise.
11009 (GRUB_PCI_REG_DEVICE): Likewise.
11010 (GRUB_PCI_REG_COMMAND): Likewise.
11011 (GRUB_PCI_REG_STATUS): Likewise.
11012 (GRUB_PCI_REG_REVISION): Likewise.
11013 (GRUB_PCI_REG_CLASS): Likewise.
11014 (GRUB_PCI_REG_CACHELINE): Likewise.
11015 (GRUB_PCI_REG_LAT_TIMER): Likewise.
11016 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
11017 (GRUB_PCI_REG_BIST): Likewise.
11018 (GRUB_PCI_REG_ADDRESSES): Likewise.
11019 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11020 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11021 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11022 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11023 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11024 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11025 (GRUB_PCI_REG_CIS_POINTER): Likewise.
11026 (GRUB_PCI_REG_SUBVENDOR): Likewise.
11027 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
11028 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
11029 (GRUB_PCI_REG_CAP_POINTER): Likewise.
11030 (GRUB_PCI_REG_IRQ_LINE): Likewise.
11031 (GRUB_PCI_REG_IRQ_PIN): Likewise.
11032 (GRUB_PCI_REG_MIN_GNT): Likewise.
11033 (GRUB_PCI_REG_MAX_LAT): Likewise.
11034 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
11035 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
11036 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 11037 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
11038 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
11039 space.
11040
96d73208
RM
110412010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11042
11043 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
11044 can be reliably determined to be supported.
11045
d4484482
RM
110462010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11047
11048 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
11049 that VESA is supported.
11050 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
11051 supported.
11052
00308ecf
VS
110532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
11056
f66924a4
RM
110572010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11058
11059 * util/misc.c (make_system_path_relative_to_its_root): Work around
11060 special-casing of "/", as previous incarnation of this routine did.
11061
cbca0ada
VS
110622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 Fix any-emu compilation.
11065
11066 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
11067 * grub_bin2h_SOURCES: New variable.
11068
34a66d99
RM
110692010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11070
11071 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
11072
94fabf58
RM
110732010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11074
11075 * util/grub.d/00_header.in: Fix handling of locale_dir.
11076
02cf98ca
VS
110772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11078
11079 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
11080 as possible unifont location (Gentoo).
11081 Reported by: Alexander Brüning
11082
327dbcd7
VS
110832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11084
11085 Don't try to generate lists for kernel.img.
11086
11087 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
11088 (pkglib_MODULES): Remove kernel.img.
11089 (kernel_img_EXPORTS): Removed.
11090 (kernel_img_RELOCATABLE): New variable.
11091 * conf/x86_64-efi.rmk: Likewise.
11092 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
11093
ca467290
VS
110942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11095
11096 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
11097 grub_xasprintf or grub_snprintf.
11098 (grub_vsprintf): Likewise.
11099 (grub_snprintf): New proto.
11100 (grub_vsnprintf): Likewise.
11101 (grub_xasprintf): Likewise.
11102 (grub_xvasprintf): Likewise.
11103 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
11104 (grub_sprintf): Removed.
11105 (grub_vsnprintf): New function.
11106 (grub_snprintf): Likewise.
11107 (grub_xvasprintf): Likewise.
11108 (grub_xasprintf): Likewise.
11109 (grub_vsprintf): Renamed to ...
11110 (grub_vsnprintf_real): ...this. New argument max_len.
11111
aca655fd
BC
111122010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
11113
11114 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
11115 fix grub-script-check warning.
11116
7ee92c32
VS
111172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 * include/grub/font.h (grub_font_load): Fix prototype.
11120
f80927ca
VS
111212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
11124
119c50ea
VS
111252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 * include/grub/x86_64/at_keyboard.h: New file.
11128
47d5f3c1
VS
111292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * loader/mips/linux.c: Include missing grub/i18n.h.
11132
55ff5266
RM
111332009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11134
11135 * normal/menu.c (notify_execution_failure): Clarify error message.
11136
c893cc87
RM
111372009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11138
11139 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
11140 return value (and revert all return statements). Update users.
11141
917dd370
CW
111422010-01-20 Dan Merillat <debian@dan.merillat.org>
11143
11144 * kern/device.c (grub_device_iterate): Allocate new part_ent
11145 structure based on sizeof (*p) rather than sizeof (p->next), to
11146 account for structure padding.
11147
11148 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
11149 disk is NULL, which might happen for LVM physical volumes with no
11150 LVM signature.
11151
d4a4ee57
RM
111522009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11153
11154 * loader/mips/linux.c (grub_cmd_initrd)
11155 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
11156
111572009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11158
11159 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
11160 (grub_video_video_init, grub_video_bitmap_init)
11161 (grub_font_manager_init, grub_term_gfxterm_init)
11162 (grub_at_keyboard_init): New extern declarations.
11163 (grub_machine_init): Initialize gfxterm and at_keyboard.
11164
11165 * kern/main.c (grub_main): Revert grub_printf delay kludge.
11166
11167 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
11168 `gfxterm.mod' into core image.
11169
11170 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11171 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11172 (kernel_img_FORMAT): Copy to ...
11173
11174 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11175 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11176 (kernel_img_FORMAT): ... here, and ...
11177
11178 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11179 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11180 (kernel_img_FORMAT): ... here.
11181
11182 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
11183 and input (at_keyboard) terminals in kernel.
11184 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
11185
11186 (pkglib_MODULES): Remove `pci.mod'.
11187 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
11188 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
11189 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11190 (at_keyboard_mod_LDFLAGS): Remove variables.
11191
111922010-01-11 Felix Zielcke <fzielcke@z-51.de>
11193
11194 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
11195
111962009-12-10 Robert Millan <rmh.grub@aybabtu.com>
11197
11198 * include/grub/mips/libgcc.h: Only export symbols for functions
11199 that libgcc provides.
11200
112012009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 MIPS support.
11204
11205 * bus/bonito.c: New file.
11206 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
11207 GRUB_PCI_NUM_DEVICES.
11208 * term/i386/pc/serial.c: Move to ...
11209 * term/serial.c: ... here. All users updated.
11210 * util/i386/pc/grub-mkimage.c: Move to ...
11211 * util/grub-mkrawimage.c: ... here. All users updated.
11212 * term/i386/pc/at_keyboard.c: Move to ...
11213 * term/at_keyboard.c: ... here. All users updated.
11214 * conf/mips-qemu-mips.rmk: New file.
11215 * conf/mips-yeeloong.rmk: Likewise.
11216 * conf/mips.rmk: Likewise.
11217 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
11218 mipsel-qemu-mips.
11219 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
11220 to port addresses.
11221 (grub_ata_pciinit): Support CS5536.
11222 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
11223 * font/font_cmd.c (loadfont_command): Open file before passing it to
11224 grub_font_load.
11225 (pseudo_file_read): New function.
11226 (pseudo_file_close): Likewise.
11227 (pseudo_fs): New structure.
11228 (load_font_module): New function.
11229 (GRUB_MOD_INIT(font_manager)): Load embedded font.
11230 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
11231 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
11232 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
11233 * include/grub/i386/at_keyboard.h: Split into ...
11234 * include/grub/at_keyboard.h: ... this ...
11235 * include/grub/i386/at_keyboard.h: ... and this.
11236 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
11237 New prototype.
11238 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
11239 updated.
11240 (grub_elf64_size): Likewise.
11241 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
11242 filename.
11243 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
11244 * include/grub/i386/coreboot/serial.h: Rewritten.
11245 * include/grub/i386/ieee1275/serial.h: Include
11246 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
11247 * include/grub/i386/pc/serial.h: Moved from here ...
11248 * include/grub/serial.h: ... to here. All users updated.
11249 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
11250 (GRUB_PCI_NUM_BUS): Likewise.
11251 (GRUB_PCI_NUM_DEVICES): Likewise.
11252 (grub_pci_device_map_range): Add missing volatile keyword.
11253 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
11254 * include/grub/mips/at_keyboard.h: New file.
11255 * include/grub/mips/cache.h: Likewise.
11256 * include/grub/mips/io.h: Likewise.
11257 * include/grub/mips/kernel.h: Likewise.
11258 * include/grub/mips/libgcc.h: Likewise.
11259 * include/grub/mips/pci.h: Likewise.
11260 * include/grub/mips/qemu-mips/boot.h: Likewise.
11261 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11262 * include/grub/mips/qemu-mips/loader.h: Likewise.
11263 * include/grub/mips/qemu-mips/memory.h: Likewise.
11264 * include/grub/mips/qemu-mips/serial.h: Likewise.
11265 * include/grub/mips/qemu-mips/time.h: Likewise.
11266 * include/grub/mips/relocator.h: Likewise.
11267 * include/grub/mips/time.h: Likewise.
11268 * include/grub/mips/types.h: Likewise.
11269 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
11270 * include/grub/mips/yeeloong/boot.h: Likewise.
11271 * include/grub/mips/yeeloong/kernel.h: Likewise.
11272 * include/grub/mips/yeeloong/loader.h: Likewise.
11273 * include/grub/mips/yeeloong/memory.h: Likewise.
11274 * include/grub/mips/yeeloong/pci.h: Likewise.
11275 * include/grub/mips/yeeloong/serial.h: Likewise.
11276 * include/grub/mips/yeeloong/time.h: Likewise.
11277 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
11278 * kern/elf.c (grub_elf32_size): New parameter. All users
11279 updated.
11280 (grub_elf64_size): Likewise.
11281 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
11282 Load modules before saying "Welcome to GRUB!".
11283 Call grub_refresh after saying "Welcome to GRUB!".
11284 * kern/mips/cache.S: New file.
11285 * kern/mips/cache_flush.S: Likewise.
11286 * kern/mips/dl.c: Likewise.
11287 * kern/mips/init.c: Likewise.
11288 * kern/mips/qemu-mips/init.c: Likewise.
11289 * kern/mips/startup.S: Likewise.
11290 * kern/mips/yeeloong/init.c: Likewise.
11291 * kern/term.c (grub_putcode): Handle NULL terminal.
11292 (grub_getcharwidth): Likewise.
11293 (grub_getkey): Likewise.
11294 (grub_checkkey): Likewise.
11295 (grub_getkeystatus): Likewise.
11296 (grub_getxy): Likewise.
11297 (grub_getwh): Likewise.
11298 (grub_gotoxy): Likewise.
11299 (grub_cls): Likewise.
11300 (grub_setcolorstate): Likewise.
11301 (grub_setcolor): Likewise.
11302 (grub_getcolor): Likewise.
11303 (grub_refresh): Likewise.
11304 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
11305 (write_jump): Add hatch nop.
11306 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
11307 * lib/mips/setjmp.S: New file.
11308 * loader/mips/linux.c: Likewise.
11309 * term/i386/pc/at_keyboard.c: Move from here ...
11310 * term/at_keyboard.c: ... to here.
11311 * term/i386/pc/serial.c: Moved from here ...
11312 * term/serial.c: ... to here. All users updated.
11313 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
11314 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
11315 (serial_translate_key_sequence): Avoid deadlock.
11316 (grub_serial_getkey): Handle backspace.
11317 (grub_serial_putchar): Fix newline handling.
11318 * util/i386/pc/grub-mkimage.c: Move from here ...
11319 * util/grub-mkrawimage.c: ... to here. All users updated.
11320 (generate_image): New parameters 'font_path' and 'format'.
11321 Support embedding font.
11322 Use grub_host_to_target* instead of grub_cpu_to_le*.
11323 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
11324 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
11325 (options): New option "--font".
11326 (usage): Likewise.
11327 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
11328 (main): Handle "--font".
11329 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
11330 (grub_virtual_screen_setup): Set bg_color_display.
11331 (redraw_screen_rect): Use bg_color_display instead of incorrect
11332 bg_color.
11333 (grub_gfxterm_cls): Likewise.
11334 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
11335 Support embedding config file.
11336 (add_segments): Likewise.
11337 (options): New option "--config".
11338 (main): Handle "--config".
11339 * video/sm712.c: New file.
11340
25c2b5b3
RM
113412010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11342
11343 Fix parallel builds.
11344
11345 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
11346 font.c depend on ascii.h).
11347
113482010-01-12 Carles Pina i Estany <carles@pina.cat>
11349
11350 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
11351
113522010-01-11 Carles Pina i Estany <carles@pina.cat>
11353
11354 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
11355 By default: disabled.
11356 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
11357 parameter.
11358
113592010-01-10 Carles Pina i Estany <carles@pina.cat>
11360
11361 * font/font.c: Update copyright years.
11362 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
11363
113642010-01-10 Carles Pina i Estany <carles@pina.cat>
11365
11366 * font/font.c: Include `ascii.h'.
11367 (ASCII_BITMAP_SIZE): New macro.
11368 (ascii_font_glyph): Define.
11369 (ascii_glyph_lookup): New function.
11370 (grub_font_get_string_width): Change comment. If glyph not found, use
11371 ascii_glyph_lookup.
11372 (grub_font_get_glyph_with_fallback): If glyph not available returns
11373 ascii_glyph_lookup.
11374 * util/grub-mkfont.c (file_formats): New enum.
11375 (options): Add `ascii-bitmaps' new option.
11376 (usage): Add `asii-bitmaps' new option.
11377 (write_font_ascii_bitmap): New function.
11378 (write_font): Rename to ...
11379 (write_font_p2): ... this. Remove print_glyphs call.
11380 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
11381 used. Call print_glyphs.
11382 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
11383
113842010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11385
11386 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
11387 (grub_bin2h_SOURCES): New variable.
11388 * util/bin2h.c: New file.
11389
915fc1b8
VS
113902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11391
11392 * include/multiboot.h: Resynced with spec.
11393 * include/multiboot2.h: Likewise.
11394 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
11395 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
11396
9444b678
RM
113972010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11398
11399 * include/grub/term.h (grub_term_register_input,
11400 grub_term_register_output): Check return of terminal init()
11401 routines, and abort if errors are raised.
11402
11403 * commands/terminal.c: Update copyright year.
11404
cba98e8d
RM
114052010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11406
11407 * commands/terminal.c (grub_cmd_terminal_input)
11408 (grub_cmd_terminal_output): Check return of terminal init()
11409 routines, and abort if errors are raised.
11410
6f7db5d6
VS
114112010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11412
11413 * include/grub/i386/bsd.h: Fix include pathes.
11414
262bff8d
VS
114152010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11416
11417 Add missing *BSD copyright headers.
11418
11419 * include/grub/aout.h: Add BSD licence.
11420 * include/grub/i386/bsd.h: Parts under different licences moved to ...
11421 * include/grub/i386/freebsd_linker.h: ... here,
11422 * include/grub/i386/freebsd_reboot.h: ... here,
11423 * include/grub/i386/netbsd_bootinfo.h: ... here,
11424 * include/grub/i386/netbsd_reboot.h: ... here,
11425 * include/grub/i386/openbsd_bootarg.h: ... here,
11426 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
11427 licence to each file.
11428
b2cab848
RM
114292010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11430
11431 * acinclude.m4: Remove `nop' assembly instruction; it's not
11432 implemented by all architectures.
11433
2cb6be4b
RM
114342010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11435
11436 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
11437 ELILO. This is no longer necessary.
11438
a2eaee15
BC
114392010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
11440
11441 Added new tool, grub-scrit-check to verify grub.cfg syntax.
11442
11443 * util/grub-script-check.c: grub-script-check tool.
11444 * conf/common.rmk: Make rules for grub-script-check.
11445
88d17012
RM
114462010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11447
11448 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
11449 spotting it back in 2008. Shame on me for forgetting he did.
11450
11451 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
11452
8040619d
RM
114532010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11454
11455 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
11456 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
11457 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
11458 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
11459 (GRUB_VIDEO_TYPE_EFI): Rename to ...
11460 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
11461
a0c2a0f6
RM
114622010-01-17 Robert Millan <rmh.grub@aybabtu.com>
11463
11464 * include/grub/test.h: Add license header.
11465 * tests/example_functional_test.c: Likewise.
11466 * tests/example_unit_test.c: Likewise.
11467 * tests/lib/functional_test.c: Likewise.
11468 * tests/lib/test.c: Likewise.
11469 * tests/lib/unit_test.c: Likewise.
11470
b0b13907
VS
114712010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 Use flag-based instead of hook-based video mode selection and "auto"
11474 keyword.
11475
11476 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
11477 (grub_video_set_mode): Changed prototype. All users updated.
11478 (grub_video_check_mode_flag): New inline function.
11479 * video/video.c (parse_modespec): New function.
11480 (grub_video_set_mode): Parse flags and keywords.
11481
ea379330 114822010-01-17 Carles Pina i Estany <carles@pina.cat>
11483
11484 * util/misc.c (grub_util_info): Fix the order of the parameters in a
11485 fprintf call.
11486
e15c215e
FZ
114872010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
11488
11489 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
11490
409ae1c9 114912010-01-16 Carles Pina i Estany <carles@pina.cat>
11492
11493 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
11494 string.
11495 * util/grub-emu.c (usage): Likewise.
11496 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
11497 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11498 * util/i386/pc/grub-mkimage.c (usage): Likewise.
11499 * util/i386/pc/grub-setup.c (usage): Likewise.
11500
70a14d3d 115012010-01-16 Carles Pina i Estany <carles@pina.cat>
11502
11503 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
11504 the message.
11505 (grub_util_info): Likewise.
11506 (grub_util_error): Likewise.
11507 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
11508 and/or new lines in `grub_util_warna', `grub_util_info',
11509 `grub_util_error' calls.
11510 * util/getroot.c: Likewise.
11511 * util/grub-editenv.c: Likewise.
11512 * util/grub-emu.c: Likewise.
11513 * util/grub-fstest.c: Likewise.
11514 * util/grub-mkdevicemap.c: Likewise.
11515 * util/grub-mkfont.c: Likewise.
11516 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11517 * util/grub-mkrelpath.c: Likewise.
11518 * util/grub-pe2elf.c: Likewise.
11519 * util/grub-probe.c: Likewise.
11520 * util/hostdisk.c: Likewise.
11521 * util/i386/efi/grub-mkimage.c: Likewise.
11522 * util/i386/pc/grub-mkimage.c: Likewise.
11523 * util/i386/pc/grub-setup.c: Likewise.
11524 * util/ieee1275/ofpath.c: Likewise.
11525 * util/mkisofs/eltorito.c: Likewise.
11526 * util/mkisofs/rock.c: Likewise.
11527 * util/mkisofs/write.c: Likewise.
11528 * util/raid.c: Likewise.
11529 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11530 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11531
a0b766fc
VS
115322010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11533
11534 Enable multiboot on non-pc.
11535
11536 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
11537 multiboot.mod and multiboot2.mod to ...
11538 * conf/i386.rmk (pkglib_MODULES): ... here.
11539 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
11540 Moved to ...
11541 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
11542 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
11543 Moved to ...
11544 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
11545 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
11546 Moved to ...
11547 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
11548 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
11549 Moved to ...
11550 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
11551 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
11552 relocator.mod.
11553 (ata_mod_SOURCES): Removed.
11554 (ata_mod_CFLAGS): Likewise.
11555 (ata_mod_LDFLAGS): Likewise.
11556 (relocator_mod_SOURCES): Removed.
11557 (relocator_mod_CFLAGS): Likewise.
11558 (relocator_mod_ASFLAGS): Likewise.
11559 (relocator_mod_LDFLAGS): Likewise.
11560 Include i386.mk.
11561 * include/grub/x86_64/multiboot.h: New file.
11562 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
11563 Terminate EFI.
11564
884ade56
VS
115652010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 Video multiboot support.
11568
11569 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
11570 New prototype.
11571 * include/multiboot.h: Resynced with multiboot specification.
11572 * include/multiboot2.h: Likewise.
11573 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
11574 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
11575 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
11576 (HAS_VGA_TEXT): Likewise.
11577 (accepts_video): New variable.
11578 (grub_multiboot_set_accepts_video): New function.
11579 (grub_multiboot_get_mbi_size): Account for video structures.
11580 (set_video_mode): New function.
11581 (retrieve_video_parameters): Likewise.
11582 (grub_multiboot_make_mbi): Fill video fields.
11583
0d90e8a6
VS
115842010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 Video driver ids.
11587
11588 * include/grub/video.h (grub_video_driver_id): New type.
11589 (grub_video_adapter): New member 'id'. All users updated.
11590 (grub_video_get_driver_id): New proto.
11591 * video/video.c (grub_video_get_driver_id): New function.
11592
5c71db1b 115932010-01-14 Carles Pina i Estany <carles@pina.cat>
11594
11595 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
11596 `var=val'.
11597
cca15b52 115982010-01-14 Carles Pina i Estany <carles@pina.cat>
11599
11600 * normal/cmdline.c (print_completion): Gettextizze.
11601
c586fbb2 116022001-01-14 Carles Pina i Estany <carles@pina.cat>
11603
11604 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
11605
ba2f6848 116062010-01-14 Carles Pina i Estany <carles@pina.cat>
11607
11608 * gettext/gettext.c (grub_gettext_translate): Push and pop
11609 grub_errno.
11610 (grub_gettext_delete_list): Change comment style.
11611 * kern/err.c (grub_error): Gettextizze.
11612 (grub_fatal): Gettextizze.
11613
0a46429a
RM
116142010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11615
11616 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
11617 (grub_linux16_real_boot): ... this.
11618 * kern/i386/loader.S: Likewise.
11619 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
11620 (grub_linux16_boot): New function. Switches to text mode and calls
11621 grub_linux16_real_boot().
11622
11623 * loader/i386/bsd.c: Include `<grub/video.h>'.
11624 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
11625 text mode before calling grub_unix_real_boot().
11626
11627 * loader/i386/multiboot.c: Include `<grub/video.h>'.
11628 (grub_multiboot_boot): Switch to text mode before calling
11629 grub_relocator32_boot().
11630
11631 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
11632 (grub_chainloader_boot): Switch to text mode before calling
11633 grub_chainloader_real_boot().
11634
d6f93a66
RM
116352010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
116362010-01-05 Colin Watson <cjwatson@ubuntu.com>
11637
11638 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
11639 non-empty value.
11640
116412010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
116422010-01-05 Colin Watson <cjwatson@ubuntu.com>
11643
11644 * util/grub.d/00_header.in: Define a "savedefault" function for use
11645 in menu entries.
11646 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
11647
116482010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
116492010-01-05 Colin Watson <cjwatson@ubuntu.com>
11650
11651 * util/grub-mkconfig_lib.in (save_default_entry): Only set
11652 saved_entry if boot_once is unset.
11653 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
11654 previous saved entry (i.e. grub-reboot).
11655
116562009-12-08 Colin Watson <cjwatson@ubuntu.com>
11657
11658 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
11659
116602009-12-08 Colin Watson <cjwatson@ubuntu.com>
11661
11662 * util/grub.d/00_header.in: Use `set var=val' rather than plain
11663 `var=val'.
11664 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
11665
116662009-12-08 Colin Watson <cjwatson@ubuntu.com>
11667
11668 * util/grub-reboot.in: Fix --version output.
11669 * util/grub-set-default.in: Likewise.
11670
116712009-12-08 Colin Watson <cjwatson@ubuntu.com>
11672
11673 * util/grub.d/00_header.in: Silently ignore zero-sized environment
11674 blocks.
11675
116762009-12-08 Colin Watson <cjwatson@ubuntu.com>
11677
11678 * util/grub.d/00_header.in: Quote the value assigned to `default',
11679 in case it contains spaces.
11680
116812009-12-08 Colin Watson <cjwatson@ubuntu.com>
11682
11683 * util/grub.d/30_os-prober.in: Fix merge error that moved a
11684 `save_default_entry' call from the macosx case to the linux case.
11685
116862009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
116872009-10-25 Colin Watson <cjwatson@ubuntu.com>
11688
11689 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
11690 in `chosen' environment variable.
11691 * normal/menu_text.c (get_entry_number): Check if the variable
11692 matches the title of a menu entry.
11693 (run_menu): Pass menu to get_entry_number.
11694
11695 * util/grub-reboot.in: New file.
11696 * util/grub-set-default.in: New file.
11697 * conf/common.rmk (grub-reboot): New utility.
11698 (grub-set-default): New utility.
11699
11700 * util/grub-mkconfig_lib.in (save_default_entry): New function.
11701 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
11702 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
11703 move it to `saved_entry' for the next boot. Load environment on
11704 initialisation.
11705 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
11706 * util/grub.d/10_hurd.in: Likewise.
11707 * util/grub.d/10_linux.in (linux_entry): Likewise.
11708 * util/grub.d/10_windows.in: Likewise.
11709 * util/grub.d/30_os-prober.in: Likewise.
11710
11711 * util/grub-install.in: Create environment block.
11712 * util/i386/efi/grub-install.in: Likewise.
11713 * util/ieee1275/grub-install.in: Likewise.
11714 * util/sparc64/ieee1275/grub-install.in: Likewise.
11715
0934d184
BC
117162010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
11717
11718 Unit testing framework for GRUB.
11719
11720 * Makefile.in: Test framework build rules for 'make check'.
11721 * conf/tests.rmk: Build rules for individual tests and framework.
11722
11723 * include/grub/test.h: Header file for whitebox tests.
11724 * tests/lib/functional_test.c: Framework support for whitebox
11725 functional tests.
11726 * tests/lib/test.c: Common whitebox testing code for unit and
11727 functional tests.
11728 * tests/lib/unit_test.c: Framework support for whitebox unit
11729 tests.
11730
11731 * tests/util/grub-shell-tester.in: Support utility for grub-script
11732 tests.
11733 * tests/util/grub-shell.in: Utility to execute grub-script
11734 commands in a Qemu instance.
11735
11736 * tests/example_functional_test.c: Example whitebox functional
11737 test.
11738 * tests/example_grub_script_test.in: Example grub-script test.
11739 * tests/example_scripted_test.in: Example scripted test.
11740 * tests/example_unit_test.c: Example whitebox unit test.
11741
9c4ffeeb
VS
117422010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11743
11744 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
11745 Add loader/i386/multiboot_mbi.c.
11746 (multiboot2_mod_SOURCES): Likewise.
11747 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
11748 (multiboot2_mod_SOURCES): Likewise.
11749 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
11750 (grub_multiboot_make_mbi): Likewise.
11751 (grub_multiboot_free_mbi): Likewise.
11752 (grub_multiboot_init_mbi): Likewise.
11753 (grub_multiboot_add_module): Likewise.
11754 (grub_multiboot_set_bootdev): Likewise.
11755 * loader/i386/multiboot.c (mbi): Removed.
11756 (mbi_dest): Likewise.
11757 (alloc_mbi): New variable.
11758 (grub_multiboot_payload_size): Removed. All users updated.
11759 (grub_multiboot_pure_size): New variable.
11760 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
11761 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
11762 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
11763 (grub_fill_multiboot_mmap): Likewise.
11764 (grub_multiboot_get_bootdev): Likewise.
11765 (grub_multiboot): Use multiboot_mbi functions.
11766 * loader/i386/multiboot_mbi.c: New file.
11767
17383dfe
VS
117682010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
11771 it would result in module crash.
11772
c1f28820
VS
117732010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11774
11775 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
11776 (grub_ofconsole_getwh): Split to ...
11777 (grub_ofconsole_getwh): ... this.
11778 (grub_ofconsole_dimensions): ...and this.
11779 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
11780
58655a16
RM
117812010-01-13 Robert Millan <rmh.grub@aybabtu.com>
11782
11783 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
11784
10891398
VS
117852010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 * loader/i386/pc/multiboot2.c: Removed stalled file.
11788
0b8a223c
VS
117892010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11790
11791 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
11792 Reported by: Grégoire Sutre
11793
92ab12b0
RM
117942010-01-11 Robert Millan <rmh.grub@aybabtu.com>
11795
11796 * util/misc.c (canonicalize_file_name): New function.
11797 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
11798 instead of realpath().
11799
a788afb6
CW
118002010-01-11 Colin Watson <cjwatson@ubuntu.com>
11801
11802 * util/grub-install.in (usage): Clarify meaning of --root-directory,
11803 and make it clearer that it's optional. Based on confusion
11804 witnessed on IRC.
11805
ffa8e3d2
VS
118062010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11807
11808 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
11809 in premature implicit newline.
11810
e9060a9d
VS
118112010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11812
11813 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
11814 which resulted in garbled command line at the end of screen.
11815
f0d0c0b7
RM
118162010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11817
11818 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
11819 initialization with similar approach as with other Linux loaders.
11820
0e60bae7
RM
118212010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11822
11823 Fix i386-ieee1275 build.
11824
11825 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
11826 and grub_term_height() for video_{width,height} initialization.
11827
118282010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
11829
11830 Fix grub-emu build.
11831
11832 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
11833
cdb3f378
RM
118342010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
118352010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11836
11837 Support for multiple terminals.
11838
11839 * Makefile.in (pkglib_DATA): terminal.lst.
11840 (terminal.lst): New target.
11841 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
11842 (GRUB_MOD_INIT(handler)): Likewise.
11843 (GRUB_MOD_FINI(handler)): Likewise.
11844 * commands/help.c (grub_cmd_help): Handle multiple terminals.
11845 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
11846 * commands/sleep.c (do_print): Use grub_term_restore_pos.
11847 (grub_cmd_sleep): Use grub_term_save_pos.
11848 * commands/terminal.c: New file.
11849 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
11850 commands/terminal.c and lib/charset.c.
11851 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
11852 (pkglib_MODULES): Add terminal.mod.
11853 (terminal_mod_SOURCES): New variable.
11854 (terminal_mod_CFLAGS): Likewise.
11855 (terminal_mod_LDFLAGS): Likewise.
11856 * genhandlerlist.sh: Don't handle terminals.
11857 * genmk.rb: Generate terminal-*.lst.
11858 * genterminallist.sh: New file.
11859 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
11860 (grub_is_valid_utf8): Likewise.
11861 (grub_utf8_to_ucs4_alloc): Likewise.
11862 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
11863 (grub_menu_register_viewer): Changed argument.
11864 (grub_menu_try_text): New proto.
11865 (grub_gfxmenu_try_hook): New declaration.
11866 * include/grub/normal.h (grub_normal_exit_level): New declaration.
11867 (grub_menu_init_page): Additional argument term.
11868 (grub_normal_init_page): Likewise.
11869 (grub_cmdline_get): Arguments simplified.
11870 (grub_utf8_to_ucs4_alloc): Removed.
11871 (grub_print_ucs4): Additional argument term.
11872 (grub_getstringwidth): Likewise.
11873 (grub_print_message_indented): Likewise.
11874 (grub_menu_text_register_instances): New proto.
11875 (grub_show_menu): Likewise.
11876 (read_terminal_list): Likewise.
11877 (grub_set_more): Likewise.
11878 * include/grub/parser.h: Include handler.h.
11879 * include/grub/reader.h: Rewritten.
11880 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
11881 (GRUB_TERM_WIDTH): Changed to function.
11882 (GRUB_TERM_HEIGHT): Likewise.
11883 (GRUB_TERM_BORDER_WIDTH): Likewise.
11884 (GRUB_TERM_BORDER_HEIGHT): Likewise.
11885 (GRUB_TERM_NUM_ENTRIES): Likewise.
11886 (GRUB_TERM_ENTRY_WIDTH): Likewise.
11887 (GRUB_TERM_CURSOR_X): Likewise.
11888 (grub_term_input_class): Likewise.
11889 (grub_term_output_class): Likewise.
11890 (grub_term_outputs_disabled): New declaration.
11891 (grub_term_inputs_disabled): Likewise.
11892 (grub_term_outputs): Likewise.
11893 (grub_term_inputs): Likewise.
11894 (grub_term_register_input): Rewritten.
11895 (grub_term_register_output): Likewise.
11896 (grub_term_unregister_input): Likewise.
11897 (grub_term_unregister_output): Likewise.
11898 (FOR_ACTIVE_TERM_INPUTS): New macro.
11899 (FOR_DISABLED_TERM_INPUTS): Likewise.
11900 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11901 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11902 * include/grub/terminfo.h: Add oterm argument to all protypes.
11903 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
11904 Use grub_rescue_run.
11905 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
11906 All users updated.
11907 * kern/reader.c: Removed. All users updated.
11908 * kern/rescue_reader.c (grub_rescue_init): Removed.
11909 (grub_rescue_reader): Likewise.
11910 (grub_register_rescue_reader): Likewise.
11911 (grub_rescue_run): New function based on kern/reader.c.
11912 * kern/term.c: Adapted for multiterm.
11913 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
11914 (grub_is_valid_utf8): Likewise.
11915 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
11916 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
11917 right terminal.
11918 * loader/i386/linux.c (grub_linux_boot): Likewise.
11919 * normal/auth.c (grub_username_get): New function.
11920 (grub_auth_check_authentication): Use grub_username_get.
11921 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
11922 * normal/color.c: Adapt for multiterm.
11923 * normal/main.c (read_config_file): Don't use grub_reader_loop.
11924 (grub_normal_init_page): Additional argument term.
11925 (read_lists): Call read_terminal_lists.
11926 (grub_enter_normal_mode): Call grub_cmdline_run.
11927 Handle grub_normal_exit_level.
11928 (grub_cmd_normal): Make reentrant.
11929 (grub_cmd_normal_exit): New function.
11930 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
11931 * normal/menu.c: Adapt for multiterm.
11932 * normal/menu_entry.c: Likewise.
11933 * normal/menu_text.c: Likewise.
11934 * normal/menu_viewer.c: Removed. All users updated.
11935 * normal/term.c: New file.
11936 * util/console.c: Change order of includes to workaround a bug in
11937 ncurses headers.
11938 * term/terminfo.c: New argument oterm on all exported functions.
11939 All users updated.
11940 * util/grub-editenv.c (grub_term_input_class): Removed.
11941 (grub_term_output_class): Likewise.
11942
1a064917
RM
119432010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11944
11945 Make loader output a bit more user-friendly.
11946
11947 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
11948 is being loaded. Likewise for the Hurd.
11949
11950 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
11951 that kernel of FreeBSD ${version} is being loaded.
11952
11953 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
11954 grub_dprintf().
11955 (grub_cmd_initrd): Likewise.
11956 * util/grub.d/10_linux.in (linux_entry): Print message indicating
11957 that Linux ${version} is being loaded. Likewise for initrd.
11958
5ce0a83a 119592010-01-09 Carles Pina i Estany <carles@pina.cat>
11960
11961 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
11962
809bbfeb 119632010-01-08 Carles Pina i Estany <carles@pina.cat>
11964
11965 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
11966 (GRUB_MOD_INIT): Gettextizze.
11967 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
11968 (GRUB_MOD_INIT): Gettextizze.
11969 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
11970 (grub_cmd_linux): Capitalise Linux.
11971 (GRUB_MOD_INIT): Gettextizze.
11972 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
11973 (grub_cmd_linux): Capitalise Linux.
11974 (GRUB_MOD_INIT): Gettextizze.
11975 * loader/i386/linux.c: Include `<grub/i18n.h>'.
11976 (grub_cmd_linux): Capitalise Linux.
11977 (GRUB_MOD_INIT): Gettextizze.
11978 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
11979 (GRUB_MOD_INIT): Gettextizze.
11980 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
11981 (grub_cmd_linux): Capitalise Linux.
11982 (GRUB_MOD_INIT): Gettextizze.
11983 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
11984 (grub_cpu_xnu_init): Gettextizze.
11985 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
11986 (GRUB_MOD_INIT): Gettextizze.
11987 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
11988 (GRUB_MOD_INIT): Gettextizze.
11989 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
11990 (grub_linux_load64): Capitalise Linux.
11991 (GRUB_MOD_INIT): Gettextizze.
11992 * loader/xnu.c: Include `<grub/i18n.h>'.
11993 (GRUB_MOD_INIT): Gettextizze.
11994 * po/POTFILES: Add `loader/efi/appleloader.c',
11995 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
11996 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
11997 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
11998 `loader/i386/xnu.c', `loader/multiboot_loader.c',
11999 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
12000 and `loader/xnu.c'.
12001
b394b2ca
RM
120022010-01-08 Robert Millan <rmh.grub@aybabtu.com>
12003
12004 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
12005
120062010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
12007
12008 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
12009 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
12010 * util/mkisofs/mkisofs.c (main): Readjust --version output.
12011
bc8b32b3
RM
120122010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12013
12014 Reset Multiboot 2 support. New loader implements the draft in
12015 /branches/multiboot2 and shares as much code as possible with the
12016 production Multiboot 1 implementation.
12017
12018 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
12019 * loader/multiboot2.c: Likewise.
12020 * loader/i386/multiboot_helper.S: Likewise.
12021 * include/multiboot2.h: Replace with latest version from the draft
12022 in /branches/multiboot2.
12023
12024 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
12025 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
12026 and `loader/multiboot2.c'.
12027 (pkglib_MODULES): Add `multiboot2.mod'.
12028 (multiboot2_mod_SOURCES): New variable.
12029 (multiboot2_mod_LDFLAGS): Likewise.
12030 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
12031
12032 * conf/i386-pc.rmk: Likewise.
12033
12034 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12035 (multiboot_mod_SOURCES): Remove variable.
12036 (multiboot_mod_LDFLAGS): Likewise.
12037 (multiboot_mod_CFLAGS): Likewise.
12038
12039 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
12040 `<multiboot2.h>' instead of `<multiboot.h>'.
12041 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
12042 (MULTIBOOT_HEADER_MAGIC): New macros.
12043
12044 * loader/multiboot_loader.c (module_version_status): Remove variable.
12045 (find_multi_boot2_header): Remove function.
12046 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
12047 logic. Always check for the Multiboot version we're compiling for.
12048 (grub_cmd_module_loader): Likewise.
12049 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
12050 command instead of `multiboot'.
12051
5d2c52b8
RM
120522010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12053
12054 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
12055 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
12056 all users.
12057
53108d92
RM
120582010-01-07 Robert Millan <rmh.grub@aybabtu.com>
120592010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 Fix breakage introduced with previous commit.
12062
12063 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
12064 commands.
12065 * normal/handler.c (read_handler_list): Revert part of previous commit
12066 affecting this file.
12067 * normal/main.c (read_lists): Move read_handler_list() call back to ...
12068 (grub_normal_execute): ... here.
12069
e2e936b2
RM
120702010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12071
12072 Merge prefix-redefinition-fix branch.
12073
12074 * normal/autofs.c (read_fs_list): Make function capable of being
12075 run multiple times, gracefuly replacing the previous data
12076 structures.
12077 * normal/dyncmd.c (read_command_list): Likewise.
12078 * normal/handler.c (read_handler_list): Likewise.
12079 * normal/main.c (read_lists): New function. Calls all the
12080 list reading functions.
12081 (grub_normal_execute): Use read_lists() instead of calling all
12082 list reading functions explicitly. Register read_lists() as a
12083 variable hook attached to ${prefix}.
12084
607a3701
VS
120852010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12086
12087 Merge crypto branch.
12088
12089 * Makefile.in (pkglib_DATA): Add crypto.lst.
12090 (crypto.lst): New target.
12091 * commands/hashsum.c: New file.
12092 * commands/password.c (check_password): Use grub_crypto_memcmp.
12093 * commands/password_pbkdf2.c: New file.
12094 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
12095 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
12096 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
12097 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
12098 -I$(srcdir)/lib/libgcrypt_wrap.
12099 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
12100 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
12101 password_pbkdf2.mod.
12102 (crypto_mod_SOURCES): New variable.
12103 (crypto_mod_CFLAGS): Likewise.
12104 (crypto_mod_LDFLAGS): Likewise.
12105 (hashsum_mod_SOURCES): New variable.
12106 (hashsum_mod_CFLAGS): Likewise.
12107 (hashsum_mod_LDFLAGS): Likewise.
12108 (pbkdf2_mod_SOURCES): New variable.
12109 (pbkdf2_mod_CFLAGS): Likewise.
12110 (pbkdf2_mod_LDFLAGS): Likewise.
12111 (password_pbkdf2_mod_SOURCES): New variable.
12112 (password_pbkdf2_mod_CFLAGS): Likewise.
12113 (password_pbkdf2_mod_LDFLAGS): Likewise.
12114 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
12115 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
12116 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
12117 Include conf/gcry.rmk.
12118 * include/grub/auth.h: Rewritten.
12119 * include/grub/crypto.h: New file.
12120 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
12121 * include/grub/normal.h (read_crypto_list): New prototype.
12122 * lib/crypto.c: New file.
12123 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12124 * lib/pbkdf2.c: Likewise.
12125 * normal/auth.c (grub_auth_strcmp): Removed.
12126 (grub_iswordseparator): Likewise.
12127 (grub_auth_strword): Likewise.
12128 (is_authenticated): Use grub_strword.
12129 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
12130 and grub_strword. Pass entered password to authentication callback.
12131 * normal/crypto.c: New file.
12132 * normal/main.c: Call read_crypto_list.
12133 * util/grub-mkpasswd-pbkdf2.c: New file.
12134 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
12135
42841caa
VS
121362010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
12137
12138 Fix descent and ascent calculation.
12139
12140 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
12141 (options): New option "asce".
12142 (usage): Likewise.
12143 (add_char): Ignore invalid glyphs for descent calculation.
12144 Calculate ascent from actual content.
12145 (print_glyphs): Use 'asce'.
12146 (write_font): Likewise. Allow ascent override.
12147 (main): Handle "asce" option.
12148
e7730de7 121492010-01-06 Carles Pina i Estany <carles@pina.cat>
12150
12151 * kern/err.c: Include `<grub/i18n.h>'.
12152 (grub_print_error): Add full stop. Gettextizze.
12153 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
12154 (grub_bsd_load_elf): Capitalise ELF.
12155 (grub_cmd_freebsd_loadenv): Add `s' in error string.
12156 (grub_cmd_freebsd_module): Likewise.
12157 (grub_cmd_freebsd_module_elf): Likewise.
12158 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
12159
40e3a41f 121602010-01-06 Carles Pina i Estany <carles@pina.cat>
12161
12162 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
12163 * commands/search_file.c (HELP_MESSAGE): New macro.
12164 * commands/search_label.c (HELP_MESSAGE): Likewise.
12165 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
12166 * po/POTFILES: Add `commands/search_file.c',
12167 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
12168 `commands/search.c'.
12169
83507e68
RM
121702010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12171
12172 * config.rpath: Update from Gnulib.
12173
465c787b
YB
121742010-01-05 Yves Blusseau <blusseau@zetam.org>
12175
12176 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
12177
6581dd3a
YB
121782010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
12179
12180 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
12181
3bff18c5
CW
121822010-01-05 Colin Watson <cjwatson@ubuntu.com>
12183
12184 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
12185 arguments to fread so that we get a return value in bytes, rather
12186 than something that will normally be rounded down to 0.
12187 Adjust error handling to avoid producing garbage when size_t is not
12188 the same size as long long.
12189
a1368118
CW
121902010-01-05 Colin Watson <cjwatson@ubuntu.com>
12191
12192 * util/mkisofs/write.c (padblock_write): Check return value of
12193 fread.
12194
7c302978
RM
121952010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12196
12197 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
12198 floppy images now.
12199
12200 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
12201
e33ace06
RM
122022010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12203
12204 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
12205 instead of manual alignment.
12206 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
12207 verbose). Avoid attempts to read past end of the device
12208 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
12209 but GRUB_DISK_CACHE_SIZE may exceed that).
12210
4b856776
RM
122112010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12212
12213 * commands/crc.c (grub_cmd_crc): Abort on read errors.
12214 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
12215 it to upper layer.
12216
52c2d97f
VS
122172010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12218
12219 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
12220 New constant.
12221 (grub_efi_piwg_device_path): New structure
12222 (grub_efi_piwg_device_path_t): New type.
12223 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
12224 (devpath_1): Transform to a structure. All users updated.
12225 (devpath_2): Likewise.
12226 (devpath_3): Likewise.
12227 (devpath_4): Likewise.
12228 (devpath_5): Likewise.
12229
98ff6a54
VS
122302010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12231
12232 * loader/efi/appleloader.c: Restored. Update all users.
12233
3a73dcb6
RM
122342010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12235
12236 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
12237
12238 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
12239 (struct boot_blocklist): Move from here ...
12240 * include/grub/i386/pc/boot.h [ASM_FILE]
12241 (struct grub_boot_blocklist): ... to here. Update all users.
12242 (setup): Only initialize `start' member of `first_block'
12243 structure. Add assert() calls to verify the other members.
12244
12245 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
12246 (generate_image): Fix broken blocklist length initialization.
12247 Add assert() call to verify blocklist `segment' field.
12248
ab0eeb0c
RM
122492010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12250
12251 * loader/efi/appleloader.c: Remove. Update all users.
12252
58bc8bd5
RM
122532010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12254
12255 * boot/i386/pc/boot.S: Update copyright year.
12256 * boot/i386/pc/cdboot.S: Likewise.
12257 * boot/i386/pc/diskboot.S: Likewise.
12258 * boot/i386/pc/lnxboot.S: Likewise.
12259 * boot/i386/pc/pxeboot.S: Likewise.
12260 * bus/pci.c: Likewise.
12261 * commands/cmp.c: Likewise.
12262 * commands/help.c: Likewise.
12263 * commands/hexdump.c: Likewise.
12264 * commands/i386/pc/halt.c: Likewise.
12265 * commands/i386/pc/play.c: Likewise.
12266 * commands/i386/pc/vbeinfo.c: Likewise.
12267 * commands/ls.c: Likewise.
12268 * commands/test.c: Likewise.
12269 * disk/dmraid_nvidia.c: Likewise.
12270 * disk/i386/pc/biosdisk.c: Likewise.
12271 * disk/ieee1275/nand.c: Likewise.
12272 * disk/ieee1275/ofdisk.c: Likewise.
12273 * disk/lvm.c: Likewise.
12274 * disk/raid.c: Likewise.
12275 * disk/raid6_recover.c: Likewise.
12276 * disk/scsi.c: Likewise.
12277 * fs/affs.c: Likewise.
12278 * fs/cpio.c: Likewise.
12279 * fs/ext2.c: Likewise.
12280 * fs/hfs.c: Likewise.
12281 * fs/iso9660.c: Likewise.
12282 * fs/ntfs.c: Likewise.
12283 * fs/sfs.c: Likewise.
12284 * fs/udf.c: Likewise.
12285 * fs/ufs.c: Likewise.
12286 * fs/xfs.c: Likewise.
12287 * gencmdlist.sh: Likewise.
12288 * genmk.rb: Likewise.
12289 * include/grub/disk.h: Likewise.
12290 * include/grub/efi/api.h: Likewise.
12291 * include/grub/efi/efi.h: Likewise.
12292 * include/grub/efi/pe32.h: Likewise.
12293 * include/grub/elf.h: Likewise.
12294 * include/grub/fs.h: Likewise.
12295 * include/grub/i386/at_keyboard.h: Likewise.
12296 * include/grub/i386/pc/memory.h: Likewise.
12297 * include/grub/i386/pc/vbe.h: Likewise.
12298 * include/grub/i386/pci.h: Likewise.
12299 * include/grub/i386/tsc.h: Likewise.
12300 * include/grub/ieee1275/ieee1275.h: Likewise.
12301 * include/grub/ntfs.h: Likewise.
12302 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
12303 * include/grub/sparc64/libgcc.h: Likewise.
12304 * include/grub/symbol.h: Likewise.
12305 * include/grub/types.h: Likewise.
12306 * include/multiboot2.h: Likewise.
12307 * io/gzio.c: Likewise.
12308 * kern/device.c: Likewise.
12309 * kern/disk.c: Likewise.
12310 * kern/efi/efi.c: Likewise.
12311 * kern/efi/mm.c: Likewise.
12312 * kern/elf.c: Likewise.
12313 * kern/file.c: Likewise.
12314 * kern/i386/dl.c: Likewise.
12315 * kern/i386/pc/init.c: Likewise.
12316 * kern/i386/pc/startup.S: Likewise.
12317 * kern/ieee1275/ieee1275.c: Likewise.
12318 * kern/ieee1275/init.c: Likewise.
12319 * kern/main.c: Likewise.
12320 * kern/mm.c: Likewise.
12321 * kern/powerpc/dl.c: Likewise.
12322 * kern/sparc64/dl.c: Likewise.
12323 * kern/x86_64/dl.c: Likewise.
12324 * lib/hexdump.c: Likewise.
12325 * loader/efi/appleloader.c: Likewise.
12326 * loader/i386/ieee1275/linux.c: Likewise.
12327 * loader/i386/pc/chainloader.c: Likewise.
12328 * loader/i386/pc/linux.c: Likewise.
12329 * loader/i386/pc/multiboot2.c: Likewise.
12330 * loader/ieee1275/multiboot2.c: Likewise.
12331 * loader/multiboot2.c: Likewise.
12332 * loader/multiboot_loader.c: Likewise.
12333 * loader/powerpc/ieee1275/linux.c: Likewise.
12334 * normal/completion.c: Likewise.
12335 * normal/menu_entry.c: Likewise.
12336 * partmap/apple.c: Likewise.
12337 * util/grub.d/10_hurd.in: Likewise.
12338 * util/hostfs.c: Likewise.
12339 * video/readers/png.c: Likewise.
12340
e2d70b5c
CW
123412010-01-03 Colin Watson <cjwatson@ubuntu.com>
12342
12343 * include/grub/misc.h (GNUC_PREREQ): New macro.
12344 (ATTRIBUTE_ERROR): New macro.
12345 * include/grub/list.h (grub_bad_type_cast_real): Use
12346 ATTRIBUTE_ERROR.
12347
a173283f 123482010-01-03 Carles Pina i Estany <carles@pina.cat>
12349
12350 * normal/menu_text.c (print_message): Change messages.
12351
7fa7ff74 123522010-01-03 Carles Pina i Estany <carles@pina.cat>
12353
12354 * normal/menu_entry.c (store_completion): Gettextizze.
12355
136d24f6 123562010-01-03 Carles Pina i Estany <carles@pina.cat>
12357
12358 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
12359
f936862e 123602010-01-03 Carles Pina i Estany <carles@pina.cat>
12361
12362 * po/POTFILES: Sort correctly.
12363
29c44ad1 123642010-01-03 Carles Pina i Estany <carles@pina.cat>
12365
12366 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
12367 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
12368 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
12369 full stop.
12370 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
12371 summary. Gettextizze the strings.
12372 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
12373 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
12374 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
12375 full stop.
12376 (GRUB_MOD_INIT): Remove command name from summary.
12377 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
12378 summary.
12379 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
12380 * term/i386/pc/serial.c (options): Add full stops.
12381 (GRUB_MOD_INIT): Remove command name from the summary.
12382
77a79592 123832010-01-03 Carles Pina i Estany <carles@pina.cat>
12384
12385 * commands/acpi.c: Gettextizze help strings and/or options. Include
12386 `grub/i18n.h' if needed.
12387 * commands/blocklist.c: Likewise.
12388 * commands/boot.c: Likewise.
12389 * commands/cat.c: Likewise.
12390 * commands/cmp.c: Likewise.
12391 * commands/configfile.c: Likewise.
12392 * commands/crc.c: Likewise.
12393 * commands/date.c: Likewise.
12394 * commands/echo.c: Likewise.
12395 * commands/efi/fixvideo.c: Likewise.
12396 * commands/efi/loadbios.c: Likewise.
12397 * commands/gptsync.c: Likewise.
12398 * commands/halt.c: Likewise.
12399 * commands/handler.c: Likewise.
12400 * commands/hdparm.c: Likewise.
12401 * commands/hexdump.c: Likewise.
12402 * commands/i386/cpuid.c: Likewise.
12403 * commands/i386/pc/drivemap.c: Likewise.
12404 * commands/i386/pc/halt.c: Likewise.
12405 * commands/i386/pc/pxecmd.c: Likewise.
12406 * commands/i386/pc/vbeinfo.c: Likewise.
12407 * commands/i386/pc/vbetest.c: Likewise.
12408 * commands/ieee1275/suspend.c: Likewise.
12409 * commands/keystatus.c: Likewise.
12410 * commands/loadenv.c: Likewise.
12411 * commands/ls.c: Likewise.
12412 * commands/lsmmap.c: Likewise.
12413 * commands/lspci.c: Likewise.
12414 * commands/memrw.c: Likewise.
12415 * commands/minicmd.c: Likewise.
12416 * commands/parttool.c: Likewise.
12417 * commands/password.c: Likewise.
12418 * commands/probe.c: Likewise.
12419 * commands/read.c: Likewise.
12420 * commands/reboot.c: Likewise.
12421 * commands/search.c: Likewise.
12422 * commands/sleep.c: Likewise.
12423 * commands/test.c: Likewise.
12424 * commands/true.c: Likewise.
12425 * commands/usbtest.c: Likewise.
12426 * commands/videotest.c: Likewise.
12427 * commands/xnu_uuid.c: Likewise.
12428 * disk/loopback.c: Likewise.
12429 * hello/hello.c: Likewise.
12430 * loader/i386/bsd.c: Likewise.
12431 * term/i386/pc/serial.c: Likewise.
12432 * po/POTFILES: Add new files.
12433
da8d5c53
CW
124342010-01-02 Colin Watson <cjwatson@ubuntu.com>
12435
12436 * term/i386/pc/at_keyboard.c
12437 (keyboard_controller_wait_untill_ready): Rename to ...
12438 (keyboard_controller_wait_until_ready): ... this. Update all users.
12439
33937904 124402010-01-01 Carles Pina i Estany <carles@pina.cat>
12441
12442 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
12443 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
12444 string using string width.
12445 * normal/menu_text.c (grub_print_message_indented): Use
12446 grub_print_spaces and not print_spaces.
12447 (print_timeout): Likewise.
12448 (print_spaces): Move to...
12449 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
12450
3fd3b8d8
RM
124512010-01-01 Robert Millan <rmh.grub@aybabtu.com>
12452
12453 Import from Gnulib.
12454
12455 * gnulib/getdelim.c: New file.
12456 * gnulib/getline.c: Likewise.
12457
33433555
VS
124582009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
12459
12460 * include/grub/list.h (grub_assert_fail): Removed.
12461 (grub_bad_type_cast_real): New function.
12462 (grub_bad_type_cast): New macro.
12463 (GRUB_AS_LIST): Use grub_bad_type_cast.
12464 (GRUB_AS_LIST_P): Likewise.
e44721e8 12465 (GRUB_AS_NAMED_LIST): Likewise.
33433555 12466 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 12467 (GRUB_AS_PRIO_LIST): Likewise.
33433555 12468 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 12469 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 12470
f5a51306
VS
124712009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
12474 Fix syntax error.
12475
90d1e879
RM
124762009-12-29 Robert Millan <rmh.grub@aybabtu.com>
12477
12478 * configure.ac: Check for TARGET_CFLAGS initialization before we
12479 initialize it ourselves (sigh).
12480 Move a few modifications to TARGET_CFLAGS to be unconditional
12481 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
12482 eh_frame)
12483
12484 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
12485 * term/i386/pc/at_keyboard.c
12486 (keyboard_controller_wait_untill_ready): Likewise.
12487 (keyboard_controller_led): Rename `led_status' paramter to avoid
12488 name conflict.
12489
465b5a81 124902009-12-28 Carles Pina i Estany <carles@pina.cat>
12491
12492 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
12493 quotes.
12494
c181849b
VS
124952009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12496
12497 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
12498
9c8739a4
VS
124992009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12500
12501 * normal/menu_text.c (grub_print_message_indented): Prevent
12502 past-the-end-of-array dereference.
12503
3e74249c
VS
125042009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12505
12506 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
12507 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
12508
64fd18ed 125092009-12-27 Carles Pina i Estany <carles@pina.cat>
12510
12511 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
12512 * normal/main.c (grub_normal_read_line): Remove a space from the
12513 default prompt.
12514
714af9b9 125152009-12-27 Carles Pina i Estany <carles@pina.cat>
12516
12517 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
12518 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12519 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12520 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12521 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12522 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12523 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12524
82f3e412 125252009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 12526
12527 * video/readers/jpeg.c (cmd): Declare.
12528 (grub_cmd_jpegtest): Use `grub_command_t' type.
12529 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12530 Assign to `cmd'.
12531 (GRUB_MOD_FINI): Use `cmd' to unregister.
12532 * video/readers/png.c (cmd): Declare.
12533 (grub_cmd_pngtest): Use `grub_command_t' type.
12534 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12535 Assign to `cmd'.
12536 (GRUB_MOD_FINI): Use `cmd' to unregister.
12537 * video/readers/tga.c (cmd): Declare.
12538 (grub_cmd_tgatest): Use `grub_command_t' type.
12539 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12540 Assign to `cmd'.
12541 (GRUB_MOD_FINI): Use `cmd' to unregister.
12542
82f3e412 125432009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 12544
12545 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
12546 stops.
12547 * kern/corecmd.c (grub_register_core_commands): Likewise.
12548 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
12549 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12550 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
12551 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12552 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12553 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
12554 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12555 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
12556 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12557 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12558 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12559 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12560 * normal/handler.c (insert_handler): Likewise.
12561 * normal/main.c (GRUB_MOD_INIT): Likewise.
12562 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12563
fdcdbb66 125642009-12-26 Carles Pina i Estany <carles@pina.cat>
12565
12566 * commands/help.c (grub_cmd_help): Print the command name before the
12567 summary.
12568 (GRUB_MOD_INIT): Remove command name from the summary.
12569 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 12570 string as summary.
fdcdbb66 12571 * lib/arg.c (find_long): Print the command name before the summary.
12572 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
12573 summary.
12574 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
12575 * commands/cat.c (GRUB_MOD_INIT): Likewise.
12576 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
12577 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
12578 * commands/crc.c (GRUB_MOD_INIT): Likewise.
12579 * commands/date.c (GRUB_MOD_INIT): Likewise.
12580 * commands/echo.c (GRUB_MOD_INIT): Likewise.
12581 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
12582 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12583 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12584 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
12585 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
12586 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
12587 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
12588 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12589 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
12590 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
12591 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
12592 * commands/ls.c (GRUB_MOD_INIT): Likewise.
12593 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12594 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12595 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12596 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
12597 * commands/password.c (GRUB_MOD_INIT): Likewise.
12598 * commands/probe.c (GRUB_MOD_INIT): Likewise.
12599 * commands/read.c (GRUB_MOD_INIT): Likewise.
12600 * commands/search.c (GRUB_MOD_INIT): Likewise.
12601 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
12602 * commands/test.c (GRUB_MOD_INIT): Likewise.
12603 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
12604 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12605 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12606 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
12607 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12608 * lib/arg.c (GRUB_MOD_INIT): Likewise.
12609 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
12610 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12611 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12612 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12613 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12614 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
12615 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
12616 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
12617
9c288be2
VS
126182009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 Use search command for preliminar UUID search.
12621
12622 * commands/search.c: Split into ...
12623 * commands/search_wrap.c: ...this
12624 * commands/search.c: ...and this.
12625 * commands/search_file.c: New file.
12626 * commands/search_label.c: New file.
12627 * commands/search_uuid.c: New file.
12628 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
12629 Add commands/search_wrap.c, commands/search_file.c,
12630 commands/search_label.c and commands/search_uuid.c.
12631 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
12632 (search_mod_SOURCES): Set to commands/search_wrap.c.
12633 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
12634 search_label.mod.
12635 (search_fs_file_mod_SOURCES): New variable.
12636 (search_fs_file_mod_CFLAGS): Likewise.
12637 (search_fs_file_mod_LDFLAGS): Likewise.
12638 (search_label_mod_SOURCES): Likewise.
12639 (search_label_mod_CFLAGS): Likewise.
12640 (search_label_mod_LDFLAGS): Likewise.
12641 (search_fs_uuid_mod_SOURCES): New variable.
12642 (search_fs_uuid_mod_CFLAGS): Likewise.
12643 (search_fs_uuid_mod_LDFLAGS): Likewise.
12644 (fs_file_mod_SOURCES): Removed.
12645 (fs_file_mod_CFLAGS): Likewise.
12646 (fs_file_mod_LDFLAGS): Likewise.
12647 (fs_uuid_mod_SOURCES): Removed.
12648 (fs_uuid_mod_CFLAGS): Likewise.
12649 (fs_uuid_mod_LDFLAGS): Likewise.
12650 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
12651 Set to util/grub-install.in.
12652 * disk/fs_file.c: Removed.
12653 * disk/fs_uuid.c: Likewise.
12654 * include/grub/search.h: New file.
12655 * util/grub-install.in: Handle sparc64.
12656 Create and use load.cfg.
12657 * util/sparc64/ieee1275/grub-install.in: Removed.
12658
db943399
VS
126592009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
12662 Ignore return status if CF is cleared.
12663 (grub_biosdisk_get_diskinfo_standard): Likewise.
12664
3fdae612
RM
126652009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12666
12667 * term/i386/pc/at_keyboard.c
12668 (keyboard_controller_wait_untill_ready): New function.
12669 (grub_keyboard_controller_write, grub_keyboard_controller_read)
12670 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
12671 for keyboard polling, rather than duplicate the same loop. This
12672 saves a few bytes in code size.
12673
7ebaa2b4
VS
126742009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 Support for (pxe[:server[:gateway]]) syntax and
12677 use environment variable for PXE.
12678
12679 * commands/i386/pc/pxecmd.c (options): Removed.
12680 (print_ip): Removed.
12681 (grub_cmd_pxe): Removed
12682 (grub_cmd_pxe_unload): New function.
12683 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
12684 (grub_pxe_your_ip): Made static.
12685 (grub_pxe_default_server_ip): Likewise.
12686 (grub_pxe_default_gateway_ip): Likewise.
12687 (grub_pxe_blksize): Likewise.
12688 (parse_ip): New function.
12689 (grub_pxe_open): Support server and gateway specification.
12690 (grub_pxe_close): Free disk->data.
12691 (grub_pxefs_open): Use disk->data.
12692 (grub_pxefs_read): Likewise.
12693 (grub_env_write_readonly): New function.
12694 (set_mac_env): Likewise.
12695 (set_env_limn_ro): Likewise.
12696 (parse_dhcp_vendor): Likewise.
12697 (grub_pxe_detect): Set the environment variables.
12698 (set_ip_env): New function.
12699 (write_ip_env): Likewise.
12700 (grub_env_write_pxe_default_server): Likewise.
12701 (grub_env_write_pxe_default_gateway): Likewise.
12702 (grub_env_write_pxe_blocksize): Likewise.
12703 (GRUB_MOD_INIT(pxe)): Set environment variables.
12704 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
12705 (grub_pxe_mac_addr_t): ... this. All users updated.
12706 (grub_pxe_your_ip): Removed.
12707 (grub_pxe_server_ip): Likewise.
12708 (grub_pxe_gateway_ip): Likewise.
12709 (grub_pxe_blksize): Likewise.
12710
ec5f98ab 127112009-12-25 Carles Pina i Estany <carles@pina.cat>
12712
12713 * commands/help.c: Include `<grub/i18n.h>'.
12714 (grub_cmd_help): Gettextizze.
12715 (GRUB_MOD_INIT): Likewise.
12716 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
12717 (GRUB_MOD_INIT): Gettextizze.
12718 * commands/search.c: Include `<grub/i18n.h>'.
12719 (options): Gettextizze.
12720 (GRUB_MOD_INIT): Gettextizze.
12721 * lib/arg.c: Include `<grub/i18n.h>'.
12722 (help_options): Gettextizze.
12723 (find_long): Likewise.
12724 (grub_arg_show_help): Likewise.
12725 * normal/dyncmd.c: Include `<grub/i18n.h>'.
12726 (read_command_list): Gettextizze.
12727 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 12728 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 12729
22815526
RM
127302009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12731
12732 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
12733 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
12734 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
12735 (led_status): New variable.
12736 (keyboard_controller_led): New function.
12737 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
12738 update led status for caps lock, num lock and scroll lock.
12739
0ad46fd7
FZ
127402009-12-25 Felix Zielcke <fzielcke@z-51.de>
12741
12742 * util/hostdisk.c (open_device): Fix a comment.
12743
d0e158c2
RM
127442009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12745
12746 * util/grub-install.in (host_os): New variable.
12747 * util/i386/efi/grub-install.in (host_os): Likewise.
12748
401c0ad6
RM
127492009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12750
12751 * util/mkisofs/write.c (padblock_write): Abort when given an
12752 excedingly large embed image, instead of silently truncating it.
12753
d14d3370
RM
127542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12755
12756 * include/multiboot.h: Indentation fixes.
12757
eeed10b4
RM
127582009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12759
12760 * include/multiboot.h (struct multiboot_aout_symbol_table)
12761 (struct multiboot_elf_section_header_table): New structure
12762 declarations (stolen from GRUB Legacy).
12763 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
12764 table information.
12765
12766 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
12767 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
12768 type aliases.
12769
681c70ab
RM
127702009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12771
12772 * include/multiboot.h: Make comments src2texi-friendly.
12773
e4d47d8d
RM
127742009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12775
12776 For consistency with [multiboot]/docs/boot.S.
12777
12778 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
12779 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
12780 (MULTIBOOT_MAGIC2): Rename from this ...
12781 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
12782
a0b70bda
RM
127832009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12784
12785 * include/multiboot.h: Remove `<grub/types.h>'.
12786 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
12787 types. Update all users.
12788
61ba42be 127892009-12-25 Carles Pina i Estany <carles@pina.cat>
12790
12791 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
12792 `couldn't' and `can not' by `cannot'.
12793 * commands/i386/pc/drivemap.c: Likewise.
12794 * disk/ata.c: Likewise.
12795 * disk/ieee1275/nand.c: Likewise.
12796 * fs/affs.c: Likewise.
12797 * fs/fat.c: Likewise.
12798 * fs/hfs.c: Likewise.
12799 * fs/hfsplus.c: Likewise.
12800 * fs/iso9660.c: Likewise.
12801 * fs/jfs.c: Likewise.
12802 * fs/minix.c: Likewise.
12803 * fs/reiserfs.c: Likewise.
12804 * fs/sfs.c: Likewise.
12805 * fs/udf.c: Likewise.
12806 * fs/ufs.c: Likewise.
12807 * fs/xfs.c: Likewise.
12808 * loader/powerpc/ieee1275/linux.c: Likewise.
12809 * loader/sparc64/ieee1275/linux.c: Likewise.
12810 * util/grub-probe.c: Likewise.
12811 * util/misc.c: Likewise.
12812
7fd0baee 128132009-12-24 Carles Pina i Estany <carles@pina.cat>
12814
12815 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
12816 grub_errno calls.
12817 * commands/acpi.c: Likewise.
12818 * commands/blocklist.c: Likewise.
12819 * commands/efi/loadbios.c: Likewise.
12820 * commands/i386/pc/drivemap.c: Likewise.
12821 * commands/loadenv.c: Likewise.
12822 * commands/memrw.c: Likewise.
12823 * commands/password.c: Likewise.
12824 * commands/videotest.c: Likewise.
12825 * disk/ata.c: Likewise.
12826 * disk/ata_pthru.c: Likewise.
12827 * disk/dmraid_nvidia.c: Likewise.
12828 * disk/ieee1275/nand.c: Likewise.
12829 * disk/ieee1275/ofdisk.c: Likewise.
12830 * disk/loopback.c: Likewise.
12831 * disk/lvm.c: Likewise.
12832 * disk/mdraid_linux.c: Likewise.
12833 * disk/raid.c: Likewise.
12834 * disk/raid6_recover.c: Likewise.
12835 * disk/scsi.c: Likewise.
12836 * efiemu/main.c: Likewise.
12837 * efiemu/mm.c: Likewise.
12838 * efiemu/pnvram.c: Likewise.
12839 * efiemu/symbols.c: Likewise.
12840 * font/font.c: Likewise.
12841 * fs/cpio.c: Likewise.
12842 * fs/hfsplus.c: Likewise.
12843 * fs/iso9660.c: Likewise.
12844 * fs/jfs.c: Likewise.
12845 * fs/minix.c: Likewise.
12846 * fs/ntfs.c: Likewise.
12847 * fs/ntfscomp.c: Likewise.
12848 * fs/reiserfs.c: Likewise.
12849 * fs/ufs.c: Likewise.
12850 * fs/xfs.c: Likewise.
12851 * gettext/gettext.c: Likewise.
12852 * include/grub/auth.h: Likewise.
12853 * kern/elf.c: Likewise.
12854 * kern/file.c: Likewise.
12855 * kern/ieee1275/init.c: Likewise.
12856 * kern/ieee1275/mmap.c: Likewise.
12857 * kern/ieee1275/openfw.c: Likewise.
12858 * kern/powerpc/dl.c: Likewise.
12859 * kern/sparc64/dl.c: Likewise.
12860 * lib/arg.c: Likewise.
12861 * loader/i386/bsd.c: Likewise.
12862 * loader/i386/bsdXX.c: Likewise.
12863 * loader/i386/efi/linux.c: Likewise.
12864 * loader/i386/efi/xnu.c: Likewise.
12865 * loader/i386/ieee1275/linux.c: Likewise.
12866 * loader/i386/linux.c: Likewise.
12867 * loader/i386/multiboot.c: Likewise.
12868 * loader/i386/pc/linux.c: Likewise.
12869 * loader/i386/pc/multiboot2.c: Likewise.
12870 * loader/i386/xnu.c: Likewise.
12871 * loader/ieee1275/multiboot2.c: Likewise.
12872 * loader/macho.c: Likewise.
12873 * loader/machoXX.c: Likewise.
12874 * loader/multiboot2.c: Likewise.
12875 * loader/multiboot_loader.c: Likewise.
12876 * loader/powerpc/ieee1275/linux.c: Likewise.
12877 * loader/sparc64/ieee1275/linux.c: Likewise.
12878 * loader/xnu.c: Likewise.
12879 * loader/xnu_resume.c: Likewise.
12880 * mmap/i386/pc/mmap.c: Likewise.
12881 * normal/menu_viewer.c: Likewise.
12882 * partmap/acorn.c: Likewise.
12883 * partmap/amiga.c: Likewise.
12884 * partmap/apple.c: Likewise.
12885 * script/lexer.c: Likewise.
12886 * term/gfxterm.c: Likewise.
12887 * term/i386/pc/serial.c: Likewise.
12888 * term/i386/pc/vga.c: Likewise.
12889 * term/ieee1275/ofconsole.c: Likewise.
12890 * term/terminfo.c: Likewise.
12891 * video/bitmap.c: Likewise.
12892 * video/efi_gop.c: Likewise.
12893 * video/efi_uga.c: Likewise.
12894 * video/fb/video_fb.c: Likewise.
12895 * video/i386/pc/vbe.c: Likewise.
12896 * video/readers/tga.c: Likewise.
12897 * video/video.c: Likewise.
12898
0ad46fd7 128992009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
12900
12901 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
12902 * commands/lspci.c: Likewise.
12903 * commands/probe.c: Likewise.
12904 * commands/xnu_uuid.c: Likewise.
12905 * conf/i386-coreboot.rmk: Likewise.
12906 * conf/i386-efi.rmk: Likewise.
12907 * conf/i386-ieee1275.rmk: Likewise.
12908 * conf/i386-pc.rmk: Likewise.
12909 * conf/powerpc-ieee1275.rmk: Likewise.
12910 * conf/sparc64-ieee1275.rmk: Likewise.
12911 * conf/x86_64-efi.rmk: Likewise.
12912 * fs/i386/pc/pxe.c: Likewise.
12913 * gettext/gettext.c: Likewise.
12914 * include/grub/efi/graphics_output.h: Likewise.
12915 * include/grub/i386/pc/memory.h: Likewise.
12916 * kern/env.c: Likewise.
12917 * kern/i386/qemu/startup.S: Likewise.
12918 * lib/i386/pc/biosnum.c: Likewise.
12919 * lib/i386/relocator.c: Likewise.
12920 * lib/i386/relocator_asm.S: Likewise.
12921 * lib/relocator.c: Likewise.
12922 * loader/i386/bsd.c: Likewise.
12923 * loader/i386/multiboot.c: Likewise.
12924 * loader/i386/pc/chainloader.c: Likewise.
12925 * loader/i386/xnu.c: Likewise.
12926 * loader/xnu.c: Likewise.
12927 * normal/main.c: Likewise.
12928 * normal/menu_text.c: Likewise.
12929 * util/getroot.c: Likewise.
12930 * util/grub-mkconfig_lib.in: Likewise.
12931 * util/grub.d/00_header.in: Likewise.
12932 * util/i386/pc/grub-mkimage.c: Likewise.
12933 * util/mkisofs/eltorito.c: Likewise.
12934 * util/mkisofs/exclude.h: Likewise.
12935 * util/mkisofs/hash.c: Likewise.
12936 * util/mkisofs/iso9660.h: Likewise.
12937 * util/mkisofs/joliet.c: Likewise.
12938 * util/mkisofs/mkisofs.c: Likewise.
12939 * util/mkisofs/mkisofs.h: Likewise.
12940 * util/mkisofs/multi.c: Likewise.
12941 * util/mkisofs/name.c: Likewise.
12942 * util/mkisofs/rock.c: Likewise.
12943 * util/mkisofs/tree.c: Likewise.
12944 * util/mkisofs/write.c: Likewise.
12945 * video/efi_gop.c: Likewise.
12946
009ec743
VS
129472009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12948
12949 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
12950 size counting.
12951
0ad46fd7 129522009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
12953
12954 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
12955 * genmk.rb (class SCRIPT): Modify the target file instead of source.
12956
d3d30ea0
VS
129572009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12958
12959 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
12960 (GRUB_MOD_INIT(memrw)): Update help line.
12961
a34f5c70
VS
129622009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12963
12964 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
12965 Use grub_extcmd_t. All users updated.
12966 (options): New variable.
12967 (grub_cmd_read): Restructure for readability. Support "-v" option.
12968 (grub_cmd_write): Restructure for readability.
12969
0ad46fd7 129702009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
12971
12972 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
12973
0ad46fd7 129742009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
12975
12976 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
12977 with the actual contents of the correspondending make variable.
12978 * util/grub-mkrescue.in (pkglib_DATA): New variable.
12979 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
12980 specifying `*.lst' and `efiemu??.o'
12981
0ad46fd7 129822009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
12983
12984 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
12985 after function name.
12986 Noticed by Rene Engelhard <rene@debian.org>.
12987
dc77a799
VS
129882009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
12991 (options): New variable.
12992 (iospace): Likewise.
12993 (grub_lspci_iter): List IO spaces if "-i" was given.
12994 (grub_cmd_lspci): Parse options.
12995 (GRUB_MOD_INIT(lspci)): Use extcmd.
12996 (GRUB_MOD_FINI(lspci)): Likewise.
12997
0ad46fd7 129982009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
12999
13000 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
13001 `function' keyword.
13002 Patch by Tony Mancill <tmancill@debian.org>.
13003
b5d5993b
VS
130042009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13005
13006 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
13007 (grub_uhci_portstatus): Likewise.
13008 (grub_uhci_portstatus): Add necessary delay.
11d18281 13009 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 13010
941903f2 130112009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 13012
941903f2 13013 * commands/acpi.c (options): Fix capitalizations and/or full stops.
13014 (GRUB_MOD_INIT): Likewise.
13015 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 13016 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
13017 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 13018 * commands/efi/loadbios.c (enable_rom_area): Likewise.
13019 (enable_rom_area): Likewise.
13020 (GRUB_MOD_INIT): Likewise.
13021 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
13022 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
13023 * commands/handler.c (GRUB_MOD_INIT): Likewise.
13024 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
13025 * commands/hexdump.c (options): Likewise.
13026 * commands/i386/cpuid.c (options): Likewise.
13027 (GRUB_MOD_INIT): Likewise.
13028 * commands/i386/pc/drivemap.c (options): Likewise.
13029 (GRUB_MOD_INIT): Likewise.
13030 * commands/i386/pc/halt (options): Likewise.
13031 (GRUB_MOD_INIT): Likewise.
13032 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
13033 * commands/i386/pc/pxecmd.c (options): Likewise.
13034 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
13035 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
13036 * commands/keystatus.c (options): Likewise.
13037 (GRUB_MOD_INIT): Likewise.
13038 * commands/loadenv.c (options): Likewise.
13039 * commands/ls.c (options): Likewise.
13040 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
13041 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
13042 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
13043 * commands/parttool.c (helpmsg): Likewise.
13044 * commands/probe.c (options): Likewise.
13045 * commands/read.c (GRUB_MOD_INIT): Likewise.
13046 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
13047 * commands/search.c (options): Likewise.
13048 * commands/sleep.c (options): Likewise.
13049 * commands/test.c (GRUB_MOD_INIT): Likewise.
13050 * commands/true.c (GRUB_MOD_INIT): Likewise.
13051 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
13052 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
13053 * lib/arg.c (help_options): Likewise.
e9bbb4e7 13054 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
13055 `$(XGETTEXT)'.
98a50553 13056 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 13057
0ad46fd7 130582009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 13059
ef3c2c3a 13060 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
13061 instead of specifying them explicit.
13062
7922f68b
RM
130632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13064
13065 * NEWS: Add grub-probe support for GNU/Hurd.
13066
537ce47f
RM
130672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13068
13069 * NEWS: gettext was added after 1.97.
13070
9b214e3a
RM
130712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13072
13073 * util/mkisofs/msdos_partition.h: New file (based on
13074 include/grub/msdos_partition.h).
13075 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
13076 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
13077 (ld_options, main): Recognize --protective-msdos-label.
13078 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
13079 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
13080 (padblock_write): If `use_protective_msdos_label' is set, patch a
13081 protective DOS-style label in the output image.
13082
13083 * util/grub-mkrescue.in: Use --protective-msdos-label.
13084
e9309813
RM
130852009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13086
13087 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
13088 boot.
13089
0ae56929
RM
130902009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13091
13092 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
13093 variables.
13094 (ld_options, main): Recognize `--embedded-boot'.
13095 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
13096 declarations.
13097 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
13098 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
13099 (padblock_write): Likewise. Rewrite to support embedded boot image.
13100
13101 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
13102 for BIOS-based disk boot instead of only ElTorito.
13103
b15937b1
RM
131042009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13105
13106 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
13107 build (not needed for bootstrap).
13108
52cc3ce0
RM
131092009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13110
13111 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
13112 from i386-pc build (not needed for bootstrap).
13113 Rewrite a pair of strings.
13114
36f5ff04
RM
131152009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13116
13117 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
13118
973c6c85 131192009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
13120
13121 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
13122
05d21547
AB
131232009-12-21 Andreas Born <futur.andy@googlemail.com>
13124
13125 * kern/env.c (grub_env_context_open): Mark exported variable for
13126 reexport.
13127
0175d51f
AB
131282009-12-21 Andreas Born <futur.andy@googlemail.com>
13129
13130 * kern/env.c (grub_env_export): Create nonexistent variables before
13131 exporting.
13132
7f39d92f 131332009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 13134
7f39d92f 13135 * include/grub/auth.h: Include `<grub/i18n.h>'.
13136 (GRUB_GET_PASSWORD): Gettextizze string.
13137 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
13138 menu_text.c.
13139 (grub_utf8_to_ucs4_alloc): Fix indentation.
13140 (grub_print_ucs4): Likewise.
13141 (grub_getstringwidth): Likewise.
13142 (print_message_indented): New declaration.
13143 * normal/auth.c: Include `<grub/i18n.h>'.
13144 (grub_auth_check_authentication): Gettexttize string.
13145 * normal/cmdline.c: Include `<grub/i18n.h>'.
13146 (grub_cmdline_get): Gettextizze.
13147 * normal/color.c: Include `<grub/i18n.h>'.
13148 (grub_parse_color_name_pair): Gettexttize strings.
13149 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
13150 string (use `print_message_indented').
13151 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
13152 `include/grub/normal.h'.
13153 (print_message_indented): Renamed to ...
13154 (grub_print_message_indented): ... this. Remove `static' qualifer (now
13155 used in normal/main.c).
13156 (print_message): Use `grub_print_message_indented' instead of
13157 `print_message_indented'.
13158 (print_timeout): Likewise.
13159 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
13160 (grub_normal_print_device_info): Gettexttize strings.
13161 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
13162
3041d898
VS
131632009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
13166 of arguments. Return number of tokens and not arguments. All users
13167 updated.
13168
de15bf8e
VS
131692009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13170
13171 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
13172 non-MSDOS paritions.
13173
e0a6ca52
VS
131742009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13175
13176 * include/grub/types.h (UNUSED): Removed since it conflicts with
13177 NetBSD headers. All users changed to direct __attribute__ ((unused)).
13178 Reported by Grégoire Sutre.
13179
b99518d1 131802009-12-19 Carles Pina i Estany <carles@pina.cat>
13181
13182 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
13183 (grub_print_ucs4_alloc): Likewise.
13184 (grub_getstringwidth): Likewise.
13185 * normal/main.c (grub_normal_init_page): Gettextize version string.
13186 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
13187 (getstringwidth): Renamed to ...
13188 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
13189 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
13190 (grub_print_ucs4): Remove `static' qualifer (now used in
13191 normal/main.c).
13192 * po/POTFILES: Add normal/main.c.
13193
bfd5e52b 131942009-12-19 Carles Pina i Estany <carles@pina.cat>
13195
13196 * normal/menu_text.c (STANDARD_MARGIN): New macro.
13197 (print_message_indented): Add `margin_left' and `margin_right'
13198 parameters.
13199 (print_message): Update `print_message_indented' calls. Adds '\n' to the
13200 strings.
13201 (print_timeout): Use `print_message_indented' to print the message.
13202 Deletes `second_stage' parameter.
13203 (run_menu): Update `print_timeout' calls.
13204
5a1ad2b9
VS
132052009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13206
13207 Fix console palette on OpenFirmware.
13208
13209 * term/ieee1275/ofconsole.c (MAX): Removed.
13210 (colors): Redone based on VGA palette.
13211 (grub_ofconsole_setcolor): Discard brightness bit since only 8
13212 colors are supported.
13213 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
13214
b045f00a
VS
132152009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13216
13217 Fix potential EfiEmu double prepare.
13218
13219 * efiemu/main.c (prepared): New variable
13220 (grub_efiemu_unload): Set prepare to '0'.
13221 (grub_efiemu_prepare): Return if already prepared. Set prepared.
13222
13223 set_virtual_address_map support.
13224
13225 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
13226 prototype.
13227 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
13228 prototype.
13229 (grub_efiemu_crc32): Likewise.
13230 (grub_efiemu_crc64): Likewise.
13231 (grub_efiemu_set_virtual_address_map): Likewise.
13232 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
13233 New definition.
13234 (grub_autoefi_set_virtual_address_map): Likewise.
13235 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
13236 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
13237 Restructure flow to accomodate it.
13238 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
13239 (grub_efiemu_crc): Recompute CRC32.
13240 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
13241 (efiemu_ptv_relocated): ... this. Made global. All users updated.
13242 * efiemu/symbols.c (relocated_handle): New variable.
13243 (grub_efiemu_free_syms): Free relocated_handle.
13244 (grub_efiemu_alloc_syms): Allocate relocated_handle.
13245 (grub_efiemu_write_sym_markers): New function.
13246 (grub_efiemu_set_virtual_address_map): Likewise.
13247
13248 Newer XNU parameters.
13249
13250 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
13251 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
13252 (grub_xnu_fill_devicetree): New prototype.
13253 (grub_xnu_heap_real_start): New variable.
13254 * loader/xnu.c (get_name_ptr): New function.
13255 (grub_xnu_load_driver): Fill namelen and name.
13256
13257 64-bit xnu support.
13258
13259 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
13260 and 'loader/macho64.c'.
13261 * conf/i386-pc.rmk: Likewise.
13262 * conf/x86_64-efi.rmk: Likewise.
13263 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
13264 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
13265 * include/grub/macho.h (grub_macho_segment64): New structure.
13266 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
13267 (grub_macho_size32): ... to this.
13268 (grub_macho32_get_entry_point): Renamed from ...
13269 (grub_macho_get_entry_point32): ... to this.
13270 (grub_macho_contains_macho64): New prototype.
13271 (grub_macho_size64): Likewise.
13272 (grub_macho_get_entry_point64): Likewise.
13273 (grub_macho32_load): Renamed from ...
13274 (grub_macho_load32): ... to this.
13275 (grub_macho32_filesize): Renamed from ...
13276 (grub_macho_filesize32): ... to this.
13277 (grub_macho32_readfile): Renamed from ...
13278 (grub_macho_readfile32): ... to this.
13279 (grub_macho_filesize64): New prototype.
13280 (grub_macho_readfile64): Likewise.
13281 (grub_macho_parse32): Likewise.
13282 (grub_macho_parse64): Likewise.
13283 * loader/macho.c: Split into ...
13284 * loader/machoXX.c: ... and this. Replace 32 with XX.
13285 * loader/macho32.c: New file.
13286 * loader/macho64.c: Likewise.
13287 * loader/xnu.c (grub_xnu_is_64bit): New variable.
13288 (grub_cmd_xnu_kernel): Make 32-bit only.
13289 (grub_cmd_xnu_kernel64): New function.
13290 (grub_xnu_load_driver): Support Mach-O 64.
13291 (grub_cmd_xnu_mkext): Likewise.
13292 * util/grub.d/30_os-prober.in (osx_entry): New function.
13293 Generate entries for 64-bit boot too.
13294
13295 Eliminate ad-hoc tree format in XNU and EfiEmu.
13296
13297 * efiemu/main.c (grub_efiemu_prepare): Update comment.
13298 * efiemu/pnvram.c: Rewritten to use environment variables.
13299 All users updated.
13300
13301 Inline utf16_to_utf8.
13302
13303 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
13304 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
13305 All users updated.
13306 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
13307
13308 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
13309 * commands/usbtest.c (grub_usb_get_string): ... move here.
13310 (usb_print_str): Fix error handling.
13311 * include/grub/usb.h (grub_usb_get_string): Remove.
13312
13313 UTF-8 to UTF-16 transformation.
13314
13315 * conf/common.rmk (pkglib_MODULES): Add charset.mod
13316 (charset_mod_SOURCES): New variable.
13317 (charset_mod_CFLAGS): Likewise.
13318 (charset_mod_LDFLAGS): Likewise.
13319 * include/grub/utf.h: New file.
13320 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
13321
13322 Support for device properties.
13323
13324 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
13325 (grub_xnu_devprop_device_header): Likewise.
13326 (grub_xnu_devprop_device_descriptor): Likewise.
13327 (grub_xnu_devprop_add_device): New prototype.
13328 (grub_xnu_devprop_remove_device): Likewise.
13329 (grub_xnu_devprop_remove_property): Likewise.
13330 (grub_xnu_devprop_add_property_utf8): Likewise.
13331 (grub_xnu_devprop_add_property_utf16): Likewise.
13332 (grub_cpu_xnu_init): Likewise.
13333 (grub_cpu_xnu_fini): Likewise.
13334 (grub_cpu_xnu_unload): Likewise.
13335 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
13336 (property_descriptor): Likewise.
13337 (devices): New variable.
13338 (grub_xnu_devprop_remove_property): New function.
13339 (grub_xnu_devprop_add_device): Likewise.
13340 (grub_xnu_devprop_remove_device): Likewise.
13341 (grub_xnu_devprop_add_property): Likewise.
13342 (grub_xnu_devprop_add_property_utf8): Likewise.
13343 (grub_xnu_devprop_add_property_utf16): Likewise.
13344 (hextoval): Likewise.
13345 (grub_cpu_xnu_fill_devprop): Likewise.
13346 (grub_cmd_devprop_load): Likewise.
13347 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
13348 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
13349 (cmd_devprop_load): New variable.
13350 (grub_cpu_xnu_init): New function.
13351 (grub_cpu_xnu_fini): Likewise.
13352 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
13353 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
13354 (grub_cmd_xnu_devtree): Likewise.
13355 (hextoval): New function.
13356 (unescape): Likewise.
13357 (grub_xnu_fill_devicetree): Likewise.
13358
13359 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
13360 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
13361
0945f181
VS
133622009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 Workaround for broken ATI VBE.
13365
13366 * video/i386/pc/vbe.c (last_set_mode): New variable.
13367 (grub_vbe_set_video_mode): Set 'last_set_mode'.
13368 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
13369 (grub_video_vbe_setup): Don't check for reserved flag.
13370
0ad46fd7 133712009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
13372
13373 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
13374 the `find' command.
13375
c179ebe4
VS
133762009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13377
13378 UUID support for HFS.
13379
13380 * fs/hfs.c (grub_hfs_uuid): New function.
13381 (grub_hfs_fs): New value .uuid.
13382 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
13383
0ad46fd7 133842009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
13385
13386 Fix a segfault with parsing unknown long options.
13387
13388 * util/grub-mkrelpath.c (options): Zero terminate it.
13389
c4a3e41a
CPE
133902009-12-13 Carles Pina i Estany <carles@pina.cat>
13391
13392 * include/grub/misc.h (grub_puts): New declaration.
13393 (grub_puts_): Likewise.
a22008a6 13394 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
13395 (grub_puts_): Likewise.
13396
2e8a7602
RM
133972009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13398
13399 * util/grub-probe.c (probe): Improve error message.
13400
b50b77b9
RM
134012009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13402
13403 * loader/i386/multiboot_elfxx.c
13404 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
13405 initialization.
13406
134072009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13408
13409 Relocator framework
13410
13411 * loader/i386/xnu_helper.S: Removed. All users updated.
13412 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
13413 (relocator_mod_SOURCES): New variable.
13414 (relocator_mod_CFLAGS): Likewise.
13415 (relocator_mod_LDFLAGS): Likewise.
13416 (relocator_mod_ASFLAGS): Likewise.
13417 * conf/x86_64.rmk: Likewise.
13418 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
13419 (grub_multiboot_payload_entry_offset): Likewise.
13420 (grub_multiboot_forward_relocator): Likewise.
13421 (grub_multiboot_forward_relocator_end): Likewise.
13422 (grub_multiboot_backward_relocator): Likewise.
13423 (grub_multiboot_backward_relocator_end): Likewise.
13424 (grub_multiboot_payload_eip): New variable.
13425 (grub_multiboot_payload_orig): Likewise.
13426 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
13427 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
13428 * include/grub/i386/memory.h
13429 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
13430 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
13431 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
13432 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
13433 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
13434 * include/grub/i386/relocator.h: New file.
13435 * include/grub/x86_64/relocator.h: Likewise.
13436 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
13437 (XNU_RELOCATOR): New macro.
13438 (grub_xnu_launcher_start): Remove.
13439 (grub_xnu_launcher_end): Likewise.
13440 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
13441 (grub_xnu_heap_real_start): Remove.
13442 (grub_xnu_heap_start): Change to void *. All users updated.
13443 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
13444 * lib/i386/relocator.c: New file.
13445 * lib/i386/relocator_asm.S: Likewise.
13446 * lib/i386/relocator_backward.S: Likewise.
13447 * lib/mips/relocator.c: Likewise.
13448 * lib/mips/relocator_asm.S: Likewise.
13449 * lib/relocator.c: Likewise.
13450 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
13451 (entry): Removed.
13452 (playground): Likewise.
13453 (grub_multiboot_payload_orig): New variable.
13454 (grub_multiboot_payload_dest): Likewise.
13455 (grub_multiboot_payload_size): Likewise.
13456 (grub_multiboot_payload_eip): Likewise.
13457 (grub_multiboot_payload_esp): Likewise.
13458 (grub_multiboot_boot): Use grub_relocator32_boot.
13459 (grub_multiboot_unload): Free relocators.
13460 (grub_multiboot): Setup stack. Use relocators.
13461 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
13462 (grub_multiboot_load_elfXX): Use relocators.
13463 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
13464 (grub_multiboot_payload_size): Likewise.
13465 (grub_multiboot_payload_dest): Likewise.
13466 (grub_multiboot_payload_entry_offset): Likewise.
13467 (grub_multiboot_forward_relocator): Likewise.
13468 (grub_multiboot_backward_relocator): Likewise.
13469 (grub_multiboot_real_boot): Likewise.
13470 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
13471 (grub_xnu_entry_point): Likewise.
13472 (grub_xnu_arg1): Likewise.
13473 (grub_xnu_stack): Likewise.
13474 (grub_xnu_launch): Removed.
13475 (grub_xnu_boot_resume): New function.
13476 (grub_xnu_boot): Use relocators.
13477 * loader/i386/xnu_helper.S: Removed.
13478 * loader/xnu.c (grub_xnu_heap_start): New variable.
13479 (grub_xnu_heap_size): Likewise.
13480 (grub_xnu_heap_malloc): Use relocators.
13481 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
13482
29eb90c6
VS
134832009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13484
13485 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
13486 anything.
13487
31027430
CPE
134882009-12-13 Carles Pina i Estany <carles@pina.cat>
13489
13490 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
13491 GRUB_ERR_NONE before calling grub_env_set.
13492
dc0c71d9
RM
134932009-12-12 Robert Millan <rmh@aybabtu.com>
13494
13495 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
13496 * genmk.rb (video): New variable.
13497 (CLEANFILES, VIDEOFILES): Add #{video}.
13498 (#{video}): New target rule.
13499 * genvideolist.sh: New file.
13500 * Makefile.in (pkglib_DATA): Add video.lst.
13501 (video.lst): New target rule.
13502 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
13503 `video.lst'.
13504 * util/grub.d/30_os-prober.in: Replace `vbe' with
13505 ${GRUB_VIDEO_BACKEND}.
13506
2a4bfcf0
RM
135072009-12-11 Robert Millan <rmh.grub@aybabtu.com>
13508
13509 * THANKS: Add David Miller.
13510
2a3aa4d5
RM
135112009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
13512
13513 libpciaccess support.
13514
13515 * Makefile.in (LIBPCIACCESS): New variable.
13516 (enable_grub_emu_pci): Likewise.
13517 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
13518 util/pci.c and commands/lspci.c.
13519 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
13520 * configure.ac (grub-emu-pci): New option.
13521 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
13522 (grub_pci_device_unmap_range): Likewise.
13523 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
13524 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
13525 (grub_pci_address_t) [!GRUB_UTIL]: New type.
13526 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
13527 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
13528 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
13529 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
13530 * include/grub/pciutils.h: New file.
13531 * util/pci.c: Likewise.
13532
0ad46fd7 135332009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
13534
13535 * util/misc.c: Don't include <errno.h> twice.
13536
0ad46fd7 135372009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
13538
13539 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
13540 name in an error message.
13541 (grub_biosdisk_rw): Likewise.
13542
2e59983c
VS
135432009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 Eliminate NTFS 4Gib barrier.
13546
13547 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
13548 (read_run_data): Likewise.
13549 (grub_ntfs_read_run_list): Likewise.
13550 (grub_ntfs_read_block): Likewise.
13551 (grub_ntfs_iterate_dir): Likewise.
13552 (read_mft): Likewise.
13553 (read_data): Likewise.
13554 Use COM_LOG_LEN.
13555 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
13556 to avoid 64-bit division
13557 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
13558 (grub_ntfs_rlst): Use grub_disk_addr_t.
13559
71ee178a
VS
135602009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 Eliminate grub-fstest 4Gib barrier.
13563
13564 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
13565 (read_file): Fix error reporting.
13566
2520d4b8
VS
135672009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13568
13569 Eliminate hexdump 4Gib barrier.
13570
13571 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
13572 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
13573
e1f27065
VS
135742009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13575
13576 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
13577 Fixes amarsh bug.
13578
1a0f7f45
RM
135792009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
13580
13581 Remove miscellaneous files in distclean target.
13582
13583 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
13584
c631d9fb
CW
135852009-12-09 Colin Watson <cjwatson@ubuntu.com>
13586
13587 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
13588 if they're already set. This resolves the conflict between my
13589 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
13590 fixing the --grub-probe option again.
13591 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
13592 change on 2009-10-06, so that we now once again source
13593 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13594
7c7b6106
RM
135952009-12-08 Robert Millan <rmh.grub@aybabtu.com>
13596
13597 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
13598 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
13599 `util/devicemap.c'.
13600
e3069ec1
CPE
136012009-12-08 Carles Pina i Estany <carles@pina.cat>
13602
13603 * include/grub/misc.h (grub_printf_): New declaration.
13604 * kern/misc.c (grub_printf_): New definition.
13605 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
13606 instead of `grub_printf' and `_'.
13607 * normal/menu_entry.c (store_completion): Likewise.
13608 (run): Likewise.
13609 (grub_menu_entry_run): Likewise.
13610 * normal/menu_text.c (grub_wait_after_message): Likewise.
13611 (notify_booting): Likewise.
13612 (notify_fallback): Likewise.
13613 (notify_execution_failure): Likewise.
13614
d6ceebf1
CW
136152009-12-07 Colin Watson <cjwatson@ubuntu.com>
13616
13617 * configure.ac: Check for vasprintf.
13618 * util/misc.c (asprintf): Move allocation from here ...
13619 (vasprintf): ... to here. New function.
13620 (xasprintf): New function.
13621 * include/grub/util/misc.h (vasprintf, xasprintf): Add
13622 prototypes.
13623 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13624 * util/grub-mkfont.c (write_font): Likewise.
13625 * util/grub-probe.c (probe): Likewise.
13626 * util/hostdisk.c (make_device_name): Likewise.
13627
de6daa8b
DM
136282009-12-06 David S. Miller <davem@sunset.davemloft.net>
13629
13630 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
13631 anything even prefixed with 'cdrom' as a cdrom.
13632
0ad46fd7 136332009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
13634
13635 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
13636 mount points.
13637
98d3dc02
CPE
136382009-12-05 Carles Pina i Estany <carles@pina.cat>
13639
13640 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
13641 grub_gettext_msg_list.
13642 (grub_gettext_gettranslation_from_position): Return const char *
13643 and not char *.
a2c1332b 13644 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
13645 returns from the list if existing there.
13646 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
13647 (grub_gettext_delete_list): Delete the list.
13648 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
13649 lang environment variable is changed.
13650 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
13651
b283f108
VS
136522009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 Rename kernel.mod to kernel.img.
13655
13656 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
13657 (kernel_mod_EXPORTS): Rename to ...
13658 (kernel_img_EXPORTS): ... this.
13659 (kernel_mod_SOURCES): Rename to ...
13660 (kernel_img_SOURCES): ... this.
13661 (kernel_mod_HEADERS): Rename to ...
13662 (kernel_img_HEADERS): ... this. All users updated.
13663 (kernel_mod_CFLAGS): Rename to ...
13664 (kernel_img_CFLAGS): ... this.
13665 (kernel_mod_ASFLAGS): Rename to ...
13666 (kernel_img_ASFLAGS): ... this.
13667 (kernel_mod_LDFLAGS): Rename to ...
13668 (kernel_img_LDFLAGS): ... this.
13669 * conf/x86_64-efi.rmk: Likewise.
13670 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
13671 (read_kernel_image): ... this. All users updated.
13672 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
13673
69055f8a
CPE
136742009-12-05 Carles Pina i Estany <carles@pina.cat>
13675
13676 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
13677 (print_spaces): New function.
13678 (grub_print_ucs4): New function.
13679 (getstringwidth): New function.
13680 (print_message_indented): New function.
13681 (print_message): Gettexttize strings using print_message_indented.
13682 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
13683 width.
13684 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 13685 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
13686 Gettextize.
13687 * normal/menu_entry.c (store_completion): Cleanup the gettextized
13688 string.
13689 (run): Likewise.
13690 (grub_menu_entry_run): Likewise.
13691 * PO/POTFILES: Add normal/menu_entry.c.
13692
f616f51c
VS
136932009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
13696
57bbe3be
CPE
136972009-12-05 Carles Pina i Estany <carles@pina.cat>
13698
13699 * util/grub-install.in: Install gettext .mo files.
13700 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
13701
013d67a1
CPE
137022009-12-05 Carles Pina i Estany <carles@pina.cat>
13703
13704 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
13705 grub_dprintf.
13706
fb954db0
RM
137072009-12-05 Robert Millan <rmh.grub@aybabtu.com>
13708
13709 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
13710 non-firmware-dependant one in realmode.S takes precedence.
13711
6b8474f8
RM
137122009-12-04 Robert Millan <rmh.grub@aybabtu.com>
13713
13714 * commands/halt.c: Replace misc arch-specific headers with
13715 `<grub/misc.h>'.
13716 * commands/reboot.c: Likewise.
13717 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
13718 `<grub/misc.h>'.
13719 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
13720 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
13721 (kernel_img_SOURCES): ... to here.
13722
13723 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
13724 * include/grub/i386/pc/init.h: Likewise.
13725 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13726 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13727
13728 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
13729
13730 * include/grub/i386/halt.h: Remove.
13731 * include/grub/i386/reboot.h: Likewise.
13732
13733 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
13734
4b2e6ca2
DM
137352009-12-03 David S. Miller <davem@sunset.davemloft.net>
13736
13737 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
13738 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
13739 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
13740 "progname.h"
13741 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13742 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13743 (usage): Add missing comma in printf.
13744
5239348f
RM
137452009-12-02 Robert Millan <rmh.grub@aybabtu.com>
13746
13747 Use the same reboot approach on i386 coreboot and qemu as we do on
13748 BIOS.
13749
13750 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
13751 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
13752 * kern/i386/reboot.c: Remove.
13753 * include/grub/i386/reboot.h (grub_reboot): Export function.
13754 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
13755 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
13756 0xf000:0xfff0 instead of 0xffff:0x0000.
13757 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
13758 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
13759
ef34cbd4
RM
137602009-11-30 Robert Millan <rmh.grub@aybabtu.com>
13761
13762 Fix $srcdir != $objdir build.
13763
13764 * Makefile.in (po/%.po): Rewrite as ...
13765 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
13766
dc9837ea
ST
137672009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
13768
13769 Fix GNU/Hurd grub-install crash.
13770 * util/grub-probe.c (probe): Try to access `path' only when it is not
13771 NULL.
13772
2f857f98
VS
137732009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13774
13775 Correct module naming.
13776
13777 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13778 (GRUB_MOD_INIT(efi_uga)): ... to this
13779 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13780 (GRUB_MOD_FINI(efi_uga)): ... to this
13781 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13782 (GRUB_MOD_INIT(efi_gop)): ... to this
13783 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13784 (GRUB_MOD_FINI(efi_gop)): ... to this
13785
c5448046
RM
137862009-11-28 Robert Millan <rmh.grub@aybabtu.com>
13787
13788 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
13789 translatable.
13790 (usage): Translate `arg' strings using gettext().
13791 Thanks to Jordi Mallach for the suggestion.
13792
c85184ad
VS
137932009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13794
13795 GOP support. Based on patch from Bean
13796 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13797
13798 * video/efi_gop.c: New file.
13799 * include/grub/efi/graphics_output.h: Likewise.
13800 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
13801 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13802 variables.
13803 * conf/x86_64-efi.rmk: Likewise.
13804
8a4c48d8
VS
138052009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13806
13807 Rename efi_fb to efi_uga.
13808
13809 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13810 'efi_uga.mod'.
13811 (efi_fb_mod_SOURCES): Rename this ...
13812 (efi_uga_mod_SOURCES): ... to this.
13813 (efi_fb_mod_CFLAGS): Rename this ...
13814 (efi_uga_mod_CFLAGS): ... to this.
13815 (efi_fb_mod_LDFLAGS): Rename this ...
13816 (efi_uga_mod_LDFLAGS): ... to this.
13817 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13818 'efi_uga.mod'.
13819 (efi_fb_mod_SOURCES): Rename this ...
13820 (efi_uga_mod_SOURCES): ... to this.
13821 (efi_fb_mod_CFLAGS): Rename this ...
13822 (efi_uga_mod_CFLAGS): ... to this.
13823 (efi_fb_mod_LDFLAGS): Rename this ...
13824 (efi_uga_mod_LDFLAGS): ... to this.
13825 * video/efi_fb.c: Move this ...
13826 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
13827
fb6c1a7b
RM
138282009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13829
13830 * po/README: New file. Explain our PO file workflow.
13831
3bc7896c
RM
138322009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13833
13834 * po/ChangeLog: Remove. Move relevant entries back to ...
13835 * ChangeLog: ... here.
13836 * po/ca.po: Remove (now handled by TLP).
13837 * po/id.po: Likewise.
13838 * po/zh_CN.po: Likewise.
13839 * Makefile.in (LINGUAS): Initialize in a way that supports
13840 empty set.
13841
9ed4841d
RM
138422009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13843
13844 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
13845 reliing on po/LINGUAS.
13846 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
13847 (po/%.po): ... this.
13848
0ad46fd7 138492009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
13850
13851 * util/i386/efi/grub-mkimage.c: Include "progname.h".
13852 (main): Use `program_name' instead of nonexistent `progname'.
13853
e30dd392
FZ
138542009-11-26 Felix Zielcke <fzielcke@z-51.de>
13855
13856 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13857 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
13858
7656de4f
RM
138592009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13860
13861 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
13862 commit.
13863 * conf/i386-efi.rmk: Likewise.
13864 * conf/i386-ieee1275.rmk: Likewise.
13865 * conf/powerpc-ieee1275.rmk: Likewise.
13866 * conf/sparc64-ieee1275.rmk: Likewise.
13867 * conf/x86_64-efi.rmk: Likewise.
13868
db77c4d4
FZ
138692009-11-26 Felix Zielcke <fzielcke@z-51.de>
13870
13871 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
13872
a755bb04
FZ
138732009-11-26 Felix Zielcke <fzielcke@z-51.de>
13874
13875 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
13876
8a4c07fd
RM
138772009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13878
13879 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
13880 (grub_mkdevicemap_SOURCES): New variable.
13881 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
13882 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
13883 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
13884 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
13885 (grub_mkdevicemap_SOURCES): Remove.
13886 * conf/i386-efi.rmk: Likewise.
13887 * conf/i386-ieee1275.rmk: Likewise.
13888 * conf/i386-pc.rmk: Likewise.
13889 * conf/powerpc-ieee1275.rmk: Likewise.
13890 * conf/sparc64-ieee1275.rmk: Likewise.
13891 * conf/x86_64-efi.rmk: Likewise.
13892 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
13893 (usage): Fix strings to use `program_name'.
13894 (main): Initialize gettext.
13895 * util/grub-editenv.c: Likewise.
13896 * util/grub-emu.c: Likewise.
13897 * util/grub-fstest.c: Likewise.
13898 * util/grub-mkdevicemap.c: Likewise.
13899 * util/grub-mkfont.c: Likewise.
13900 * util/grub-mkrelpath.c: Likewise.
13901 * util/grub-pe2elf.c: Likewise.
13902 * util/grub-probe.c: Likewise.
13903 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13904 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13905 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13906
13907 * util/misc.c: Include `"progname.h"'.
13908 (progname): Remove variable.
13909 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
13910
6f61ed55
FZ
139112009-11-25 Felix Zielcke <fzielcke@z-51.de>
13912
13913 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
13914 printf and print a newline after the menuentry header line.
13915 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13916
f022876b
FZ
139172009-11-25 Felix Zielcke <fzielcke@z-51.de>
13918
13919 autoconf >= 2.60 support $(localedir).
13920
13921 * INSTALL: Note that autoconf 2.60 is required.
13922 * configure.ac (AC_PREREQ): Bump to 2.60.
13923 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
13924 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
13925
6717926e
YB
139262009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
13927
13928 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
13929 aclocal is run.
13930
08806a54
RM
139312009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13932
13933 * normal/main.c (grub_normal_read_line): Fix off-by-one
13934 buffer overflow.
13935
13b33fba
RM
139362009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13937
13938 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
13939 "parser.grub" in grub_command_execute() call.
13940
4a8572e9
CPE
139412009-11-24 Carles Pina i Estany <carles@pina.cat>
13942
13943 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
13944 * conf/i386-efi.rmk: Likewise.
13945 * conf/i386-ieee1275.rmk: Likewise.
13946 * conf/i386-pc.rmk: Likewise.
13947 * conf/powerpc-ieee1275.rmk: Likewise.
13948 * conf/sparc64-ieee1275.rmk: Likewise.
13949 * conf/x86_64-efi.rmk: Likewise.
13950 * gettext/gettex.c: Include <grub/i18n.h>.
13951 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
13952 here ...
13953 * include/grub/i18n.h: ... to here
13954 * include/grub/i18n.h: ... to here.
13955 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 13956 (grub_gettext_dummy): Move above user.
4a8572e9 13957
bee48093
FZ
139582009-11-24 Felix Zielcke <fzielcke@z-51.de>
13959
13960 * util/Makefile.in (install-local): Convert a `for' into a normal
13961 shell expansion.
13962
a031e91c
RM
139632009-11-24 Robert Millan <rmh.grub@aybabtu.com>
13964
13965 * autogen.sh: Add automake call.
13966 * config.guess: Remove.
13967 * config.sub: Likewise.
13968 * install-sh: Likewise.
13969
26bec39d
FZ
139702009-11-24 Felix Zielcke <fzielcke@z-51.de>
13971
13972 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
13973
8e2532fd
FZ
139742009-11-24 Felix Zielcke <fzielcke@z-51.de>
13975
13976 * util/Makefile.in (install-local): Convert a make `$(foreach)'
13977 function to a normal shell `for'.
13978
fefa1b7d
FZ
139792009-11-24 Felix Zielcke <fzielcke@z-51.de>
13980
13981 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13982
4501250b
FZ
139832009-11-24 Felix Zielcke <fzielcke@z-51.de>
13984
13985 * util/grub-mkrelpath.c: New file.
13986 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
13987 (grub_mkrelpath_SOURCES): New variable.
13988 * include/grub/util/misc.h: New function prototype.
13989 * util/misc.c (make_system_path_relative_to_its_root): New function.
13990
13991 * util/grub-mkconfig_lib.in (bindir): New variable.
13992 (grub_mkrelpath): Likewise.
13993 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
13994
13995 * util/probe.c (probe): Make the file path relative to its root.
13996 Change a info message to use the GRUB path. Enable again the
13997 check if we can read the file with GRUB facilities.
13998
13999 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
14000 to its root.
14001
11d9778b
FZ
140022009-11-24 Felix Zielcke <fzielcke@z-51.de>
14003
14004 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
14005 platform.
14006
4465287d
FZ
140072009-11-24 Felix Zielcke <fzielcke@z-51.de>
14008
14009 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
14010 strncmp().
14011
62b47f22
FZ
140122009-11-24 Felix Zielcke <fzielcke@z-51.de>
14013
14014 * util/getroot.c (grub_util_is_dmraid): New function.
14015 (grub_util_get_dev_abstraction): Treat dmraid and multipath
14016 devices as normal ones, not as LVM.
14017
1eafb9b9 140182009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
14019
14020 * conf/common.rmk: Add grub-gettext_lib target and updates
14021 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
14022 LDFLAGS.
14023 * gettext/gettext.c: New file. (Reads mo files).
14024 * include/grub/file.h (grub_file_pread): New prototype.
14025 * include/grub/i18n.h (_): New prototype.
14026 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
14027 prototypes.
14028 * kern/misc.c (grub_gettext_dummy): New function.
14029 * normal/menu_text.c: Include <grub/i18n.h>.
14030 * normal/menu_text.c (print_timeout): Gettexttize string.
14031 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
14032 * po/POTFILES: Add `normal/menu_text.c'.
14033 * po/ca.po: Add new translations.
c3ea6bd4
CPE
14034 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
14035 gettext module and defines locale_dir and lang in grub.cfg.
14036 * NEWS: Add gettext support.
14037
0fdb2568
RM
140382009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14039
14040 * util/hostdisk.c: Include `<grub/i18n.h>'.
14041 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
14042 (make_device_name): Rewrite using asprintf.
14043 (convert_system_partition_to_system_disk): Replace 0 with NULL.
14044 (find_system_device): If a device is not found, generate one just
14045 by reusing the OS path name.
14046 (read_device_map): Make it permissible for device.map not to exist.
14047
f515aa62
RM
140482009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14049
14050 * script/sh/execute.c: Move from here ...
14051 * script/execute.c: ... to here. Update all users.
14052 * script/sh/function.c: Move from here ...
14053 * script/function.c: ... to here. Update all users.
14054 * script/sh/lexer.c: Move from here ...
14055 * script/lexer.c: ... to here. Update all users.
14056 * script/sh/main.c: Move from here ...
14057 * script/main.c: ... to here. Update all users.
14058 * script/sh/parser.y: Move from here ...
14059 * script/parser.y: ... to here. Update all users.
14060 * script/sh/script.c: Move from here ...
14061 * script/script.c: ... to here. Update all users.
14062
f84b481b
RM
140632009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14064
14065 * configure.ac: Detect all `emu' platforms. Define
14066 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
14067 --enable-grub-emu logic. Disable include/grub/machine
14068 symlink on `emu' platforms.
14069
14070 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
14071 * gensymlist.sh.in: Likewise.
14072
14073 * include/grub/i386/coreboot/machine.h: Remove file.
14074 * include/grub/i386/efi/machine.h: Likewise.
14075 * include/grub/i386/ieee1275/machine.h: Likewise.
14076 * include/grub/i386/pc/machine.h: Likewise.
14077 * include/grub/i386/qemu/machine.h: Likewise.
14078 * include/grub/powerpc/ieee1275/machine.h: Likewise.
14079 * include/grub/sparc64/ieee1275/machine.h: Likewise.
14080 * include/grub/x86_64/efi/machine.h: Likewise.
14081
14082 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
14083 * commands/halt.c: Likewise.
14084 * commands/reboot.c: Likewise.
14085 * include/grub/autoefi.h: Likewise.
14086 * include/grub/i386/at_keyboard.h: Likewise.
14087 * include/grub/i386/kernel.h: Likewise.
14088 * include/grub/i386/loader.h: Likewise.
14089 * include/grub/i386/pc/memory.h: Likewise.
14090 * kern/dl.c: Likewise.
14091 * kern/i386/coreboot/init.c: Likewise.
14092 * loader/i386/bsd.c: Likewise.
14093 * loader/i386/linux.c: Likewise.
14094 * loader/multiboot_loader.c: Likewise.
14095 * term/i386/pc/serial.c: Likewise.
14096 * term/usb_keyboard.c: Likewise.
14097
14098 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
14099 `<grub/machine/machine.h>'
14100 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
14101 * util/misc.c: Remove `<grub/machine/machine.h>' and
14102 `<grub/machine/time.h>'.
14103
14104 * Makefile.in (enable_grub_emu): Remove variable.
14105 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
14106
14107 * conf/any-emu.rmk: New file.
14108 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
14109 (grub_emu_init.c): Move from here ...
14110 * conf/any-emu.rmk: ... to here.
14111
14112 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
14113 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
14114 * conf/any-emu.rmk: ... to here.
14115
4efeab03
RM
141162009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14117
14118 * include/grub/parser.h (grub_parser_register): Document need
14119 of `name' parameter.
14120 * normal/main.c (grub_normal_read_line): Simplify prompt string.
14121 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
14122 "sh" to "grub".
14123
ea1dd8bf
RM
141242009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14125
14126 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
14127 `$(XGETTEXT)'.
14128 * include/grub/i18n.h (N_): New macro.
14129 * util/mkisofs/mkisofs.h: Likewise.
14130 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
14131 around N_().
14132 (usage): Use gettext() to translate help strings when printing them.
14133
0c140626
RM
141342009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14135
14136 Based on patch from Bean
14137 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
14138
14139 * video/efi_fb.c: New file.
14140 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
14141 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
14142 variables.
14143 * conf/x86_64-efi.rmk: Likewise.
14144
87d58298
RM
141452009-11-22 Robert Millan <rmh.grub@aybabtu.com>
14146
14147 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
14148 * util/i386/pc/grub-setup.c: Likewise.
14149
994cc3a3
ST
141502009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14151
14152 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
14153 <hurd/fs.h>
14154 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
14155 file_get_storage_info to implement grub_guess_root_device.
14156
26a61d6a
FZ
141572009-11-21 Felix Zielcke <fzielcke@z-51.de>
14158
14159 * Makefile.in (target): Use make's builtin $(shell) function
14160 instead of calling directly $(SHELL) to create the locale directories,
14161 inside the $(foreach) function.
14162
74ff1dd5
FZ
141632009-11-21 Felix Zielcke <fzielcke@z-51.de>
14164
14165 * util/grub-mkrescue.in: Print an error and usage if output option
14166 has not been given.
14167
0b787d0e
FZ
141682009-11-21 Felix Zielcke <fzielcke@z-51.de>
14169
14170 Patch from Loïc Minier <loic.minier@ubuntu.com>.
14171 * util/grub.d/30_os-prober.in: Cope with Linux entries where
14172 root and /boot are on different devices.
14173
1164b270
RM
141742009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14175
14176 Fix build for srcdir != objdir.
14177
14178 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
14179 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
14180 $(srcdir).
14181 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
14182 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
14183 reference for input.
14184
13774a2f
RM
141852009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14186
14187 * util/grub-mkrescue.in: Use source directory direcly (without copiing
14188 or hardlinking it). Remove -J option, Joliet is not compatible with
14189 multiple source directories.
14190
efda854e
RM
141912009-11-21 Carles Pina i Estany <carles@pina.cat>
141922009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14193
14194 * util/grub-mkrescue.in: Recognize `--override-directory' option.
14195 (process_input_dir): New function. Process an arbitrary input
14196 directory.
14197 Misc adjustments to support both "override mode" and system-wide mode.
14198
6c09890c
FZ
141992009-11-20 Felix Zielcke <fzielcke@z-51.de>
14200
14201 * configure.ac (UNIFONT_BDF): Rename to ...
14202 (FONT_SOURCE): ... this. Update all users.
14203
a797824f
FZ
142042009-11-20 Felix Zielcke <fzielcke@z-51.de>
14205
14206 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
14207 to the list of unifont files to look for.
14208
cd4f42b0
RM
142092009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14210
14211 Patch from Joe Auricchio <jauricchio@gmail.com>
14212 * commands/minicmd.c (grub_mini_cmd_clear): New function.
14213 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
14214 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
14215
393c783d
FZ
142162009-11-19 Felix Zielcke <fzielcke@z-51.de>
14217
14218 * Makefile.in (install-local): Add a missing backslash.
14219
b2f1e327
FZ
142202009-11-19 Felix Zielcke <fzielcke@z-51.de>
14221
14222 * include/grub/x86_64/io.h: New file.
14223
f577f7a0
RM
142242009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14225
14226 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
14227 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
14228 Include `"progname.h"'.
14229 (main): Initialize gettext.
14230 * util/i386/pc/grub-setup.c: Gettexttize.
14231 * util/i386/pc/grub-mkimage.c: Likewise.
14232
14233 * Makefile.in (po/*.po): Redefine as ...
14234 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
14235
3bc7896c
RM
14236 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
14237
c37943b6
RM
142382009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14239
14240 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
14241 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
14242 (program_name): Remove.
14243 (main): Initialize gettext support.
6323f705
RM
14244 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
14245 Include `<libintl.h>'.
14246 (_): New macro.
c37943b6
RM
14247
14248 * util/mkisofs/eltorito.c: Gettexttize.
14249 * util/mkisofs/joliet.c: Likewise.
14250 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
14251 * util/mkisofs/multi.c: Likewise.
14252 * util/mkisofs/rock.c: Likewise.
14253 * util/mkisofs/tree.c: Likewise.
14254 * util/mkisofs/write.c: Likewise.
14255
3bc7896c
RM
14256 * po/POTFILES: Update with new files.
14257
5ce77c6e
RM
142582009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14259
14260 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
14261 * util/mkisofs/iso9660.h: Likewise.
14262 * util/mkisofs/joliet.c: Likewise.
14263 * util/mkisofs/mkisofs.c: Likewise.
14264 * util/mkisofs/mkisofs.h: Likewise.
14265 * util/mkisofs/rock.c: Likewise.
14266 * util/mkisofs/tree.c: Likewise.
14267 * util/mkisofs/write.c: Likewise.
14268
14269 * util/mkisofs/eltorito.c (rcsid): Remove.
14270 * util/mkisofs/hash.c: Likewise.
14271 * util/mkisofs/joliet.c: Likewise.
14272 * util/mkisofs/name.c: Likewise.
14273 * util/mkisofs/rock.c: Likewise.
14274 * util/mkisofs/tree.c: Likewise.
14275 * util/mkisofs/write.c: Likewise.
14276
1dabbc77
RM
142772009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14278
14279 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
14280 instead of static allocation.
14281 * util/mkisofs/match.h: Likewise.
14282
633877cb
RM
142832009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14284
3bc7896c
RM
14285 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
14286 and `util/grub.d/10_linux.in'.
633877cb
RM
14287 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
14288 translatable Shell files.
14289
af1c0c85
RM
142902009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14291
14292 * Makefile.in ($(srcdir)/aclocal.m4): New target.
14293
769ae37b
RM
142942009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14295
14296 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 14297 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
14298 * util/grub.d/10_kfreebsd.in (bindir): New variable.
14299 Add gettext initialization.
14300 (kfreebsd_entry): Make menuentry output translatable.
14301
143022009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14303
14304 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
14305 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
14306 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
14307 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
14308 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 14309 * po/LINGUAS: New file.
769ae37b
RM
14310
143112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14312
14313 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
14314 other things).
14315 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
14316 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
14317 bindtextdomain() calls for gettext initialization.
14318
143192009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14320
14321 * gnulib/progname.c: New file (imported from Gnulib).
14322 * gnulib/progname.h: Likewise.
14323 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14324 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
14325 (usage): Replace `progname' with `program_name'.
14326 (main): Use set_program_name() for program name initialization.
14327
143282009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14329
14330 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
14331 from here ...
14332 * Makefile.in (CPPFLAGS): ... to here.
14333
143342009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14335
14336 * aclocal.m4: Move from here ...
14337 * acinclude.m4: ... to here.
14338 * autogen.sh: Add call to `aclocal'.
14339 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
14340
143412009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14342
14343 * Makefile.in (CLEANFILES): Add `po/*.mo'.
14344 (LINGUAS): New variable.
14345 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
14346 (install-local): Install MO files.
14347 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
14348 * include/grub/i18n.h: New file.
3bc7896c
RM
14349 * po/POTFILES: New file.
14350 * po/ca.po: New file.
769ae37b
RM
14351 * util/grub.d/10_linux.in (bindir): New variable.
14352 Add gettext initialization.
14353 (linux_entry): Make menuentry output translatable.
14354 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
14355 (usage): Make --help output translatable.
14356 (main): Initialize gettext.
14357
02c0a6ad
RM
143582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14359
14360 * import_gcry.py: New file (written by Vladimir with minor
14361 adjustments).
14362 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
14363 ciphers.
14364 * INSTALL: Document that Python is required for bootstrap.
14365
143662009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14367
14368 Import ciphers from libgcrypt 1.4.4.
14369
14370 * lib/libgcrypt/cipher/ChangeLog
14371 * lib/libgcrypt/cipher/ac.c
14372 * lib/libgcrypt/cipher/arcfour.c
14373 * lib/libgcrypt/cipher/bithelp.h
14374 * lib/libgcrypt/cipher/blowfish.c
14375 * lib/libgcrypt/cipher/camellia-glue.c
14376 * lib/libgcrypt/cipher/camellia.c
14377 * lib/libgcrypt/cipher/camellia.h
14378 * lib/libgcrypt/cipher/cast5.c
14379 * lib/libgcrypt/cipher/cipher.c
14380 * lib/libgcrypt/cipher/crc.c
14381 * lib/libgcrypt/cipher/des.c
14382 * lib/libgcrypt/cipher/dsa.c
14383 * lib/libgcrypt/cipher/ecc.c
14384 * lib/libgcrypt/cipher/elgamal.c
14385 * lib/libgcrypt/cipher/hash-common.c
14386 * lib/libgcrypt/cipher/hash-common.h
14387 * lib/libgcrypt/cipher/hmac-tests.c
14388 * lib/libgcrypt/cipher/md.c
14389 * lib/libgcrypt/cipher/md4.c
14390 * lib/libgcrypt/cipher/md5.c
14391 * lib/libgcrypt/cipher/primegen.c
14392 * lib/libgcrypt/cipher/pubkey.c
14393 * lib/libgcrypt/cipher/rfc2268.c
14394 * lib/libgcrypt/cipher/rijndael-tables.h
14395 * lib/libgcrypt/cipher/rijndael.c
14396 * lib/libgcrypt/cipher/rmd.h
14397 * lib/libgcrypt/cipher/rmd160.c
14398 * lib/libgcrypt/cipher/rsa.c
14399 * lib/libgcrypt/cipher/seed.c
14400 * lib/libgcrypt/cipher/serpent.c
14401 * lib/libgcrypt/cipher/sha1.c
14402 * lib/libgcrypt/cipher/sha256.c
14403 * lib/libgcrypt/cipher/sha512.c
14404 * lib/libgcrypt/cipher/tiger.c
14405 * lib/libgcrypt/cipher/twofish.c
14406 * lib/libgcrypt/cipher/whirlpool.c
14407
af2f93ac
RM
144082009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14409
14410 Fix build for systems without error().
14411
14412 * gnulib/error.c: New file (imported from Gnulib).
14413 * gnulib/error.h: Likewise.
14414 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
14415 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
14416 (this variable is now used by error()).
14417
73fb3dd5
FZ
144182009-11-16 Felix Zielcke <fzielcke@z-51.de>
14419
814f5e96
FZ
14420 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
14421 instead of relying that char is signed.
73fb3dd5 14422
a691ca33
VS
144232009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14424
14425 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
14426 blocksize different from specified.
14427 (grub_pxefs_read): Likewise.
14428
2af8f0f4
FZ
144292009-11-16 Felix Zielcke <fzielcke@z-51.de>
14430
14431 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
14432
14433 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
14434 (grub_ata_readwrite): Likewise. Update 2 format strings.
14435 (grub_atapi_read): Likewise.
14436
14437 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
14438 * conf/i386.rmk (pkglib_MODULES): ... to here ...
14439 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
14440 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
14441 (ata_mod_LDFLAGS): Move from here ...
14442 * conf/i386.rmk: ... to here ...
14443 * conf/x86_64-efi.rmk: ... and here.
14444 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
14445 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
14446
83bdecaf
RM
144472009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14448
14449 Relicense multiboot.h, with RMS' blessing.
14450
14451 * include/multiboot.h: Change to X11 license.
14452
fd6fd3d7
RM
144532009-11-15 Robert Millan <rmh.grub@aybabtu.com>
14454
14455 Support --version in grub-mkisofs.
14456
14457 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
14458 (OPTION_VERSION): New macro.
14459 (ld_options): Recognize --version.
14460 (usage): Move `program_name' from here ...
14461 (program_name): ... to here. Add `static' qualifier.
14462 (main): Recognize `OPTION_VERSION'.
14463
16a88c49
FZ
144642009-11-15 Felix Zielcke <fzielcke@z-51.de>
14465
14466 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
14467 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
14468
a4158476
RM
144692009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14470
14471 Fix help2man generation for mkisofs.
14472
14473 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
14474 (usage): Send output to stdout (rather than stderr).
14475
fc2208b0
RM
144762009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14477
14478 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
14479 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14480 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
14481 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14482 (bin_SCRIPTS): Add `grub-mkfloppy'.
14483 (grub_mkfloppy_SOURCES): New variable.
14484
14485 * util/grub-mkrescue.in: New file.
14486 * util/i386/pc/grub-mkfloppy.in: New file.
14487
14488 * util/i386/coreboot/grub-mkrescue.in: Remove.
14489 * util/i386/pc/grub-mkrescue.in: Remove.
14490
8d0edf4a
RM
144912009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14492
14493 * include/grub/multiboot.h (struct grub_multiboot_header): Move
14494 from here ...
14495 * include/multiboot.h (struct multiboot_header): ... to here. Update
14496 all users.
14497 * include/grub/multiboot.h (struct grub_multiboot_info): Move
14498 from here ...
14499 * include/multiboot.h (struct multiboot_info): ... to here. Update
14500 all users.
14501 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
14502 from here ...
14503 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
14504 Update all users.
14505 * include/grub/multiboot.h (struct grub_mod_list): Move
14506 from here ...
14507 * include/multiboot.h (struct multiboot_mod_list): ... to here.
14508 Update all users.
14509
a73f5969
RM
145102009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14511
14512 * include/multiboot2.h (multiboot_word): Rename from this ...
14513 (multiboot2_word): ... to this. Update all users.
14514 (multiboot_header): Rename from this ...
14515 (multiboot2_header): ... to this. Update all users.
14516 (multiboot_tag_header): Rename from this ...
14517 (multiboot2_tag_header): ... to this. Update all users.
14518 (multiboot_tag_start): Rename from this ...
14519 (multiboot2_tag_start): ... to this. Update all users.
14520 (multiboot_tag_name): Rename from this ...
14521 (multiboot2_tag_name): ... to this. Update all users.
14522 (multiboot_tag_module): Rename from this ...
14523 (multiboot2_tag_module): ... to this. Update all users.
14524 (multiboot_tag_memory): Rename from this ...
14525 (multiboot2_tag_memory): ... to this. Update all users.
14526 (multiboot_tag_unused): Rename from this ...
14527 (multiboot2_tag_unused): ... to this. Update all users.
14528 (multiboot_tag_end): Rename from this ...
14529 (multiboot2_tag_end): ... to this. Update all users.
14530
1c8927f0
RM
145312009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14532
14533 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
14534 this platform we should support Multiboot1 first.
14535
14536 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14537 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
14538 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
14539
6e1e0d89
RM
145402009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14541
14542 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
14543 of write calls (converting them to fwrite() if they aren't already).
14544 (get_torito_desc): Likewise.
14545 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
14546
7f2b34d8
RM
145472009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14548
14549 * util/i386/pc/grub-install.in: Move from here ...
14550 * util/grub-install.in: ... to here. Update all users.
14551
c0ef3311
CW
145522009-11-11 Colin Watson <cjwatson@ubuntu.com>
14553
14554 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
14555
e1f240ff
RM
145562009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14557
14558 Support for El Torito without floppy emulation.
14559
14560 * util/mkisofs/eltorito.c: Include `<errno.h>'.
14561 (init_boot_catalog): Improve error handling.
14562 (get_torito_desc): Don't use floppy emulation unless requested by
14563 user. Patch boot information table when requested via
14564 `-boot-info-table'.
14565 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
14566 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
14567 (use_boot_info_table): New variables.
14568 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
14569 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
14570 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
14571 `--eltorito-emul-floppy'.
14572 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
14573 and `OPTION_ELTORITO_EMUL_FLOPPY'.
14574 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
14575 (use_boot_info_table, get_731): New prototypes.
14576 * util/mkisofs/write.c (get_731): New function.
14577
af7d4de5
FZ
145782009-11-11 Felix Zielcke <fzielcke@z-51.de>
14579
14580 Fix the generation of the man page.
14581
14582 * util/pc/i386/grub-install.in: Source
14583 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14584
2c55dbc0
RM
145852009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14586
14587 Large file support for grub-mkisofs.
14588
14589 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
14590 * util/mkisofs/mkisofs.c (next_extent, last_extent)
14591 (session_start): Upgrade type to `uint64_t'. Update all users.
14592 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
14593 (struct directory_entry): Upgrade type of `starting_block' and
14594 `size' to `uint64_t'. Update all users.
14595 (struct deferred): Remove unused structure.
14596 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
14597 Update all users.
14598 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
14599 file is larger than `UINT32_MAX'.
14600 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
14601 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
14602 return value.
14603 (struct deferred_write): Upgrade type of `extent' and `size' to
14604 `uint64_t'. Update all users.
14605 (last_extent_written): Upgrade type to `uint64_t'. Update all
14606 users.
14607 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
14608 Update all users. Upgrade type of `remain' to `int64_t' and
14609 `use' to `size_t'. Use error() to handle fread() errors.
14610 (write_files): Rely on write_one_file() rather than calling
14611 xfwrite() directly.
14612
6a9cead5
FZ
146132009-11-09 Felix Zielcke <fzielcke@z-51.de>
14614
14615 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
14616
4825d790
RM
146172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14618
14619 * util/mkisofs/fnmatch.c: Remove.
14620 * util/mkisofs/getopt1.c: Likewise.
14621 * util/mkisofs/getopt.c: Likewise.
14622 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
14623 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
14624 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
14625 `gnulib/getopt1.c' and `gnulib/getopt.c'.
14626 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
14627
14628 * configure.ac: Detect `mingw32msvc' host_os.
14629 Check for lstat(), getuid() and getgid().
14630
14631 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
14632 instances of `u_char' with `uint8_t'.
14633
14634 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
14635 [!HAVE_GETUID] (getuid): New function (stub).
14636 [!HAVE_GETGID] (getgid): Likewise.
14637 [!HAVE_LSTAT] (lstat): Likewise.
14638 [!S_IROTH] (S_IROTH): New macro (dummy).
14639 [!S_IRGRP] (S_IRGRP): Likewise.
14640
84b860d8
RM
146412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14642
14643 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
14644 conditional expression).
14645
66e9b712
RM
146462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14647
14648 Import from Gnulib.
14649
14650 * gnulib/fnmatch.c: New file.
14651 * gnulib/fnmatch.h: Likewise.
14652 * gnulib/fnmatch_loop.c: Likewise.
14653 * gnulib/getopt.c: Likewise.
14654 * gnulib/getopt.h: Likewise.
14655 * gnulib/getopt1.c: Likewise.
14656 * gnulib/getopt_int.h: Likewise.
14657 * gnulib/gettext.h: Likewise.
14658
34f4a5b0
RM
146592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14660
14661 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
14662 * normal/handler.c (read_handler_list): Likewise.
14663
ac451143
RM
146642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14665
14666 Misc cleanup.
14667
14668 * kern/command.c (grub_register_command_prio): Use
14669 grub_zalloc() instead of explicitly zeroing data.
14670 * kern/list.c: Include `<grub/mm.h>'.
14671 (grub_named_list_find): Replace `0' with `NULL'.
14672 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
14673 (fs_module_list): Change type to `grub_named_list_t'. Update all
14674 users.
14675 * normal/dyncmd.c (read_command_list): Add space between function
14676 call and parenthesis.
14677 * normal/handler.c (read_handler_list): Likewise.
14678
4089b167
RM
146792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14680
14681 * normal/auth.c (punishment_delay): Moved from here ...
14682 (grub_auth_strcmp): ... to here (inside function).
14683
325f5037
RM
146842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14685
14686 * include/grub/list.h (struct grub_named_list): Remove `const'
14687 qualifier from `name'.
14688 (struct grub_prio_list): Likewise.
14689
7aea29a3
RM
146902009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14691
14692 * normal/auth.c: Include `<grub/time.h>'.
14693 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
14694
3fd6f044
RM
146952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14696
14697 * normal/auth.c (punishment_delay): New variable.
14698 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
14699 (grub_auth_check_authentication): Punish failed login attempts with
14700 an incremental (2^N) delay.
14701
a4cd68e4
RM
147022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14703
14704 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
14705 path with $(srcdir).
14706
7ad12f43
VS
147072009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14708
14709 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
14710
c1129f03
RM
147112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14712
14713 * util/i386/coreboot/grub-mkrescue.in: New file.
14714 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
14715 variables.
14716
14717 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
14718 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
14719 * configure.ac: Add header and function checks to satisfy grub-mkisofs
14720 requirements.
14721 * util/mkisofs/defaults.h: New file.
14722 * util/mkisofs/eltorito.c: Likewise.
14723 * util/mkisofs/exclude.h: Likewise.
14724 * util/mkisofs/fnmatch.c: Likewise.
14725 * util/mkisofs/getopt.c: Likewise.
14726 * util/mkisofs/getopt1.c: Likewise.
14727 * util/mkisofs/hash.c: Likewise.
14728 * util/mkisofs/include/fctldefs.h: Likewise.
14729 * util/mkisofs/include/mconfig.h: Likewise.
14730 * util/mkisofs/include/prototyp.h: Likewise.
14731 * util/mkisofs/include/statdefs.h: Likewise.
14732 * util/mkisofs/iso9660.h: Likewise.
14733 * util/mkisofs/joliet.c: Likewise.
14734 * util/mkisofs/match.c: Likewise.
14735 * util/mkisofs/match.h: Likewise.
14736 * util/mkisofs/mkisofs.c: Likewise.
14737 * util/mkisofs/mkisofs.h: Likewise.
14738 * util/mkisofs/multi.c: Likewise.
14739 * util/mkisofs/name.c: Likewise.
14740 * util/mkisofs/rock.c: Likewise.
14741 * util/mkisofs/tree.c: Likewise.
14742 * util/mkisofs/write.c: Likewise.
14743
ec8bb77d
VS
147442009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14745
14746 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
14747 being insecure.
14748
3716b12c
RM
147492009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14750
14751 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
14752 `grub-mkimage' (and use $0 when possible).
14753
b97b7b91
RM
147542009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14755
14756 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
14757 error message for excessively large memory map.
14758
04114812
RM
147592009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14760
14761 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
14762 executable bit.
14763
e4eb2373
RM
147642009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14765
14766 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
14767 message for coreboot users.
14768
c926e1d5 147692009-11-07 Robert Millan <rmh.grub@aybabtu.com>
14770
14771 Fix build with GNU gold.
14772
14773 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
14774 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
14775 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
14776 link addresses.
14777 * aclocal.m4: Likewise.
14778
86e5b1db 147792009-11-04 Felix Zielcke <fzielcke@z-51.de>
14780
14781 * configure.ac (AC_PREREQ): Bump to 2.59d.
14782 * INSTALL: Make it more clear when Autoconf and Ruby are
14783 needed and when to run `./autogen.sh'.
14784
246cd78f 147852009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
14786
14787 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
14788 OSes.
14789
4f9dfb37 147902009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14791
14792 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
14793
b82bd5e1 147942009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14795
14796 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
14797 giving it to GNU Mach.
14798
ff1a9bca 147992009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14800
14801 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
14802 GNU partition number to get internal GRUB partition number.
14803
61697d9c 148042009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14805
14806 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
14807 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
14808
a50569e1 148092009-11-01 Robert Millan <rmh.grub@aybabtu.com>
14810
14811 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
14812 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
14813 case.
14814
5b153867 148152009-11-01 Felix Zielcke <fzielcke@z-51.de>
14816
14817 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
14818
d9e2cd70 148192009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14820
14821 Fix build problem.
14822
14823 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
14824 `-isystem=$(srcdir)/include'.
14825
805111a4 148262009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14827
14828 * util/i386/pc/grub-install.in: Remove hint that device.map should be
14829 checked (grub-install doesn't currently rely on it).
14830
fa6e945f 148312009-10-29 Robert Millan <rmh.grub@aybabtu.com>
14832
14833 Revert SVN r2660.
14834
14835 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
14836 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14837 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
14838 * conf/i386-ieee1275.rmk: Likewise.
14839 * conf/i386-pc.rmk: Likewise.
14840 * conf/powerpc-ieee1275.rmk: Likewise.
14841 * conf/sparc64-ieee1275.rmk: Likewise.
14842 * conf/x86_64-efi.rmk: Likewise.
14843
cee15086 148442009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14845
14846 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
14847
95b9239e 148482009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14849
14850 * include/grub/misc.h: Stop checking for APPLE_CC.
14851
2ed19dfd 148522009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14853
14854 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
14855 doesn't cause an infinite call loop.
14856
fdcdde19 148572009-10-28 Felix Zielcke <fzielcke@z-51.de>
14858
14859 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
14860 strings.
14861
cefabfe1 148622009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14863
14864 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
14865 variable.
14866 * Makefile.in: Likewise.
14867
ed96ab6d 148682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14869
14870 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
14871
0579b753 148722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14873
14874 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
14875
478df409 148762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14877
14878 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
14879
083d1679 148802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14881
14882 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
14883 from here ...
14884 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
14885
5947ae32 148862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14887
14888 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
14889 in $(MAKEINFO) invocation. This makes it clear in output that
14890 errors are being ignored.
14891
94180ff6 148922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14893
14894 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
14895 from here ...
14896 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14897 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
14898 * conf/i386-ieee1275.rmk: Likewise.
14899 * conf/i386-pc.rmk: Likewise.
14900 * conf/powerpc-ieee1275.rmk: Likewise.
14901 * conf/sparc64-ieee1275.rmk: Likewise.
14902 * conf/x86_64-efi.rmk: Likewise.
14903
9031b03a 149042009-10-26 Colin Watson <cjwatson@ubuntu.com>
14905
14906 * util/grub-editenv.c (main): If only a command is given, use
14907 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
14908 (usage): FILENAME is now optional and has a default.
14909
e4f6809b 149102009-10-26 Colin Watson <cjwatson@ubuntu.com>
14911
14912 Improve grub-mkconfig performance when there are several menu
14913 entries on a single filesystem.
14914
14915 * util/grub.d/10_linux.in (linux_entry): Cache the output of
14916 prepare_grub_to_access_device.
14917 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14918 * util/grub.d/30_os-prober.in: Likewise.
14919
67937d4d 149202009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14921
14922 * util/grub.d/10_freebsd.in: Remove.
14923 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
14924 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
14925
ee3756cc 149262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14927
5c35048e 14928 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 14929
4dea1c6f 149302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14931
14932 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
14933 grub_util_error() call.
14934
042484d7 149352009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14936
14937 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
14938 `reserved_first_sector' member.
14939 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
14940 `reserved_first_sector' to 1.
14941 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
14942 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
14943 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
14944 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
14945 filesystems which begin at first sector.
14946 (options): New option --skip-fs-probe.
14947 (main): Handle --skip-fs-probe and pass it to setup().
14948
d64448a7 149492009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14950
14951 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
14952 (memset): Fix function prototype.
14953
508d42ec 149542009-10-25 Robert Millan <rmh.grub@aybabtu.com>
149552009-10-25 Vasily Averin <vvs@parallels.com>
14956
14957 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
14958 `dirent.direntlen == 0'.
14959
b240e30c 149602009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14961
14962 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
14963 `cpio'.
14964 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
14965
346e7fbe 149662009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14967
14968 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
14969 `__trampoline_setup' and `__ucmpdi2'.
14970 * include/grub/powerpc/libgcc.h: Only export symbols for functions
14971 that libgcc provides.
14972
cdb308b0 149732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14974
14975 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
14976 * include/grub/sparc64/libgcc.h (memset): Likewise.
14977 * include/grub/misc.h (memset, memcmp): New function prototypes.
14978
fb26abc2 149792009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14980
14981 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
14982 `cpio'.
14983 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
14984
f6693890 149852009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14986
14987 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
14988 * docs/grub.cfg: Compensate for recent change in multiboot
14989 loader (since 2009-08-14 it won't pass filename to payload).
14990 * util/grub.d/10_hurd.in: Likewise.
14991
0933cdc0 149922009-10-21 Felix Zielcke <fzielcke@z-51.de>
14993
14994 * config.guess: Update to latest version from config git
14995 repository.
14996 * config.sub: Likewise.
14997
3b2fe8c2 149982009-10-20 Robert Millan <rmh.grub@aybabtu.com>
14999
15000 Fix build on sparc64.
15001
15002 * configure.ac: Perform checks for libgcc symbols before
15003 adding `-nostdlib' to LDFLAGS.
15004
46695a62 150052009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15006
15007 Let user specify OpenBSD root device.
15008
15009 * loader/i386/bsd.c (openbsd_root): New variable.
15010 (openbsd_opts): New option 'root'.
15011 (OPENBSD_ROOT_ARG): New macro.
15012 (grub_openbsd_boot): Use 'openbsd_root'.
15013 (grub_cmd_openbsd): Fill 'openbsd_root'.
15014
d2b6b7fc 150152009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15016
15017 * NEWS: Misc adjustments.
15018
421bd7ac 150192009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15020
15021 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
15022
f1d29d87 150232009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15024
15025 * configure.ac: Bump version to 1.97.
15026
6f3cd880 150272009-10-16 Colin Watson <cjwatson@ubuntu.com>
15028
15029 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
15030 -mno-3dnow on x86 architectures. Some toolchains enable these
15031 features by default, but they rely on registers that aren't enabled
15032 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
15033
035f7122 150342009-10-15 Robert Millan <rmh.grub@aybabtu.com>
15035
15036 Make entry text a bit more readable.
15037
15038 * util/grub.d/10_linux.in: Add `with' before `Linux'.
15039
44998e58 150402009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15041
15042 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
15043
cd2851b3 150442009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15045
15046 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
15047 operations.
15048
c6f3b249 150492009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 * configure.ac: Add missing dollar.
15052
6b5886ba 150532009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
15056
15057 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
15058 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
15059 exports.
15060 * include/grub/sparc64/libgcc.h: Likewise. Use
15061 preprocessor conditionals.
15062
e9d66f6d 150632009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15064
15065 * conf/common.rmk (grub-dumpbios): Remove rule.
15066 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
15067 * util/grub-dumpbios.in: Remove file.
15068
9155bc17 150692009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15070
15071 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
15072 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
15073
15074 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
15075 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
15076 users.
15077
15078 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
15079 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
15080 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
15081 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
15082 users.
15083
bf7f7a18 150842009-10-12 Robert Millan <rmh.grub@aybabtu.com>
15085
15086 * term/tparm.c: Switch to GPLv3.
15087
86564c26 150882009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15089
15090 * include/grub/i386/cpuid.h: Add header protection.
15091
5c936493 150922009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15093
15094 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
15095
15096 * include/grub/i386/cpuid.h: New file.
15097 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
15098 (has_longmode): Rename to ...
15099 (grub_cpuid_has_longmode): ... this. Update all users. Remove
15100 `static' attribute.
15101 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
15102 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
15103 on a CPU that doesn't implement AMD64 instruction set.
15104
186e7cf2 151052009-10-06 Colin Watson <cjwatson@ubuntu.com>
15106
15107 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
15108 that version.texi is rebuilt on version number changes.
15109
83b65c4a 151102009-10-06 Colin Watson <cjwatson@ubuntu.com>
15111
15112 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
15113 Fixes bug #27602.
15114
d244281c 151152009-10-06 Colin Watson <cjwatson@ubuntu.com>
15116
15117 * util/i386/pc/grub-install.in: Source
15118 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
15119 that the --grub-probe option will work.
15120 * util/sparc64/ieee1275/grub-install.in: Likewise.
15121
da25306d 151222009-10-05 Robert Millan <rmh.grub@aybabtu.com>
15123
15124 * configure.ac: Bump version to 1.97~beta4.
15125
e8ee83c0 151262009-10-03 Robert Millan <rmh.grub@aybabtu.com>
15127
15128 Resync grub-mkdevicemap in x86_64-efi.
15129
15130 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
15131 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
15132 `util/devicemap.c'.
15133
50dcabcf 151342009-10-01 Colin Watson <cjwatson@ubuntu.com>
15135
15136 * util/grub-editenv.c (create_envblk_file): Write new block with a
15137 .new suffix and then rename it into place, to ensure atomic
15138 creation.
15139
0e51c3a7 151402009-09-28 Robert Millan <rmh.grub@aybabtu.com>
15141
15142 Do not automatically install headers.
15143
15144 * Makefile.in (include_DATA): Remove. Update all users.
15145
31299a95 151462009-09-26 Robert Millan <rmh.grub@aybabtu.com>
15147
15148 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
15149 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
15150
15151 * util/osdetect.lua: Remove.
15152 * script/lua/lauxlib.c: Likewise.
15153 * script/lua/ldebug.c: Likewise.
15154 * script/lua/grub_main.c: Likewise.
15155 * script/lua/lauxlib.h: Likewise.
15156 * script/lua/ldebug.h: Likewise.
15157 * script/lua/ltablib.c: Likewise.
15158 * script/lua/liolib.c: Likewise.
15159 * script/lua/lstrlib.c: Likewise.
15160 * script/lua/lualib.h: Likewise.
15161 * script/lua/ldo.c: Likewise.
15162 * script/lua/ldump.c: Likewise.
15163 * script/lua/ldo.h: Likewise.
15164 * script/lua/loslib.c: Likewise.
15165 * script/lua/lundump.c: Likewise.
15166 * script/lua/grub_lib.c: Likewise.
15167 * script/lua/ldblib.c: Likewise.
15168 * script/lua/lundump.h: Likewise.
15169 * script/lua/lmem.c: Likewise.
15170 * script/lua/grub_lib.h: Likewise.
15171 * script/lua/lmathlib.c: Likewise.
15172 * script/lua/lstate.c: Likewise.
15173 * script/lua/ltm.c: Likewise.
15174 * script/lua/lvm.c: Likewise.
15175 * script/lua/lmem.h: Likewise.
15176 * script/lua/lstate.h: Likewise.
15177 * script/lua/ltm.h: Likewise.
15178 * script/lua/ltable.c: Likewise.
15179 * script/lua/lvm.h: Likewise.
15180 * script/lua/llex.c: Likewise.
15181 * script/lua/lgc.c: Likewise.
15182 * script/lua/grub_lua.h: Likewise.
15183 * script/lua/loadlib.c: Likewise.
15184 * script/lua/lfunc.c: Likewise.
15185 * script/lua/lopcodes.c: Likewise.
15186 * script/lua/lparser.c: Likewise.
15187 * script/lua/ltable.h: Likewise.
15188 * script/lua/llex.h: Likewise.
15189 * script/lua/lgc.h: Likewise.
15190 * script/lua/lfunc.h: Likewise.
15191 * script/lua/lbaselib.c: Likewise.
15192 * script/lua/lopcodes.h: Likewise.
15193 * script/lua/lparser.h: Likewise.
15194 * script/lua/lzio.c: Likewise.
15195 * script/lua/linit.c: Likewise.
15196 * script/lua/lobject.c: Likewise.
15197 * script/lua/llimits.h: Likewise.
15198 * script/lua/lstring.c: Likewise.
15199 * script/lua/lzio.h: Likewise.
15200 * script/lua/lapi.c: Likewise.
15201 * script/lua/lcode.c: Likewise.
15202 * script/lua/lua.h: Likewise.
15203 * script/lua/lobject.h: Likewise.
15204 * script/lua/lstring.h: Likewise.
15205 * script/lua/lapi.h: Likewise.
15206 * script/lua/lcode.h: Likewise.
15207 * script/lua/luaconf.h: Likewise.
15208
cb8a2c38 152092009-09-26 Colin Watson <cjwatson@ubuntu.com>
15210
15211 * docs/grub.texi (Command-line and menu entry commands): Document
15212 date and echo commands.
15213
6b9b6276 152142009-09-24 Pavel Roskin <proski@gnu.org>
15215
15216 * include/grub/kernel.h (struct grub_module_header): Remove
15217 `grub_module_header_types'. Make `type' unsigned. Make `size'
15218 32-bit on all platforms.
15219 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
15220 8-bit field. Use grub_host_to_target32() for `size'.
15221 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
15222 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
15223 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
15224
4e5a02a7 152252009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15226
15227 Fix "lost keypress" bug in at_keyboard.
15228
15229 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
15230 Checks for readyness of input buffer (without flushing it).
15231 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
15232 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
15233
c6dcedf6 152342009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15235
15236 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
15237 size check within GRUB_MACHINE_PCBIOS section.
15238
74c958b1 152392009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15240
15241 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
15242 return value.
15243 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
15244 KEYBOARD_ISREADY check.
15245 (grub_at_keyboard_checkkey): Rename to ...
15246 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
15247 Remove gratuitous cast.
15248
ff420223 152492009-09-23 Colin Watson <cjwatson@ubuntu.com>
15250
15251 * configure.ac: Call AC_PROG_MKDIR_P.
15252 * Makefile.in (docs/stamp-vti): Create docs directory. Create
15253 version.texi in $(builddir) rather than $(srcdir).
15254 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
15255 to makeinfo's @include search path.
15256
d96875df 152572009-09-23 Felix Zielcke <fzielcke@z-51.de>
15258
15259 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
15260
9b3f8365 152612009-09-23 Felix Zielcke <fzielcke@z-51.de>
15262
15263 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
15264 for `*.dpkg-new'.
15265
c44c90db 152662009-09-21 Colin Watson <cjwatson@ubuntu.com>
15267
15268 Build info documentation. Some code borrowed from Automake.
15269
15270 * configure.ac: Check for makeinfo.
15271 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
15272 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
15273 docs/version.texi.
15274 (MOSTLYCLEANFILES): Add vti.tmp.
15275 (docs/version.texi, docs/stamp-vti): Update automatically.
15276 (docs/grub.info): Build info documentation. Use --force and ignore
15277 errors for now.
15278 (all-local): Add $(INFOS).
15279 (install-local): Install info files.
15280 (uninstall): Uninstall info files.
15281 * docs/version.texi: Remove from revision control. This file is
15282 automatically generated on build now.
15283 * gendistlist.sh: Add `*.info'.
15284
e0b37bb5 152852009-09-21 Felix Zielcke <fzielcke@z-51.de>
15286
15287 * kern/term.c: Fix indentation.
15288
5a78865b 152892009-09-21 Felix Zielcke <fzielcke@z-51.de>
15290
15291 * util/hostdisk.c: Fix a comment.
15292
dace7e8a 152932009-09-20 Robert Millan <rmh.grub@aybabtu.com>
15294
15295 Fix regression introduced in r2539.
15296
15297 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
15298 to 0xA1.
15299
a83d079b 153002009-09-19 Colin Watson <cjwatson@ubuntu.com>
15301
15302 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 15303 os-prober. Under normal operation, it does not print anything to
15304 stderr; if it does, we need to debug it, and throwing away stderr
15305 makes that excessively difficult.
a83d079b 15306
be94a509 153072009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
15308
15309 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
15310
63f745e8 153112009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15312
15313 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
15314 AC_LANG_PROGRAM from autoconf.
15315 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
15316 prototypes (fixes warning).
15317
15318 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
15319 `--disable-werror' was used.
15320
bbb2a70f 153212009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15322
15323 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
15324 uninitialized `lastaddr'.
15325
77c24f1d 153262009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15327
0f0b8c87 15328 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 15329
07197f23 153302009-09-14 Colin Watson <cjwatson@ubuntu.com>
15331
15332 * commands/test.c (get_fileinfo): Return immediately if
15333 grub_fs_probe fails.
15334
dabf1798 153352009-09-14 José Martínez <xosemp@gmail.com>
15336
15337 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
15338
d52109a7 153392009-09-14 Colin Watson <cjwatson@ubuntu.com>
15340
15341 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
15342 output.
15343
56532179 153442009-09-13 Robert Millan <rmh.grub@aybabtu.com>
15345
15346 * configure.ac: Remove --enable-grub-pe2elf. Only build
15347 grub-pe2elf when needed by the build system itself.
15348 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
15349
8ef070f5 153502009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15351
15352 * configure.ac: Bump version to 1.97~beta3.
15353 * docs/version.texi: Likewise.
15354
61229557 153552009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15356
15357 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
15358 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
15359 from here ...
15360 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
15361 (grub_linux_setup_video): ... to here (with some adjustments).
15362
5c9f8d84 153632009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15364
15365 Fix memory corruption issue (spotted by Colin Watson).
15366
15367 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
15368 causing returned size to be stored in an incorrect memory location.
15369 Fix use of uninitialized value when storing the returned size.
15370
e8f5d6e9 153712009-09-12 Yves Blusseau <blusseau@zetam.org>
15372
15373 Change clean rules to properly remove files
15374
15375 * genmk.rb: add new clean rules
15376 * Makefile.in (clean): add the new targets
15377 (mostlyclean): likewise
15378
cda2a409 153792009-09-11 Colin Watson <cjwatson@ubuntu.com>
15380
15381 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
15382 to grub_uint64_t.
15383 * fs/ntfs.c (init_file): Understand 64-bit sizes for
15384 non-resident files.
15385
86695375 153862009-09-11 Colin Watson <cjwatson@ubuntu.com>
15387
15388 * configure.ac: Don't look for help2man when cross-compiling. Fixes
15389 part of bug #27349.
15390
8aa1541a 153912009-09-10 Felix Zielcke <fzielcke@z-51.de>
15392
15393 * util/grub-mkconfig.in: Make the created config mode 400 and
15394 print a warning if it fails.
15395
48d9bb0a 153962009-09-10 Robert Millan <rmh.grub@aybabtu.com>
15397
15398 * util/grub.d/40_custom.in: Ask user to type custom entries below
15399 comment, rather than below 'exec tail' line.
15400
3b0521be 154012009-09-10 Colin Watson <cjwatson@ubuntu.com>
15402
15403 * util/grub.d/40_custom.in: Make sure that the explanatory text is
15404 visible in grub.cfg.
15405
50051d55 154062009-09-10 Colin Watson <cjwatson@ubuntu.com>
15407
15408 * util/grub.d/40_custom.in: Make it a little clearer how to use this
15409 file.
15410
c0d34387 154112009-09-10 Felix Zielcke <fzielcke@z-51.de>
15412
15413 * docs/grub.cfg: Add an example menu entry for memtest86+.
15414
80a608f3 154152009-09-09 Felix Zielcke <fzielcke@z-51.de>
15416
a2094832 15417 * config.guess: Update to latest version from config git.
80a608f3 15418 * config.sub: Likewise.
15419
99423078 154202009-09-08 Colin Watson <cjwatson@ubuntu.com>
15421
15422 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
15423 unknown-command case. Fixes bug #27320.
15424
44454e4c 154252009-09-08 Felix Zielcke <fzielcke@z-51.de>
15426
15427 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
15428 `help' if the command exists.
15429
e30d87ad 154302009-09-06 Robert Millan <rmh.grub@aybabtu.com>
15431
15432 * INSTALL: Require GCC 4.1.3 or later.
15433
9a86f1ec 154342009-09-06 Yves Blusseau <blusseau@zetam.org>
15435
15436 * Makefile.in (RMKFILES): add i386-qemu.rmk
15437 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
15438 $(srcdir)/stamp-h.in
15439
7f26d466 154402009-09-05 Robert Millan <rmh.grub@aybabtu.com>
15441
15442 * util/grub-probe.c (probe): Comment out buggy codepath, which
15443 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
15444 should be re-enabled after 1.97.
15445
3a613259 154462009-09-05 Felix Zielcke <fzielcke@z-51.de>
15447
15448 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
15449 find searches for.
15450
197f76c7 154512009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15452
15453 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
15454 unnecessary calls to grub_error.
15455
70ba68ce 154562009-09-04 Colin Watson <cjwatson@ubuntu.com>
15457
15458 * NEWS: Mention `keystatus' and Unicode fonts.
15459
4ff0d7a4 154602009-09-04 Robert Millan <rmh.grub@aybabtu.com>
15461
15462 * configure.ac: Bump version to 1.97~beta2.
15463 * docs/version.texi: Likewise.
15464
77c55a87 154652009-09-03 Colin Watson <cjwatson@ubuntu.com>
15466
15467 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
15468 containing unwind information in some cases where it previously did
15469 not. Use -fno-dwarf2-cfi-asm if available to restore the old
15470 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
15471 discussion.
15472
f79572cd 154732009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
15474
15475 Embedding loadenv module into grub-emu
15476
15477 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
15478 commands/loadenv.c
15479 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
15480 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
15481 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
15482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
15483 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
15484 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
15485
93a81088 154862009-09-03 Magnus Granberg <zorry@ume.nu>
15487
15488 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
15489 include -fPIE in the default specs.
15490 * configure.ac: Check if pie_possible is yes and add -fno-PIE
15491 to TARGET_CFLAGS.
15492
160034b2 154932009-09-03 Felix Zielcke <fzielcke@z-51.de>
15494
15495 * INSTALL: Note that GNU Bison 2.3 or later is required.
15496
087c07c4 154972009-09-03 Colin Watson <cjwatson@ubuntu.com>
15498
15499 * kern/i386/pc/startup.S: Fix typo.
15500
cbf978c0 155012009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15502
15503 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
15504 according to GCS.
15505
155062009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 15507
15508 * docs/grub.texi (Naming convention): Describe one-based partition
15509 numbering.
15510 (Device syntax): Likewise.
15511 (File name syntax): Likewise.
15512 (Block list syntax): Likewise.
15513 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
15514 menu.lst.
15515 (File name syntax): Likewise.
15516 (Command-line and menu entry commands): Document acpi, blocklist,
15517 crc, export, insmod, keystatus, ls, set, and unset commands.
15518
f3e8cdfd 155192009-09-02 Colin Watson <cjwatson@ubuntu.com>
15520
15521 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
15522 to avoid implying that only one of --shift, --ctrl, or --alt may be
15523 used.
15524
c0bc232b 155252009-09-02 Colin Watson <cjwatson@ubuntu.com>
15526
15527 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
15528 rather than comparing against S_IFREG, which will almost never work.
15529
aa0f752d 155302009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15531
15532 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
15533 (write_blocklists): Likewise.
15534
ecb3166a 155352009-09-01 Colin Watson <cjwatson@ubuntu.com>
15536
15537 * script/lua/grub_lua.h (fputs): Supply a format string as the first
15538 argument to grub_printf.
15539
c403a125 155402009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 15541
15542 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 15543 non GNU test.
31aba781 15544
b5e7312c 155452009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15546
15547 * kern/file.c (grub_file_read): Spelling fix
15548
fe00f472 155492009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15550
15551 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
15552 loading of headers in some cases.
15553
cc55302e 155542009-08-30 Robert Millan <rmh.grub@aybabtu.com>
15555
15556 * configure.ac: Bump version to 1.97~beta1.
15557 * docs/version.texi: Likewise.
15558
5c90cdd2 155592009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 15560
15561 * include/grub/i386/xnu.h: Add license header.
15562 include grub/err.h explicitly.
15563
c90edae4 155642009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15565
15566 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
15567 to `ufs' in the vfs.root.mountfrom kernel parameter.
15568
d8888b5c 155692009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15570
15571 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
15572
15573 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
15574 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
15575
15576 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
15577 `ARRAY_SIZE' macro.
15578
6f07b921 155792009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15580
15581 * kern/file.c (grub_file_read): Check offset.
15582 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
15583 * fs/jfs.c (grub_jfs_read_file): Likewise.
15584 * fs/ntfs.c (grub_ntfs_read): Likewise.
15585 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
15586 * fs/minix.c (grub_minix_read_file): Correct offset check.
15587 * fs/ufs.c (grub_ufs_read_file): Likewise.
15588
b4f34077 155892009-08-28 Colin Watson <cjwatson@ubuntu.com>
15590
15591 * term/i386/pc/console.c (bios_data_area): Cast
15592 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
15593
e7c69859 155942009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15595
15596 1-bit optimised blitters.
15597
15598 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
15599 prototype.
15600 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15601 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15602 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15603 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15604 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15605 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15606 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
15607 function.
15608 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15609 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15610 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15611 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15612 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15613 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15614 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
15615 when possible.
15616 * video/video.c (grub_video_get_blit_format): Return
15617 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
15618
a57da43f 156192009-08-28 Colin Watson <cjwatson@ubuntu.com>
15620
15621 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
15622 the first argument to grub_printf.
15623
4cbe67e5 156242009-08-28 Colin Watson <cjwatson@ubuntu.com>
156252009-08-28 Robert Millan <rmh.grub@aybabtu.com>
15626
15627 Add `getkeystatus' terminal method. Add a new `keystatus' command
15628 to query it.
15629
15630 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
15631 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
15632 modifier key bitmasks.
15633 (struct grub_term_input): Add `getkeystatus' member.
15634 (grub_getkeystatus): Add prototype.
15635 * kern/term.c (grub_getkeystatus): New function.
15636
15637 * include/grub/i386/pc/memory.h
15638 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
15639 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
15640 Data Area layout.
15641 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
15642 (grub_console_term_input): Set `getkeystatus' member.
15643 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
15644 constants.
15645 (grub_usb_keyboard_getreport): Likewise.
15646 (grub_usb_keyboard_checkkey): Likewise.
15647 (grub_usb_keyboard_getkeystatus): New function.
15648 (grub_usb_keyboard_term): Set `getkeystatus' member.
15649
15650 * commands/keystatus.c: New file.
15651 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
15652 (keystatus_mod_SOURCES): New variable.
15653 (keystatus_mod_CFLAGS): Likewise.
15654 (keystatus_mod_LDFLAGS): Likewise.
15655 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
15656 commands/keystatus.c.
15657 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15658 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15659 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15661 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15662 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 15663
6e2a9085 156642009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15665
15666 Split befs.mod and afs.mod into *_be.mod and *.mod
15667
15668 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
15669 (grub_fstest_SOURCES): Likewise.
15670 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
15671 (afs_be_mod_SOURCES): New variable.
15672 (afs_be_mod_CFLAGS): Likewise.
15673 (afs_be_mod_LDFLAGS): Likewise.
15674 (befs_be_mod_SOURCES): Likewise.
15675 (befs_be_mod_CFLAGS): Likewise.
15676 (befs_be_mod_LDFLAGS): Likewise.
15677 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
15678 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15679 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15680 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15681 (grub_emu_SOURCES): Likewise.
15682 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15683 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15684 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15685 * fs/afs_be.c: New file.
15686 * fs/befs_be.c: New file.
15687 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
15688 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
15689 (U16): Replaced with ...
15690 (grub_afs_to_cpu16): ...this. All users updated.
15691 (U32): Replaced with ...
15692 (grub_afs_to_cpu32): ...this. All users updated.
15693 (U64): Replaced with ...
15694 (grub_afs_to_cpu64): ...this. All users updated.
15695 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
15696 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 15697 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 15698 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15699 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15700 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15701 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15702 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15703 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15704 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15705 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15706
32a71655 157072009-08-26 Bean <bean123ch@gmail.com>
15708
15709 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
15710 64-bit number.
15711 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15712 (grub_xfs_inode_block): Change return type to grub_uint64_t.
15713 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
15714
552bf6c5 157152009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15716
15717 NetBSD memory map support.
15718
15719 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
15720 (grub_netbsd_btinfo_mmap_header): New structure.
15721 (grub_netbsd_btinfo_mmap_entry): Likewise.
15722 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
15723
1ae2078c 157242009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15725
15726 Enable bsd.mod on coreboot.
15727
15728 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
15729 (bsd_mod_SOURCES): New variable.
15730 (bsd_mod_CFLAGS): Likewise.
15731 (bsd_mod_LDFLAGS): Likewise.
15732 (bsd_mod_ASFLAGS): Likewise.
15733 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
15734 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
15735
beefc598 157362009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15737
15738 Cleanup NetBSD root support.
15739
15740 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
15741 grub_bsd_get_device.
15742 Fix typo.
15743
3b76e68b 157442009-08-25 Felix Zielcke <fzielcke@z-51.de>
15745
15746 * util/grub.d/00_header.in: Move check for the video backend of
15747 gfxterm from here ...
15748 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
15749 a suitable video backend.
15750
aea664ea 157512009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15752
15753 Fix breakage in grub-setup.
15754
15755 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
15756 "msdos_partition_map".
15757
ff747d50 157582009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 Fix breakage in normal/auth.c.
15761
15762 * normal/auth.c (grub_iswordseparator): New function.
15763
e7e1f93f 157642009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15765
15766 Authentication support.
15767
15768 * commands/password.c: New file.
15769 * conf/common.rmk (pkglib_MODULES): Add password.mod.
15770 (password_mod_SOURCES): New variable.
15771 (password_mod_CFLAGS): Likewise.
15772 (password_mod_LDFLAGS): Likewise.
15773 (normal_mod_SOURCES): Add normal/auth.c.
15774 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
15775 normal/auth.c.
15776 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15777 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15778 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15779 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15780 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15781 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15782 * include/grub/auth.h: New file.
15783 * include/grub/err.h (grub_err_t): New enum value
15784 GRUB_ERR_ACCESS_DENIED.
15785 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
15786 'users'.
15787 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
15788 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
15789 users updated.
15790 * normal/auth.c: New file.
15791 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
15792 (grub_cmdline_run): Don't allow to go to command line without
15793 authentication.
15794 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
15795 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
15796 menuentry without superuser rights.
15797 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
15798 user isn't a superuser.
15799
70f1161d 158002009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15801
15802 Save space by inlining misc.c functions.
15803
15804 * kern/misc.c (grub_iswordseparator): Made static.
15805 * kern/misc.c (grub_strcat): Moved from here ...
15806 * include/grub/misc.h (grub_strcat): ... here. Inlined.
15807 * kern/misc.c (grub_strncat): Moved from here ...
15808 * include/grub/misc.h (grub_strncat): ... here. Inlined.
15809 * kern/misc.c (grub_strcasecmp): Moved from here ...
15810 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
15811 * kern/misc.c (grub_strncasecmp): Moved from here ...
15812 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
15813 * kern/misc.c (grub_isalpha): Moved from here ...
15814 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
15815 * kern/misc.c (grub_isdigit): Moved from here ...
15816 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
15817 * kern/misc.c (grub_isgraph): Moved from here ...
15818 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
15819 * kern/misc.c (grub_tolower): Moved from here ...
15820 * include/grub/misc.h (grub_tolower): ... here. Inlined.
15821
48e40bff 158222009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 * script/sh/function.c (grub_script_function_find): Cut error message
15825 not to flood terminal.
15826 * script/sh/lexer.c (grub_script_yylex): Remove command line length
15827 limit.
15828 * script/sh/script.c (grub_script_arg_add): Duplicate string.
15829
c385bfc3 158302009-08-24 Colin Watson <cjwatson@ubuntu.com>
15831
15832 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
15833 `report' grub_uint8_t *.
15834 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
15835 Use a 50-millisecond timeout rather than just repeating
15836 grub_usb_keyboard_getreport 50 times.
15837 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
15838
2d21e3e8 158392009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15840
15841 Rename *_partition_map to part_*
15842
15843 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
15844 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
15845 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
15846 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
15847 All users updated.
15848 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
15849 All users updated.
15850 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
15851 * util/grub-probe.c (probe_partmap): Don't transform partition name
15852 to get module name.
15853
dd103c4e 158542009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15855
15856 Fix OpenBSD and NetBSD support.
15857
15858 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
15859 memory address conflict.
15860 (OPENBSD_MMAP_ACPI): New definition.
15861 (OPENBSD_MMAP_NVS): Likewise.
15862 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
15863 and OPENBSD_MMAP_NVS.
15864 Add memory map terminator
15865 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 15866 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 15867
16c84d74 158682009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15869
15870 Let user specify NetBSD root device.
15871
15872 * loader/i386/bsd.c (netbsd_root): New variable.
15873 (netbsd_opts): New option 'root'.
15874 (NETBSD_ROOT_ARG): New macro.
15875 (grub_netbsd_boot): Use 'netbsd_root'.
15876 (grub_bsd_unload): Free 'netbsd_root'.
15877 (grub_cmd_netbsd): Fill 'netbsd_root'.
15878
adb29902 158792009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 Support for 64-bit NetBSD.
15882
15883 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
15884 point when booting non-FreeBSD.
15885
f5ae9f74 158862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15887
15888 Support --no-smp and --no-acpi for NetBSD.
15889
15890 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
15891 (NETBSD_AB_NOACPI): Likewise.
15892 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
15893 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
15894
de74f136 158952009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15896
15897 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
15898 errors.
15899 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
15900 errors. Call grub_error when needed.
15901
e9a925da 159022009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 * commands/search.c (search_fs): Try searching without autoload first.
15905 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15906 filesystem module explicitly for faster booting.
15907
5174302b 159082009-08-23 Colin Watson <cjwatson@ubuntu.com>
15909
15910 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
15911
c8c80635 159122009-08-23 Colin Watson <cjwatson@ubuntu.com>
15913
15914 * util/grub.d/30_os-prober.in: Disable os-prober if
15915 `GRUB_DISABLE_OS_PROBER' was set to true.
15916
71acf5e5 159172009-08-23 Robert Millan <rmh.grub@aybabtu.com>
15918
15919 * partmap/pc.c: Rename to ...
15920 * partmap/msdos.c: ... this. Update all users.
15921 (grub_pc_partition_map): Rename to ...
15922 (grub_msdos_partition_map): ... this. Update all users.
15923
15924 * parttool/pcpart.c: Rename to ...
15925 * parttool/msdospart.c: ... this. Update all users.
15926
15927 * include/grub/pc_partition.h: Rename to ...
15928 * include/grub/msdos_partition.h: ... this. Update all users.
15929 (grub_pc_partition_bsd_entry): Rename to ...
15930 (grub_msdos_partition_bsd_entry): ... this. Update all users.
15931 (grub_pc_partition_disk_label): Rename to ...
15932 (grub_msdos_partition_disk_label): ... this. Update all users.
15933 (grub_pc_partition_entry): Rename to ...
15934 (grub_msdos_partition_entry): ... this. Update all users.
15935 (grub_pc_partition_mbr): Rename to ...
15936 (grub_msdos_partition_mbr): ... this. Update all users.
15937 (grub_pc_partition): Rename to ...
15938 (grub_msdos_partition): ... this. Update all users.
15939 (grub_pc_partition_is_empty): Rename to ...
15940 (grub_msdos_partition_is_empty): ... this. Update all users.
15941 (grub_pc_partition_is_extended): Rename to ...
15942 (grub_msdos_partition_is_extended): ... this. Update all users.
15943 (grub_pc_partition_is_bsd): Rename to ...
15944 (grub_msdos_partition_is_bsd): ... this. Update all users.
15945
15946 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
15947 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
15948 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
15949 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
15950 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
15951 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
15952 (gpt_mod_LDFLAGS): Rename to ...
15953 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
15954 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
15955 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
15956 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
15957 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
15958 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
15959 (part_gpt_mod_LDFLAGS): ... this.
15960 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
15961 `pcpart.mod' to `msdospart.mod'.
15962 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
15963 to ...
15964 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
15965 (msdospart_mod_LDFLAGS): ... this.
15966
c11fded5 159672009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15968
15969 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
15970 (openbsd_opts): Likewise.
15971 (netbsd_opts): Likewise.
15972 (freebsd_flags): Added 0 terminator.
15973 (openbsd_flags): Likewise.
15974 (netbsd_flags): Likewise.
15975 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
15976 (grub_cmd_freebsd): Transformed into extended command.
15977 (grub_cmd_openbsd): Likewise.
15978 (grub_cmd_netbsd): Likewise.
15979 (cmd_freebsd): Changed type to grub_extcmd_t.
15980 (cmd_openbsd): Likewise.
15981 (cmd_netbsd): Likewise.
15982 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
15983 grub_cmd_openbsd as extended commands.
15984 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
15985 cmd_netbsd and cmd_openbsd
15986
11d1c769 159872009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15988
15989 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
15990
7a9094e5 159912009-08-21 Pavel Roskin <proski@gnu.org>
15992
5496c37e 15993 * Makefile.in (install-local): When checking if a file is in the
15994 build directory, use "test -e" to detect symlinks.
15995
7a9094e5 15996 * Makefile.in (install-local): Remove all files in
15997 $(DESTDIR)$(pkglibdir) before installing new files there.
15998
e53cea11 159992009-08-18 Felix Zielcke <fzielcke@z-51.de>
16000
16001 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
16002 grub-mkelfimage.
16003
9aced544 160042009-08-18 Felix Zielcke <fzielcke@z-51.de>
16005
16006 * util/grub-mkconfig.in: Don't use gfxterm by default if not
16007 explicitly specified by the user.
16008
b7da6bab 160092009-08-18 Pavel Roskin <proski@gnu.org>
16010
16011 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
16012 grub_uint8_t pointer for data.
16013 * include/grub/fbutil.h (struct grub_video_fbblit_info):
16014 Likewise.
16015 * video/fb/fbutil.c: Remove unnecessary casts.
16016
19f1b335 160172009-08-17 Michal Suchanek <hramrach@centrum.cz>
16018
16019 VBE cleanup.
16020
16021 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
16022 (grub_vbe_set_video_mode): Save active mode info
16023 only after setting the mode.
16024 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
16025 second argument.
16026
2f467aa9 160272009-08-17 Michal Suchanek <hramrach@centrum.cz>
16028
16029 Rename variables for clarity.
16030
16031 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
16032 (active_vbe_mode_info): ... this. All users updated.
16033 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
16034 All users updated.
16035 (initial_mode): Rename to ...
16036 (initial_vbe_mode): ... this. All users updated.
16037 (mode_in_use): Rename to ..
16038 (vbe_mode_in_use): ... this. All users updated.
16039 (mode_list): Rename to ..
16040 (vbe_mode_list): ... this. All users updated.
16041 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
16042 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
16043 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
16044 'mode_list_size' to 'vbe_mode_list_size'.
16045 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
16046 'best_mode_info' to 'best_vbe_mode_info' and
16047 'best_mode' to 'best_vbe_mode'
16048
6025fcd7 160492009-08-17 Michal Suchanek <hramrach@centrum.cz>
16050
16051 Remove duplicate grub_video_fb_get_video_ptr.
16052
16053 * include/grub/fbutil.h (get_data_ptr): Rename to ...
16054 (grub_video_fb_get_video_ptr): ... this.
16055 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
16056 * video/fb/fbutil.c: Add comment about addressing.
16057 (get_data_ptr): Rename to ...
16058 (grub_video_fb_get_video_ptr): ... this. All users updated.
16059 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
16060
cc8c6faf 160612009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16062
16063 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
16064 grub_dprintf() that was just added.
16065
08aa61f0 160662009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16067
16068 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
16069 (DEFAULT_VIDEO_MODE): Remove macros.
16070 (grub_linux_boot): Remove assumption that Linux has FB support,
16071 and use "text" as default video mode.
16072
7cef4f75 160732009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
16074
16075 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
16076 grub_dprintf.
16077 * fs/fat.c (grub_fat_read_data): Likewise.
16078
e1f39873 160792009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16080
16081 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
16082 payload.
16083 (grub_module): Likewise.
16084
c166d79e 160852009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16086
16087 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
16088 mbi->cmdline but free playground.
16089
c60cee8e 160902009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16091
16092 Handle group offset on UFS1.
16093
16094 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
16095 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
16096
c0d8b5d4 160972009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16098
16099 Split ufs.mod into ufs1.mod and ufs2.mod.
16100
16101 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
16102 (grub_fstest_SOURCES): Likewise.
16103 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
16104 (ufs_mod_SOURCES): Remove.
16105 (ufs_mod_CFLAGS): Likewise.
16106 (ufs_mod_LDFLAGS): Likewise.
16107 (ufs1_mod_SOURCES): New variable.
16108 (ufs1_mod_CFLAGS): Likewise.
16109 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 16110 (ufs2_mod_SOURCES): New variable.
16111 (ufs2_mod_CFLAGS): Likewise.
16112 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 16113 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
16114 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16115 Likewise.
16116 (grub_emu_SOURCES): Likewise.
16117 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16118 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16119 (grub_setup_SOURCES): Likewise.
16120 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16121 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
16122 (grub_setup_SOURCES): Likewise.
16123 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16124 Likewise.
16125 * fs/ufs2.c: New file.
16126 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
16127
d3539132 161282009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16129
16130 Framebuffer split.
16131
16132 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
16133 subsystem at the end.
16134 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
16135 (video_fb_mod_SOURCES): New variable.
16136 (video_fb_mod_CFLAGS): Likewise.
16137 (video_fb_mod_LDFLAGS): Likewise.
16138 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
16139 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
16140 * video/i386/pc/vbeblit.c: Moved from here ...
16141 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
16142 * video/i386/pc/vbefill.c: Moved from here ...
16143 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
16144 * video/i386/pc/vbeutil.c: Moved from here ...
16145 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
16146 * include/grub/i386/pc/vbeblit.h: Moved from here ...
16147 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
16148 * include/grub/i386/pc/vbefill.h: Moved from here ...
16149 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
16150 * include/grub/i386/pc/vbeutil.h: Moved from here ...
16151 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
16152 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
16153 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
16154 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
16155 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
16156 (grub_video_adapter): Added 'get_info_and_fini'.
16157 (grub_video_get_info_and_fini): New prototype.
16158 (grub_video_set_mode): make modestring const char *.
16159 * loader/i386/linux.c (grub_linux_setup_video): Use
16160 grub_video_get_info_and_fini.
16161 (grub_linux_boot): Move modesetting just before booting.
16162 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
16163 grub_video_get_info_and_fini.
16164 * video/i386/pc/vbe.c: Moved framebuffer part ...
16165 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
16166 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
16167 grub_video_fbstd_colors and grub_video_fb_set_palette.
16168 (grub_video_vbe_init): Clear 'framebuffer' variable and use
16169 grub_video_fb_init.
16170 (grub_video_vbe_fini): Use grub_video_fb_fini.
16171 (grub_video_vbe_setup): Use framebuffer.render_target instead of
16172 render_target and use grub_video_fb_set_active_render_target and
16173 grub_video_fb_set_palette.
16174 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
16175 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
16176 (grub_video_vbe_adapter): Use framebuffer.
16177 * video/video.c (grub_video_get_info_and_fini): New function.
16178 (grub_video_set_mode): Make modestring const char *.
16179 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
16180 values are already initialised.
16181
d404ee56 161822009-08-14 Pavel Roskin <proski@gnu.org>
16183
16184 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
16185 ABS and APPLE_CC.
16186 * boot/i386/pc/diskboot.S: Likewise.
16187 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
16188 sectors allow compilation on MacOSX.
16189 * conf/i386-pc.rmk: Enable unconditional compilation of
16190 lnxboot.img.
16191
9a10df16 161922009-08-13 Colin Watson <cjwatson@ubuntu.com>
16193
16194 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
16195 * util/grub.d/00_header.in: Enter interruptible sleep if
16196 GRUB_HIDDEN_TIMEOUT is set.
16197
be3c9ca7 161982009-08-13 Yves Blusseau <blusseau@zetam.org>
16199
16200 * include/grub/symbol.h: Add the LOCAL macro.
16201 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
16202 starting with "L_".
16203
1f9e557e 162042009-08-13 Pavel Roskin <proski@gnu.org>
16205
9ca62843 16206 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
16207 any modern compilers we support.
16208
1f9e557e 16209 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
16210 Use local labels starting with "L_" so that Apple assembler
16211 knows they are local.
16212
81623db6 162132009-08-10 Robert Millan <rmh.grub@aybabtu.com>
16214
16215 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
16216 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
16217 (bsd_kernel_types): ... this enum.
16218
16219 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
16220 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
16221 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
16222
16223 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
16224 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
16225 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
16226 messages.
16227
f5d35e7a 162282009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16229
16230 * util/grub-dumpdevtree: Moved from here ...
16231 * util/i386/efi/grub-dumpdevtree: ... to here.
16232 (hexify): New function. Converts a string to its hex version.
16233 Generate hex versions of "efi" and "device-properties" by calling
16234 hexify() on the ASCII strings rather than by hardcoding numbers.
16235
d1e1d527 162362009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16237
16238 * fs/jfs.c: Update copyright year.
16239
1ebbe064 162402009-08-08 Felix Zielcke <fzielcke@z-51.de>
16241
16242 * util/grub.d/00_header.in: Fix a comment.
16243 * util/grub.d/10_linux.in: Likewise.
16244 * util/grub.d/10_windows.in: Likewise.
16245 * util/grub.d/10_hurd.in: Likewise.
16246
a78c8d24 162472009-08-08 Felix Zielcke <fzielcke@z-51.de>
16248
16249 * util/grub-mkconfig.in: Allow the user to specify the used font
16250 with GRUB_FONT.
16251
29a6b9e8 162522009-08-08 Pavel Roskin <proski@gnu.org>
16253
b5f16cc4 16254 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
16255 available, xfs.mod needs it now.
16256
2f5cb827 16257 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
16258 the "g" modifier in sed when the intention is to strip something
16259 once. This fixes comparison of kernels with multiple dashes.
16260
29a6b9e8 16261 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
16262 on it. Add missing space before closing bracket. Fix
16263 misleading formatting.
16264
892a3d98 162652009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16266
16267 * docs/grub.texi: Major overhaul. Remove all sections that are
16268 specific to GRUB Legacy, or mostly composed of Legacy-specific
16269 information.
16270
ed94253f 162712009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16272
16273 * docs/version.texi: New file. Provides version information for
16274 grub.texi.
16275
126d6628 162762009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16277
16278 * docs/grub.texi: Update CVS information to SVN.
16279 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
16280
998b5aa9 162812009-08-07 Felix Zielcke <fzielcke@z-51.de>
16282
16283 * util/grub-mkconfig.in: Remove a wrong `fi'.
16284
818e094a 162852009-08-07 Felix Zielcke <fzielcke@z-51.de>
16286
16287 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
16288 (grub_jfs_uuid): New function.
16289 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
16290
b969c52f 162912009-08-07 Felix Zielcke <fzielcke@z-51.de>
16292
16293 * util/grub-mkconfig_lib.in (font_path): Move the functionality
16294 of it to ...
16295 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
16296 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
16297
7a4894cc 162982009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16299
16300 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
16301 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
16302 Update all users.
16303
16304 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
16305 not just "vmlinu[zx]".
16306 Moved from here ...
16307 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
16308 all users.
16309
16310 * util/grub.d/10_linux.in (find_latest): Moved from here ...
16311 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
16312 all users.
16313
4e2171f8 163142009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16315
16316 * util/grub.d/10_freebsd.in: Use an absolute device path for
16317 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
16318
6dcfcb32 163192009-08-06 Felix Zielcke <fzielcke@z-51.de>
16320
16321 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
16322 handling of multiple abstraction modules.
16323
f56a8756 163242009-08-04 Robert Millan <rmh.grub@aybabtu.com>
16325
16326 Fix a bug resulting in black screen when loading Linux using a
16327 packed video mode.
16328
16329 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
16330 function.
16331
16332 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
16333 (grub_vbe_bios_getset_dac_palette_width): New function.
16334 (grub_vbe_bios_get_dac_palette_width)
16335 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
16336 grub_vbe_bios_getset_dac_palette_width()).
16337
16338 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
16339 check for return status.
16340 (grub_vbe_get_video_mode_info): When getting information for a packed
16341 mode (<= 8 bpp), obtain DAC palette width using
16342 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
16343 {red,green,blue}_mark_size.
16344
222671b2 163452009-08-04 Felix Zielcke <fzielcke@z-51.de>
16346
ecb1a6d9 16347 * commands/search.c (options): Fix help output to match actual code.
222671b2 16348
f84114f5 163492009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
16350
16351 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
16352 of homegrown code.
16353
bd288a20 163542009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 16355
16356 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
16357 on XFS or ReiserFS.
16358
8aab5e25 163592009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16360
16361 Support Apple partition map with sector size different from 512 bytes.
16362
16363 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
16364 (apple_partition_map_iterate): Respect 'aheader.blocksize'
16365 and 'apart.partmap_size'.
16366
6ad6258a 163672009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
163682009-08-01 Robert Millan <rmh.grub@aybabtu.com>
16369
16370 Fix cpuid command.
16371
16372 * commands/i386/cpuid.c (options): New variable.
16373 (grub_cmd_cpuid): Return real error.
16374 (GRUB_MOD_INIT(cpuid)): Declare options.
16375
67459bc6 163762009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
16377
16378 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
16379 valid.
16380
fbc6ab54 163812009-07-31 Bean <bean123ch@gmail.com>
16382
16383 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
16384 log2_inode.
16385 (grub_fshelp_node): Move inode field to the end.
16386 (grub_xfs_data): Remove inode field.
16387 (grub_xfs_inode_block): Calculate inode size using sblock.
16388 (grub_xfs_inode_offset): Likewise.
16389 (grub_xfs_read_inode): Calculate inode size using sblock.
16390 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
16391 (grub_xfs_iterate_dir): Calculate inode size using sblock.
16392 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
16393 to match inode size.
16394 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
16395 not accessible when data is null.
16396 (grub_xfs_open): Likewise.
16397
f45d6cfc 163982009-07-31 Bean <bean123ch@gmail.com>
16399
16400 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
16401 Don't change pv->disk if it's already set.
16402
16403 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
16404 (grub_raid_register): ... here.
16405 (grub_raid_rescan): Removed.
16406
16407 * include/grub/raid.h (grub_raid_rescan): Removed.
16408
16409 * util/grub-fstest.c: Remove include file <grub/raid.h>.
16410 (fstest): Replace grub_raid_rescan with module fini function followed
16411 by init function.
16412
16413 * util/grub-probe.c: Add include file <grub/raid.h>.
16414 (probe_raid_level): New function.
16415 (probe): Detect abstraction by walking the disk device, support two
16416 level of abstraction (LVM on RAID) when detecting partition map.
16417
24443b5a 164182009-07-31 Pavel Roskin <proski@gnu.org>
16419
16420 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
16421 to grub_zalloc(), it was erroneous.
16422 Reported by Bean <bean123ch@gmail.com>
16423
a275d9e7 164242009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
16425
16426 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 16427 embedding zone, not only the first one.
a275d9e7 16428
56c5a47f 164292009-07-29 Joe Auricchio <jauricchio@gmail.com>
16430
16431 * term/gfxterm.c (clear_char): New function.
16432 (grub_virtual_screen_setup): Use clear_char.
16433 (scroll_up): Likewise.
16434 (grub_virtual_screen_cls): Likewise.
16435
67bb323a 164362009-07-29 Felix Zielcke <fzielcke@z-51.de>
16437
16438 * util/deviceiter.c (get_acceleraid_disk_name): New static
16439 function.
16440 (grub_util_iterate_devices): Handle Accelraid devices.
16441 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
16442
388a7c75 164432009-07-28 Robert Millan <rmh.grub@aybabtu.com>
16444
16445 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
16446 separator for the suggested gfxpayload string (';' collides with the
16447 parser and needs escaping).
16448
3bb7abcf 164492009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16450
16451 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
16452 Clear direction flag before jumping to OS.
16453 (grub_multiboot2_real_boot): Likewise.
16454
2ddd36d7 164552009-07-28 Felix Zielcke <fzielcke@z-51.de>
16456
16457 * util/i386/pc/grub-install: Fix parsing of --disk-module
16458 option.
16459
c521b62b 164602009-07-28 Felix Zielcke <fzielcke@z-51.de>
16461
16462 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
16463 when embedding.
16464
880e0a0c 164652009-07-26 Felix Zielcke <fzielcke@z-51.de>
16466
16467 * util/grub-mkconfig.in (package_version): New variable.
16468 Use it do display the version.
16469
2366e356 164702009-07-25 Felix Zielcke <fzielcke@z-51.de>
16471
16472 * kern/file.c (grub_file_open): Revert to previous check with
16473 grub_errno.
16474
7ad8c80e 164752009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16476
16477 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
16478 from help line. It's out of sync with code.
16479
72b9658b 164802009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16481
16482 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
16483 entries on failed boot.
16484
77435277 164852009-07-25 Felix Zielcke <fzielcke@z-51.de>
16486
16487 * kern/file.c (grub_file_open): Fix an error check.
16488
fcaa8b21 164892009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
16490
35d16c74 16491 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
16492 partition map couldn't be identified.
fcaa8b21 16493
48904cd1 164942009-07-23 Pavel Roskin <proski@gnu.org>
16495
ef3c317f 16496 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
16497 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
16498 case of little endian words becomes just an optimization.
16499 Respect const modifier.
ad8ea1f4 16500 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 16501
48904cd1 16502 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
16503 to avoid loss of upper bits if align is unsigned and shorter
16504 than addr.
16505
260c9a89 165062009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16507
16508 UUID support for UFS
16509
16510 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
16511 (grub_ufs_uuid): New function.
16512 (grub_ufs_fs): add .uuid
16513
f76ce889 165142009-07-21 Pavel Roskin <proski@gnu.org>
16515
16516 * kern/dl.c (grub_dl_check_header): Make static.
16517
6a6cbcaf 165182009-07-21 Felix Zielcke <fzielcke@z-51.de>
16519
16520 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
16521 add drivemap for Vista. It breaks Windows 7.
16522
cffcddb2 165232009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16524
16525 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
16526 128 bytes
16527
1ef44b80 165282009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16529
16530 Add BFS support
16531
16532 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
16533 (grub_fstest_SOURCES): Likewise.
16534 (pkglib_MODULES): Add befs.mod.
16535 (befs_mod_SOURCES): New variable.
16536 (befs_mod_CFLAGS): Likewise.
16537 (befs_mod_LDFLAGS): Likewise.
16538 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16539 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16540 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16541 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16542 (grub_setup_SOURCES): Likewise.
16543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16544 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16545 (grub_setup_SOURCES): Likewise.
16546 * fs/befs.c: New file.
16547 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
16548 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
16549 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
16550 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
16551 (B_KEY_INDEX_ALIGN): New declaration.
16552 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
16553 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
16554 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
16555 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
16556 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
16557 (grub_afs_mount) [MODE_BFS]: Likewise.
16558 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
16559 (grub_afs_fs): Use GRUB_AFS_FSNAME
16560 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
16561 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
16562 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
16563 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
16564
4f253044 165652009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
16566
16567 * util/getroot.c (find_root_device): Add support for MacOSX.
16568 * util/hostdisk.c: Likewise.
16569
57a55913 165702009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16571
16572 * font/font.c (find_glyph): Check whether a font is present to avoid
16573 segmentation fault.
75421ca9 16574
165752009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 16576
16577 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
16578
e98cd0c2 165792009-07-20 Pavel Roskin <proski@gnu.org>
16580
16581 * configure.ac: Trim excessively wordy excuses.
16582
1d2d169a 165832009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16584
16585 Add symlink, mtime and label support to AtheFS.
16586
16587 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
16588 (grub_afs_iterate_dir): Handle symlinks.
16589 (grub_afs_open): Use grub_afs_read_symlink.
16590 (grub_afs_dir): Likewise.
16591 Pass mtime.
16592 (grub_afs_label): New function.
16593 (grub_afs_fs): Add grub_afs_label.
16594 (grub_afs_read_symlink): New function.
16595
186f3189 165962009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16597
16598 Fix AtheFS support.
16599
16600 * fs/afs.c: Fix comments style.
16601 (grub_afs_blockrun): Declare as packed.
16602 (grub_afs_datastream): Likewise.
16603 (grub_afs_bnode): Likewise.
16604 (grub_afs_btree): Likewise.
16605 (grub_afs_sblock): Likewise.
16606 Declare `name' as char.
16607 (grub_afs_inode): Declare as packed.
16608 Change void *vnode to grub_uint32_t unused.
16609 (grub_afs_iterate_dir): Check that key_size is positive.
16610 (grub_afs_mount): Don't read superblock twice.
75421ca9 16611 (grub_afs_dir): Don't free node in case of error,
186f3189 16612 grub_fshelp_find_file already handles this.
16613 (grub_afs_open): Likewise.
16614
5680109e 166152009-07-19 Pavel Roskin <proski@gnu.org>
16616
16617 * Makefile.in: Remove LIBLZO and enable_lzo.
16618 * conf/i386-pc.rmk: Remove lzo support.
16619 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
16620 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
16621 support.
16622 * kern/i386/pc/lzo1x.S: Remove.
16623 * kern/i386/pc/startup.S: Remove lzo support.
16624 * util/i386/pc/grub-mkimage.c: Likewise.
16625
ac70fa32 166262009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
16627
16628 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
16629 * fs/xfs.c (grub_xfs_dir): Likewise.
16630 * fs/afs.c (grub_afs_dir): Likewise.
16631 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
16632 (grub_iso9660_open): Likewise.
16633 * fs/jfs.c (grub_jfs_open): Likewise.
16634 * fs/ext2.c (grub_ext2_dir): Likewise.
16635 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
16636 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 16637
eab58da2 166382009-07-16 Pavel Roskin <proski@gnu.org>
16639
d2838156 16640 * configure.ac: Never add "-c" to CFLAGS.
16641
55c70904 16642 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
16643
43e6200c 16644 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
16645 grub_cv_cc_efiemu should be used.
16646
ce7a733d 16647 * configure.ac: Typo fixes.
16648
eab58da2 16649 * kern/mm.c (grub_zalloc): New function.
16650 (grub_debug_zalloc): Likewise.
16651 * include/grub/mm.h: Declare grub_zalloc() and
16652 grub_debug_zalloc().
16653 * util/misc.c (grub_zalloc): New function.
16654 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
16655 instead of grub_malloc(), remove unneeded initializations.
16656 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
16657 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
16658 * commands/parttool.c (grub_cmd_parttool): Likewise.
16659 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16660 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
16661 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
16662 * disk/usbms.c (grub_usbms_finddevs): Likewise.
16663 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
16664 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
16665 (grub_cmd_efiemu_pnvram): Likewise.
16666 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
16667 * fs/iso9660.c (grub_iso9660_mount): Likewise.
16668 (grub_iso9660_iterate_dir): Likewise.
16669 * fs/jfs.c (grub_jfs_opendir): Likewise.
16670 * fs/ntfs.c (list_file): Likewise.
16671 (grub_ntfs_mount): Likewise.
16672 * kern/disk.c (grub_disk_open): Likewise.
16673 * kern/dl.c (grub_dl_load_core): Likewise.
16674 * kern/elf.c (grub_elf_file): Likewise.
16675 * kern/env.c (grub_env_context_open): Likewise.
16676 (grub_env_set): Likewise.
16677 (grub_env_set_data_slot): Likewise.
16678 * kern/file.c (grub_file_open): Likewise.
16679 * kern/fs.c (grub_fs_blocklist_open): Likewise.
16680 * loader/i386/multiboot.c (grub_module): Likewise.
16681 * loader/xnu.c (grub_xnu_create_key): Likewise.
16682 (grub_xnu_create_value): Likewise.
16683 * normal/main.c (grub_normal_add_menu_entry): Likewise.
16684 (read_config_file): Likewise.
16685 * normal/menu_entry.c (make_screen): Likewise.
16686 * partmap/sun.c (sun_partition_map_iterate): Likewise.
16687 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
16688 * script/sh/script.c (grub_script_parse): Likewise.
16689 * video/bitmap.c (grub_video_bitmap_create): Likewise.
16690 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16691 * video/readers/png.c (grub_png_output_byte): Likewise.
16692 (grub_video_reader_png): Likewise.
16693
830afef7 166942009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 16695
16696 Enable all targets that can be built by default
16697
830afef7 16698 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 16699 grub-mkfont and grub-fstest if they can be built
16700
ee293aee 167012009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16702
16703 Fix hang and segmentation fault in grub-emu-usb
16704
16705 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
16706 * util/usb.c (grub_libusb_devices): likewise
16707 (grub_libusb_init): rename to ...
16708 (GRUB_MOD_INIT (libusb)):...this
16709 (grub_libusb_fini): rename to ..
16710 (GRUB_MOD_FINI (libusb)):...this
16711 * disk/usbms.c (grub_usbms_transfer): fix retry logic
16712 * include/grub/disk.h (grub_raid_init): removed, it's useless
16713 (grub_raid_fini): likewise
16714 (grub_lvm_init): likewise
16715 (grub_lvm_fini): likewise
16716 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
16717 by grub_init_all
16718
94414221 167192009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16720
16721 Fix libusb
16722
16723 * Makefile.in (LIBUSB): new macro
16724 * genmk.rb (Utility/print_tail): new method
16725 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
16726 (top level): call util.print_tail at the end.
16727
59ade63d 167282009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16729
16730 Make FreeBSD accept zpool.cache
16731
16732 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
16733 type is /boot/zfs/zpool.cache
16734
a58da8c7 167352009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16736
16737 Fix 64-bit efiemu
16738
16739 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
16740 correct wrong typedef
16741 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
16742
20591577 167432009-07-15 Pavel Roskin <proski@gnu.org>
16744
560ca572 16745 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
16746 * kern/disk.c (struct grub_disk_cache): Likewise.
16747
e8e8e4fd 16748 * commands/probe.c (options): Typo fix.
16749
fde24e10 16750 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
16751 Increase to 0x5a to accommodate FAT32. Adjust other offsets
16752 accordingly.
16753 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
16754
379c54c1 16755 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
16756 the end of "Error" to make the message more readable.
16757
7bd8f5bf 16758 * boot/i386/pc/boot.S (kernel_segment): Remove.
16759 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
16760 for destination.
16761
40b132c5 16762 * boot/i386/pc/boot.S (boot_version): Remove.
16763 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16764 Remove.
16765
20591577 16766 * include/grub/i386/pc/boot.h: Sort all offsets.
16767 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
16768 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
16769 * boot/i386/pc/boot.S: Assert location of every offset listed in
16770 include/grub/i386/pc/boot.h.
16771
2df32b2c 167722009-07-13 Pavel Roskin <proski@gnu.org>
16773
44b5d879 16774 * include/grub/i386/coreboot/machine.h: Rename
16775 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
16776 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
16777 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
16778
17dc3751 16779 * kern/dl.c: Force native word size to suppress warnings when
16780 compiling grub-emu.
16781
2df32b2c 16782 * kern/device.c (grub_device_iterate): Change struct part_ent to
16783 hold the name, not a pointer to it. Use one grub_malloc() per
16784 partition, not two. Free partition_name if grub_malloc() fails.
16785 Set ents to NULL only before grub_partition_iterate() is called.
16786
75c59f59 167872009-07-11 Bean <bean123ch@gmail.com>
16788
16789 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
16790 childname.
16791
0ae1bf88 167922009-07-10 Bean <bean123ch@gmail.com>
167932009-07-10 Robert Millan <rmh.grub@aybabtu.com>
16794
16795 * kern/ieee1275/openfw.c (grub_children_iterate)
16796 (grub_devalias_iterate): Fix size evaluation for property or path
16797 strings, which was broken since r2132.
16798
8279cade 167992009-07-07 Pavel Roskin <proski@gnu.org>
16800
7d8a52d3 16801 * commands/search.c (search_file): Merge into ...
16802 (search_fs): ... this. Accept search type as argument.
16803 (grub_cmd_search): Pass search type to search_fs().
16804
25f9a05a 16805 * include/grub/util/console.h: New file.
16806 * util/console.c: Use it instead of grub/machine/console.h.
16807 * util/grub-emu.c: Likewise.
16808
8279cade 16809 * lib/arg.c (find_long_option): Remove.
16810 (find_long): Add `len' argument, make `s' const char *.
16811 (grub_arg_parse): Parse long options in place, not in a
16812 temporary buffer.
16813
4a11b60f 168142009-07-06 Pavel Roskin <proski@gnu.org>
16815
99f68041 16816 * commands/search.c (search_fs): Fix potential NULL pointer
16817 dereference.
16818
4a11b60f 16819 * commands/search.c (search_fs): Replace QUID macro with quid_fn
16820 function pointer.
16821
e110f4de 168222009-07-06 Daniel Mierswa <impulze@impulze.org>
16823
16824 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
16825 comparison.
16826
46eeb6a2 168272009-07-05 Pavel Roskin <proski@gnu.org>
16828
bab74958 16829 * include/grub/i386/linux.h (struct linux_kernel_params):
16830 Restore padding3, it's still needed.
16831
46eeb6a2 16832 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
16833 FreeBSD.
16834 * util/osdetect.lua: Likewise.
16835
b4a1dc79 168362009-07-05 Bean <bean123ch@gmail.com>
16837
16838 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
16839
16840 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
16841 (grub_lua_getenv): Likewise.
16842 (grub_lua_setenv): Likewise.
16843 (save_errno): New function.
16844 (push_result): Likewise.
16845 (grub_lua_enum_device): Likewise.
16846 (grub_lua_enum_file): Likewise.
16847 (grub_lua_file_open): Likewise.
16848 (grub_lua_file_close): Likewise.
16849 (grub_lua_file_seek): Likewise.
16850 (grub_lua_file_read): Likewise.
16851 (grub_lua_file_getline): Likewise.
16852 (grub_lua_file_getsize): Likewise.
16853 (grub_lua_file_getpos): Likewise.
16854 (grub_lua_file_eof): Likewise.
16855 (grub_lua_file_exist): Likewise.
16856 (grub_lua_add_menu): Likewise.
16857
16858 * script/lua/grub_lua.h (isupper): New inline function.
16859 (islower): Likewise.
16860 (ispunct): Likewise.
16861 (isxdigit): Likewise.
16862 (strcspn): Change to normal function.
16863 (strpbkr): New function declaration.
16864 (memchr): Likewise.
16865
16866 * script/lua/grub_main.c (scan_str): New function.
16867 (strcspn): Likewise.
16868 (strpbrk): Likewise.
16869 (memchr): Likewise.
16870
16871 * script/lua/linit.c (lualibs): Enable the string library.
16872
16873 * util/osdetect.lua: New file.
16874
2da92295 168752009-07-04 Robert Millan <rmh.grub@aybabtu.com>
16876
16877 * include/grub/i386/linux.h (struct linux_kernel_params): Add
16878 `capabilities' member.
16879
b2582ec9 168802009-07-02 Pavel Roskin <proski@gnu.org>
16881
16882 * genparttoollist.sh: Add missing newline at the end.
16883
32622956 168842009-07-01 Pavel Roskin <proski@gnu.org>
16885
87a7339e 16886 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
16887
d23af54e 16888 * util/hostdisk.c (open_device): Remove `const' from
16889 `sysctl_size', as sysctlbyname() can change it (in this case it
16890 doesn't actually happen).
16891
c94b18a9 16892 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
16893 using signed long int constants.
16894
c6cd3ef0 16895 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
16896 constant to avoid a warning on FreeBSD.
16897
0df63420 16898 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
16899 where it's needed.
16900
999577f1 16901 * Makefile.in: Install include/grub/machine symlink.
16902
6f41557f 16903 * Makefile.in: When installing symlinks, use "cp -fR", which
16904 works on FreeBSD and MacOSX.
16905 From Yves Blusseau <cl7m42e02@sneakemail.com>
16906
c8d22988 16907 * kern/dl.c (grub_dl_resolve_symbol): Make static.
16908 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
16909
1b96e952 16910 * util/misc.c: Move grub_reboot() and grub_halt() ...
16911 * util/grub-emu.c: ... here. Make main_env static.
16912 * include/grub/util/misc.h: Remove main_env.
16913
2ef0084d 16914 * kern/mm.c: Use correct format to print size_t.
16915
32622956 16916 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
16917 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
16918 * kern/powerpc/dl.c: Likewise.
16919 * kern/sparc64/dl.c: Likewise.
16920 * kern/x86_64/dl.c: Likewise.
16921
3f7f0cd0 169222009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16923
16924 Fix grub-emu build on sparc64-ieee1275.
16925
75421ca9 16926 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 16927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
16928
211d06b5 169292009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16930
16931 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
16932 (grub_reboot, grub_halt): New functions.
16933
16934 * util/i386/pc/misc.c: Delete. Update all users.
16935 * util/sparc64/ieee1275/misc.c: Likewise.
16936 * util/powerpc/ieee1275/misc.c: Likewise.
16937
aaf53e3c 169382009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16939
16940 * conf/i386.rmk (setjmp_mod_SOURCES)
16941 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
16942 * conf/common.rmk (setjmp_mod_SOURCES)
16943 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
16944 to use $(target_cpu).
16945 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
16946 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
16947 * conf/powerpc-ieee1275.rmk: Likewise.
16948 * conf/sparc64-ieee1275.rmk: Likewise.
16949
16950 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
16951 $(target_cpu) for kern/$(target_cpu)/dl.c.
16952 * conf/i386-efi.rmk: Likewise.
16953 * conf/i386-ieee1275.rmk: Likewise.
16954 * conf/x86_64-efi.rmk: Likewise.
16955 * conf/i386-coreboot.rmk: Likewise.
16956 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
16957 $(target_cpu) for kern/$(target_cpu)/dl.c and for
16958 kern/$(target_cpu)/cache.S.
16959 * conf/sparc64-ieee1275.rmk: Likewise.
16960
a337130b 169612009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16962
16963 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
16964 type to `grub_uint8_t', and adjust `padding9' accordingly.
16965
c6fe4d53 169662009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16967
b09db61d 16968 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
16969
c6fe4d53 16970 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
16971 assembly in final jump, using register constraints.
16972
b09db61d 16973 (grub_linux_boot): For text mode, initialize `have_vga' using
16974 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
16975
16976 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
16977 right before the final jump.
16978
16979 Set `video_mode' to 0x3.
16980
16981 Document initialization of `video_page', `video_mode' and
16982 `video_ega_bx'.
16983
28333ad0 169842009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16985
16986 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
16987 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 16988 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 16989
02164e1b 169902009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16991
16992 Fix build on Debian / sparc.
16993
16994 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
16995
18b6c557 169962009-06-28 Pavel Roskin <proski@gnu.org>
16997
85f2aab6 16998 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
16999 fix a warning.
17000
18b6c557 17001 * util/grub.d/10_linux.in: Match SUSE style initrd names.
17002
ad760f81 170032009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17004
17005 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
17006 `err'.
17007
87a4623b 170082009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17009
17010 Revert r2338.
17011
17012 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
17013 file can't be opened. grub_file_open() is already supposed to set
75421ca9 17014 grub_errno / grub_errmsg appropriately.
87a4623b 17015 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17016
8231fb77 170172009-06-27 Pavel Roskin <proski@gnu.org>
170182009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17019
17020 * include/grub/dl.h: Include grub/elf.h.
17021 (struct grub_dl): Add symtab field.
17022 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
17023 GRUB_MODULES_MACHINE_READONLY.
17024 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
17025 of the header for read-only modules.
17026 (grub_dl_unload): Free mod->symtab for read-only modules.
17027 * kern/i386/dl.c: Use mod->symtab.
17028 * kern/powerpc/dl.c: Likewise.
17029 * kern/sparc64/dl.c: Likewise.
17030 * kern/x86_64/dl.c: Likewise.
17031
17032 * conf/i386-qemu.rmk: New file.
17033 * kern/i386/qemu/startup.S: Likewise.
17034 * kern/i386/qemu/mmap.c: Likewise.
17035 * boot/i386/qemu/boot.S: Likewise.
17036 * include/grub/i386/qemu/time.h: Likewise.
17037 * include/grub/i386/qemu/serial.h: Likewise.
17038 * include/grub/i386/qemu/kernel.h: Likewise.
17039 * include/grub/i386/qemu/console.h: Likewise.
17040 * include/grub/i386/qemu/boot.h: Likewise.
17041 * include/grub/i386/qemu/init.h: Likewise.
17042 * include/grub/i386/qemu/machine.h: Likewise.
17043 * include/grub/i386/qemu/loader.h: Likewise.
17044 * include/grub/i386/qemu/memory.h: Likewise.
17045
17046 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
17047 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
17048 [qemu] (pkglib_IMAGES): Add `boot.img'.
17049 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
17050 [qemu] (boot_img_FORMAT): New variables.
17051 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
17052 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
17053 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
17054 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17055 [qemu] (kernel_img_FORMAT): New variables.
17056
17057 * configure.ac: Recognise `i386-qemu'.
17058
17059 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
17060 (for no compression).
17061 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
17062 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
17063 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
17064 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
17065 ifdefs).
17066
97fe384e 170672009-06-27 Pavel Roskin <proski@gnu.org>
17068
17069 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
17070 read.
17071 * efiemu/prepare32.c: Likewise.
17072 * efiemu/prepare64.c: Likewise.
17073
c402ab17 170742009-06-26 Pavel Roskin <proski@gnu.org>
17075
17076 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
17077 * include/grub/elf.h: Define symbols without "32" or "64" based
17078 on GRUB_TARGET_WORDSIZE.
17079 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
17080 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
17081 ELF definitions.
17082 * efiemu/loadcore64.c: Likewise.
17083 * loader/i386/bsd32.c: Likewise.
17084 * loader/i386/bsd64.c: Likewise.
17085 * kern/dl.c: Remove own ELF definitions.
17086 * util/i386/efi/grub-mkimage.c: Likewise.
17087
9bbdfd4d 170882009-06-23 Robert Millan <rmh.grub@aybabtu.com>
17089
17090 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
17091 segment 0x0 unconditionally, because the reference generated by
17092 GAS is an absolute address.
17093
a42ce6e9 170942009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17095
17096 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
17097 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
17098
c952cf92 170992009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17100
17101 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
17102 indexes. Check for -f explicitly.
cc3752ad 17103 (search_file): Improve error message.
17104 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 17105
132a0a59 171062009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17107
17108 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
17109 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
17110
387a140c 171112009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17112
17113 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
17114 * conf/i386-ieee1275.rmk: Likewise.
17115 * conf/i386-coreboot.rmk: Likewise.
17116
17117 * kern/i386/pc/startup.S (grub_stop): Remove function.
17118 * kern/i386/ieee1275/startup.S: Likewise.
17119 * kern/i386/coreboot/startup.S: Likewise.
17120 * kern/i386/misc.S (grub_stop): New function.
17121
41da9665 171222009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17123
17124 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
17125 * kern/i386/realmode.S (real_to_prot): ... to here.
17126
bf337234 171272009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17128
17129 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
17130 with `kernel.img'.
17131 (kernel_elf_SOURCES): Rename to ...
17132 (kernel_img_SOURCES): ... this.
17133 (kernel_elf_HEADERS): Rename to ...
17134 (kernel_img_HEADERS): ... this. Update all users.
17135 (kernel_elf_ASFLAGS): Rename to ...
17136 (kernel_img_ASFLAGS): ... this.
17137 (kernel_elf_CFLAGS): Rename to ...
17138 (kernel_img_CFLAGS): ... this.
17139 (kernel_elf_LDFLAGS): Rename to ...
17140 (kernel_img_LDFLAGS): ... this.
17141 * conf/i386-coreboot.rmk: Likewise.
17142 * conf/powerpc-ieee1275.rmk: Likewise.
17143
17144 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
17145 with "kernel.img".
17146
f52196ff 171472009-06-21 Pavel Roskin <proski@gnu.org>
17148
c3cee413 17149 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
17150 to match nested functions.
17151 * loader/sparc64/ieee1275/linux.c: Likewise.
17152
f52196ff 17153 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
17154
58750afc 171552009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17156
17157 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
17158 all i386 platforms.
17159
15355c7d 171602009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17161
17162 Fix asm file handling on ELF, and remove workarounds.
17163
17164 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 17165 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 17166 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
17167 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
17168
3f3ec72b 171692009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
17170
17171 Load BSD ELF modules
17172
17173 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
17174 and loader/i386/bsd64.c
17175 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
17176 (FREEBSD_MODTYPE_ELF_MODULE): New definition
17177 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
17178 (grub_freebsd_load_elfmodule32): New declaration
17179 (grub_freebsd_load_elfmoduleobj64): Likewise
17180 (grub_freebsd_load_elf_meta32): Likewise
17181 (grub_freebsd_load_elf_meta64): Likewise
17182 (grub_freebsd_add_meta): Likewise
17183 (grub_freebsd_add_meta_module): Likewise
17184 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
17185 (grub_freebsd_add_meta_module): Likewise and move module-specific
17186 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
17187 (grub_cmd_freebsd): Add elf-kernel specific parts
17188 based on grub_freebsd_add_meta_module
17189 (grub_cmd_freebsd_module): Add type parsing moved from
17190 grub_freebsd_add_meta_module
17191 (grub_cmd_freebsd_module_elf): New function
17192 (cmd_freebsd_module_elf): New variable
17193 (GRUB_MOD_INIT): Register freebsd_module_elf
17194 * loader/i386/bsd32.c: New file
17195 * loader/i386/bsd64.c: Likewise
17196 * loader/i386/bsdXX.c: Likewise
17197 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
17198 (grub_elf64_load): Likewise
17199 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
17200 All users updated
17201 (grub_elf64_load_hook_t): Likewise
17202
0db15301 172032009-06-21 Colin Watson <cjwatson@ubuntu.com>
17204
17205 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
17206 variable.
17207 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
17208 don't write a menu entry for recovery mode.
17209
546796c1 172102009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17211
17212 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
17213 after it's no longer needed.
17214
cd7310d5 172152009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17216
17217 * include/grub/i386/loader.h (grub_linux_prot_size)
17218 (grub_linux_tmp_addr, grub_linux_real_addr)
17219 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
17220 GRUB_MACHINE_PCBIOS.
17221 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
17222 common grub_util_info() call to ...
17223 (generate_image): ... here.
17224 Fix use of uninitialized memory, comparison of signed with
17225 unsigned integers and memory leak.
17226 Remove bogus module address message.
17227
ab32d3b5 172282009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17229
17230 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
17231 grub_raid_register
17232 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
17233
024ef597 172342009-06-19 Pavel Roskin <proski@gnu.org>
17235
17236 * configure.ac: Remove stray AC_MSG_CHECKING.
17237
3ac72b51 172382009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
17239
17240 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 17241
e14cd814 172422009-06-18 Pavel Roskin <proski@gnu.org>
17243
17244 * conf/common.rmk: Add fs_file.mod.
17245 * disk/fs_file.c: New file.
17246 * include/grub/disk.h (enum grub_disk_dev_id): Add
17247 GRUB_DISK_DEVICE_FILE_ID.
17248
26586d98 172492009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17250
17251 Fix build with Apple's toolchain. Part 2
17252
17253 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
17254 a fake start
17255
26de2bcd 172562009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17257
17258 Fix build with Apple's toolchain. Part 1
17259
17260 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
17261 for long calls
17262 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 17263 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 17264 Apple's toolchain
17265
09b3490b 172662009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17267
17268 Fix warnings
17269
17270 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
17271 (decomp_block): initialize ch
17272 use grub_memcpy instead of memcpy
17273
c22a006a 172742009-06-17 Pavel Roskin <proski@gnu.org>
17275
d3638678 17276 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
17277 version, use declarations needed to use vga_text as the startup
17278 console.
17279
c22a006a 17280 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
17281 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
17282 the kernel.
17283 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
17284 and grub_at_keyboard_fini(), it's done on module load and
17285 unload.
17286
05b129e0 172872009-06-17 Felix Zielcke <fzielcke@z-51.de>
17288
17289 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
17290 file can't be found.
17291 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17292
cf24ed9e 172932009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17294
17295 Fix newline handling
17296
17297 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 17298 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 17299 (grub_script_yylex): don't segfault on unterminated script
17300 newline terminates command and variable
17301
74aa8e4b 173022009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17303
17304 avoid double grub_adjust_range call. Bug reported by David Simner
17305
17306 * kern/disk.c (grub_disk_write): change to raw disk access before
17307 calling disk_read
17308
1bd265f3 173092009-06-17 Colin Watson <cjwatson@ubuntu.com>
17310
17311 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
17312 spaces, for the benefit of help2man.
17313 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17314
a2d08c06 173152009-06-16 Pavel Roskin <proski@gnu.org>
17316
17317 * kern/i386/halt.c: Include grub/machine/init.h.
17318 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
17319
b97bcb19 173202009-06-16 Felix Zielcke <fzielcke@z-51.de>
17321
17322 * util/grub.d/30_os-prober.in: Use ${root} in the generated
17323 drivemap menuentry.
17324
0644f96c 173252009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
17326
17327 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
17328 `echo' command.
17329
3ef17a2e 173302009-06-16 Pavel Roskin <proski@gnu.org>
17331
17332 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
17333 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
17334 save %dx, we only need %dl and we never change it.
17335 * boot/i386/pc/cdboot.S: Don't set the root drive.
17336 * boot/i386/pc/pxeboot.S: Likewise.
17337 * include/grub/i386/pc/boot.h: Remove
17338 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
17339 GRUB_BOOT_MACHINE_DRIVE_CHECK.
17340 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
17341 * kern/i386/pc/init.c (make_install_device): Remove references
17342 to grub_root_drive.
17343 * kern/i386/pc/startup.S: Likewise.
17344 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
17345
693fe637 173462009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17347
17348 xnu_uuid command
17349
17350 * commands/xnu_uuid.c: new file
17351 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
17352 (xnu_uuid_mod_SOURCES): new variable
17353 (xnu_uuid_mod_CFLAGS): likewise
17354 (xnu_uuid_mod_LDFLAGS): likewise
17355 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17356 * conf/i386-ieee1275.rmk: likewise
17357 * conf/i386-pc.rmk: likewise
17358 * conf/powerpc-ieee1275.rmk: likewise
17359 * conf/sparc64-ieee1275.rmk: likewise
17360 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
17361
c9da87d0 173622009-06-16 Pavel Roskin <proski@gnu.org>
17363
17364 * configure.ac: Avoid '==' in test command, it's not portable.
17365
9c6f4596 173662009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17367
17368 Probe command
17369
17370 * commands/probe.c: new file
17371 * conf/common.rmk (pkglib_MODULES): add probe.mod
17372 (probe_mod_SOURCES): new variable
17373 (probe_mod_CFLAGS): likewise
17374 (probe_mod_LDFLAGS): likewise
17375 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17376 * conf/i386-ieee1275.rmk: likewise
17377 * conf/i386-pc.rmk: likewise
17378 * conf/powerpc-ieee1275.rmk: likewise
17379 * conf/sparc64-ieee1275.rmk: likewise
17380
70b7f9fd 173812009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
17382
17383 Fix handling of string like \"hello\" and "a
17384 b"
17385
17386 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
17387 (grub_script_yylex): fix parsing of quoting, escaping and newline
17388
71c79a6b 173892009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
17390
dd74360c 17391 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 17392 handling
dd74360c 17393
0644f96c 173942009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 17395
17396 * util/grub-mkconfig.in: Fix parsing of --output option.
17397
e40893c3 173982009-06-12 Pavel Roskin <proski@gnu.org>
17399
17400 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
17401 genmk.rb don't need to be generated or installed.
17402
3a1acfe2 174032009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17404
17405 * commands/i386/pc/drivemap_int13h.S: add more comments
17406
3a4575d4 174072009-06-11 Pavel Roskin <proski@gnu.org>
17408
0658e928 17409 * Makefile.in (uninstall): Uninstall manuals.
17410
ca0388f0 17411 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
17412 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
17413 and update-grub_lib in two places.
17414 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
17415
e3b27c39 17416 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
17417 a compiler warning.
17418
3a4575d4 17419 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
17420 `entry_lo' to fix variable shadowing.
17421
af1f4f55 174222009-06-11 Christian Franke <franke@computer.org>
17423
17424 * kern/misc.c (__enable_execute_stack): Add missing return type
17425 to prevent gcc warning.
17426
5225e649 174272009-06-11 Felix Zielcke <fzielcke@z-51.de>
17428
17429 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
17430
7d83bd47 174312009-06-11 Pavel Roskin <proski@gnu.org>
17432
c1cb63ba 17433 * Makefile.in: Don't rely on any scripts being executable.
17434 Always use $(SHELL) to run shell scripts.
17435
7d83bd47 17436 * configure.ac: Always define ___main if using -nostdlib. This
17437 fixes tests on Cygwin.
17438
948f48e7 174392009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
17440
17441 UDF fix
17442
7d83bd47 17443 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 17444 is in bytes and not in blocks
7d83bd47 17445
8ada9bc1 174462009-06-11 Pavel Roskin <proski@gnu.org>
17447
17448 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
17449 warning.
17450
25ad2323 174512009-06-11 Felix Zielcke <fzielcke@z-51.de>
17452
17453 * util/grub.d/30_os-prober.in: Fix a comment. Source
17454 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
17455 to set the root device. Place drivemap command in the generated
17456 chain entry.
17457
e65acb0c 174582009-06-11 Pavel Roskin <proski@gnu.org>
17459
17460 * configure.ac: Remove host_m32. Issues with 64-bit utilities
17461 have long been resolved.
17462
f285fe2d 174632009-06-11 Colin Watson <cjwatson@ubuntu.com>
17464
bd47b0b5 17465 * util/grub.d/10_linux.in: Capitalise "Linux".
17466
f285fe2d 17467 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
17468
a0c62e4e 174692009-06-11 Pavel Roskin <proski@gnu.org>
17470
b6783cb2 17471 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
17472 fix a gcc warning and ensure that the function won't ever exit.
17473
dde032e8 17474 * kern/i386/ieee1275/init.c: Add missing prototype for
17475 grub_stop_floppy().
17476
22cd079d 17477 * loader/ieee1275/multiboot2.c [__i386__]: Include
17478 grub/cpu/multiboot.h.
17479
a0c62e4e 17480 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
17481 casts to short - they are not portable and cause warnings. Fix
17482 use of uninitialized values in input_buf. Use ARRAY_SIZE.
17483
63963d17 174842009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
17485
17486 Drivemap fixes
17487
17488 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
17489 new function
17490 (grub_get_root_biosnumber_saved): new variable
17491 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
17492 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 17493 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 17494 %dx after the call if necessary
17495 * conf/common.rmk (pkglib_MODULES): remove boot.mod
17496 (boot_mod_SOURCES): remove
17497 (boot_mod_CFLAGS): remove
17498 (boot_mod_LDFLAGS): remove
17499 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
17500 (boot_mod_SOURCES): new variable
17501 (boot_mod_CFLAGS): likewise
17502 (boot_mod_LDFLAGS): likewise
17503 * conf/i386-efi.rmk: likewise
17504 * conf/i386-ieee1275.rmk: likewise
17505 * conf/i386-pc.rmk: likewise
17506 * conf/powerpc-ieee1275.rmk: likewise
17507 * conf/sparc64-ieee1275.rmk: likewise
17508 * conf/x86_64-efi.rmk: likewise
17509 * include/grub/i386/pc/biosnum.h: new file
17510 * lib/i386/pc/biosnum.c: likewise
17511 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
17512 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
17513 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 17514
33abf7ae 175152009-06-10 Pavel Roskin <proski@gnu.org>
17516
5ac35b35 17517 * io/gzio.c (test_header): Don't reuse one buffer for all data.
17518 Use separate variables. Read only the file size at the end, but
17519 not the checksum that we don't use.
17520
5c5215d5 17521 * kern/file.c (grub_file_read): Use void pointer for the buffer.
17522 Adjust all callers.
17523
27d5fef7 17524 * kern/ieee1275/openfw.c: Remove libc includes.
17525 * kern/ieee1275/cmain.c: Likewise.
17526 * include/grub/ieee1275/ieee1275.h: Likewise.
17527
33abf7ae 17528 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
17529 compiler warnings.
17530
19d50c2b 175312009-06-10 Felix Zielcke <fzielcke@z-51.de>
17532
17533 * Makefile.in: Remove all trailing whitespace.
17534 * conf/i386-pc.rmk: Likewise.
17535 * conf/powerpc-ieee1275.rmk: Likewise.
17536 * conf/sparc64-ieee1275.rmk: Likewise.
17537 * docs/grub.texi: Likewise.
17538 * docs/texinfo.tex: Likewise.
17539 * disk/fs_uuid.c: Likewise.
17540 * disk/lvm.c: Likewise.
17541 * disk/scsi.c: Likewise.
17542 * disk/ata.c: Likewise.
17543 * disk/ieee1275/ofdisk.c: Likewise.
17544 * disk/i386/pc/biosdisk.c: Likewise.
17545 * disk/host.c: Likewise.
17546 * disk/raid.c: Likewise.
17547 * disk/efi/efidisk.c: Likewise.
17548 * disk/usbms.c: Likewise.
17549 * disk/memdisk.c: Likewise.
17550 * disk/loopback.c: Likewise.
17551 * kern/powerpc/dl.c: Likewise.
17552 * kern/device.c: Likewise.
17553 * kern/dl.c: Likewise.
17554 * kern/sparc64/dl.c: Likewise.
17555 * kern/ieee1275/ieee1275.c: Likewise.
17556 * kern/term.c: Likewise.
17557 * kern/fs.c: Likewise.
17558 * kern/i386/dl.c: Likewise.
17559 * kern/i386/pc/startup.S: Likewise.
17560 * kern/i386/pc/init.c: Likewise.
17561 * kern/i386/pc/mmap.c: Likewise.
17562 * kern/i386/pc/lzo1x.S: Likewise.
17563 * kern/i386/ieee1275/init.c: Likewise.
17564 * kern/i386/realmode.S: Likewise.
17565 * kern/i386/tsc.c: Likewise.
17566 * kern/partition.c: Likewise.
17567 * kern/corecmd.c: Likewise.
17568 * kern/file.c: Likewise.
17569 * kern/efi/efi.c: Likewise.
17570 * kern/efi/init.c: Likewise.
17571 * kern/efi/mm.c: Likewise.
17572 * kern/main.c: Likewise.
17573 * kern/err.c: Likewise.
17574 * kern/env.c: Likewise.
17575 * kern/disk.c: Likewise.
17576 * kern/generic/millisleep.c: Likewise.
17577 * kern/generic/rtc_get_time_ms.c: Likewise.
17578 * kern/misc.c: Likewise.
17579 * kern/parser.c: Likewise.
17580 * genmk.rb: Likewise.
17581 * configure.ac: Likewise.
17582 * boot/i386/pc/diskboot.S: Likewise.
17583 * boot/i386/pc/pxeboot.S: Likewise.
17584 * boot/i386/pc/boot.S: Likewise.
17585 * boot/i386/pc/lnxboot.S: Likewise.
17586 * boot/i386/pc/cdboot.S: Likewise.
17587 * parttool/pcpart.c: Likewise.
17588 * video/readers/tga.c: Likewise.
17589 * video/video.c: Likewise.
17590 * video/bitmap.c: Likewise.
17591 * lib/envblk.c: Likewise.
17592 * lib/i386/setjmp.S: Likewise.
17593 * fs/xfs.c: Likewise.
17594 * fs/afs.c: Likewise.
17595 * fs/fat.c: Likewise.
17596 * fs/ntfs.c: Likewise.
17597 * fs/udf.c: Likewise.
17598 * fs/affs.c: Likewise.
17599 * fs/iso9660.c: Likewise.
17600 * fs/hfs.c: Likewise.
17601 * fs/fshelp.c: Likewise.
17602 * fs/ext2.c: Likewise.
17603 * fs/jfs.c: Likewise.
17604 * fs/reiserfs.c: Likewise.
17605 * fs/hfsplus.c: Likewise.
17606 * fs/minix.c: Likewise.
17607 * fs/cpio.c: Likewise.
17608 * fs/sfs.c: Likewise.
17609 * fs/ufs.c: Likewise.
17610 * efiemu/prepare.c: Likewise.
17611 * efiemu/loadcore_common.c: Likewise.
17612 * efiemu/runtime/efiemu.sh: Likewise.
17613 * efiemu/runtime/efiemu.S: Likewise.
17614 * efiemu/runtime/efiemu.c: Likewise.
17615 * efiemu/pnvram.c: Likewise.
17616 * efiemu/main.c: Likewise.
17617 * efiemu/i386/pc/cfgtables.c: Likewise.
17618 * efiemu/i386/loadcore64.c: Likewise.
17619 * efiemu/i386/loadcore32.c: Likewise.
17620 * efiemu/loadcore.c: Likewise.
17621 * efiemu/symbols.c: Likewise.
17622 * efiemu/mm.c: Likewise.
17623 * include/grub/autoefi.h: Likewise.
17624 * include/grub/datetime.h: Likewise.
17625 * include/grub/term.h: Likewise.
17626 * include/grub/hfs.h: Likewise.
17627 * include/grub/lvm.h: Likewise.
17628 * include/grub/i386/tsc.h: Likewise.
17629 * include/grub/i386/linux.h: Likewise.
17630 * include/grub/i386/xnu.h: Likewise.
17631 * include/grub/i386/efiemu.h: Likewise.
17632 * include/grub/i386/pc/biosdisk.h: Likewise.
17633 * include/grub/i386/pc/memory.h: Likewise.
17634 * include/grub/i386/pc/vbe.h: Likewise.
17635 * include/grub/parttool.h: Likewise.
17636 * include/grub/video.h: Likewise.
17637 * include/grub/memory.h: Likewise.
17638 * include/grub/fs.h: Likewise.
17639 * include/grub/partition.h: Likewise.
17640 * include/grub/xnu.h: Likewise.
17641 * include/grub/efi/api.h: Likewise.
17642 * include/grub/efi/pe32.h: Likewise.
17643 * include/grub/efi/memory.h: Likewise.
17644 * include/grub/multiboot.h: Likewise.
17645 * include/grub/usbdesc.h: Likewise.
17646 * include/grub/multiboot2.h: Likewise.
17647 * include/grub/acpi.h: Likewise.
17648 * include/grub/efiemu/efiemu.h: Likewise.
17649 * include/grub/disk.h: Likewise.
17650 * include/grub/ieee1275/ieee1275.h: Likewise.
17651 * include/grub/net.h: Likewise.
17652 * include/grub/machoload.h: Likewise.
17653 * include/grub/macho.h: Likewise.
17654 * include/multiboot.h: Likewise.
17655 * genmoddep.awk: Likewise.
17656 * normal/main.c: Likewise.
17657 * normal/menu_entry.c: Likewise.
17658 * normal/menu_viewer.c: Likewise.
17659 * normal/completion.c: Likewise.
17660 * normal/cmdline.c: Likewise.
17661 * normal/misc.c: Likewise.
17662 * normal/datetime.c: Likewise.
17663 * bus/usb/usbtrans.c: Likewise.
17664 * bus/usb/ohci.c: Likewise.
17665 * bus/usb/uhci.c: Likewise.
17666 * bus/usb/usb.c: Likewise.
17667 * mmap/efi/mmap.c: Likewise.
17668 * mmap/i386/pc/mmap_helper.S: Likewise.
17669 * mmap/i386/pc/mmap.c: Likewise.
17670 * mmap/i386/mmap.c: Likewise.
17671 * mmap/i386/uppermem.c: Likewise.
17672 * mmap/mmap.c: Likewise.
17673 * commands/acpi.c: Likewise.
17674 * commands/echo.c: Likewise.
17675 * commands/blocklist.c: Likewise.
17676 * commands/loadenv.c: Likewise.
17677 * commands/usbtest.c: Likewise.
17678 * commands/boot.c: Likewise.
17679 * commands/parttool.c: Likewise.
17680 * commands/search.c: Likewise.
17681 * commands/cat.c: Likewise.
17682 * commands/i386/pc/play.c: Likewise.
17683 * commands/i386/pc/drivemap.c: Likewise.
17684 * commands/i386/pc/vbeinfo.c: Likewise.
17685 * commands/i386/pc/acpi.c: Likewise.
17686 * commands/i386/pc/vbetest.c: Likewise.
17687 * commands/ls.c: Likewise.
17688 * commands/cmp.c: Likewise.
17689 * commands/test.c: Likewise.
17690 * commands/efi/acpi.c: Likewise.
17691 * commands/gptsync.c: Likewise.
17692 * commands/help.c: Likewise.
17693 * partmap/amiga.c: Likewise.
17694 * partmap/apple.c: Likewise.
17695 * partmap/acorn.c: Likewise.
17696 * partmap/pc.c: Likewise.
17697 * partmap/sun.c: Likewise.
17698 * partmap/gpt.c: Likewise.
17699 * script/sh/lexer.c: Likewise.
17700 * script/sh/function.c: Likewise.
17701 * font/font.c: Likewise.
17702 * font/font_cmd.c: Likewise.
17703 * loader/powerpc/ieee1275/linux.c: Likewise.
17704 * loader/efi/chainloader.c: Likewise.
17705 * loader/multiboot_loader.c: Likewise.
17706 * loader/macho.c: Likewise.
17707 * loader/i386/multiboot.c: Likewise.
17708 * loader/i386/linux.c: Likewise.
17709 * loader/i386/pc/linux.c: Likewise.
17710 * loader/i386/pc/multiboot2.c: Likewise.
17711 * loader/i386/pc/chainloader.c: Likewise.
17712 * loader/i386/pc/xnu.c: Likewise.
17713 * loader/i386/bsd_trampoline.S: Likewise.
17714 * loader/i386/efi/linux.c: Likewise.
17715 * loader/i386/multiboot_elfxx.c: Likewise.
17716 * loader/i386/bsd_helper.S: Likewise.
17717 * loader/i386/bsd.c: Likewise.
17718 * loader/i386/linux_trampoline.S: Likewise.
17719 * loader/i386/xnu_helper.S: Likewise.
17720 * loader/i386/xnu.c: Likewise.
17721 * loader/i386/bsd_pagetable.c: Likewise.
17722 * loader/i386/multiboot_helper.S: Likewise.
17723 * loader/xnu.c: Likewise.
17724 * loader/xnu_resume.c: Likewise.
17725 * io/gzio.c: Likewise.
17726 * term/efi/console.c: Likewise.
17727 * term/terminfo.c: Likewise.
17728 * term/ieee1275/ofconsole.c: Likewise.
17729 * term/i386/pc/serial.c: Likewise.
17730 * term/i386/pc/vesafb.c: Likewise.
17731 * term/i386/pc/vga.c: Likewise.
17732 * term/usb_keyboard.c: Likewise.
17733 * term/gfxterm.c: Likewise.
17734 * aclocal.m4: Likewise.
17735 * util/lvm.c: Likewise.
17736 * util/grub.d/30_os-prober.in: Likewise.
17737 * util/grub.d/10_hurd.in: Likewise.
17738 * util/console.c: Likewise.
17739 * util/grub-macho2img.c: Likewise.
17740 * util/grub-probe.c: Likewise.
17741 * util/hostfs.c: Likewise.
17742 * util/i386/pc/grub-mkimage.c: Likewise.
17743 * util/i386/pc/grub-setup.c: Likewise.
17744 * util/i386/efi/grub-mkimage.c: Likewise.
17745 * util/grub-mkconfig.in: Likewise.
17746 * util/raid.c: Likewise.
17747 * util/resolve.c: Likewise.
17748 * util/grub-mkdevicemap.c: Likewise.
17749 * util/grub-emu.c: Likewise.
17750 * util/getroot.c: Likewise.
17751 * util/hostdisk.c: Likewise.
17752 * util/usb.c: Likewise.
17753 * util/grub-editenv.c: Likewise.
17754 * util/misc.c: Likewise.
17755
d2d49665 177562009-06-10 Felix Zielcke <fzielcke@z-51.de>
17757
17758 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
17759 `genparttoollist.sh'.
17760 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
17761 Add `*.sh' to the list find searches for and change `mdate.sh'
17762 to `mdate-sh'.
17763
fe052e37 177642009-06-10 Pavel Roskin <proski@gnu.org>
17765
2763ac18 17766 * include/grub/multiboot2.h: Provide compatibility defines for
17767 multiboot2.h.
17768 * include/multiboot2.h: Include stdint.h only if needed, using
17769 angle brackets.
17770 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
17771 grub/multiboot2.h.
17772 * loader/ieee1275/multiboot2.c: Likewise.
17773 * loader/multiboot2.c: Likewise.
17774 * loader/multiboot_loader.c: Likewise.
17775
437e6adc 17776 * configure.ac: Use -nostdlib when probing for the target. It
17777 should not be required to have libc for the target.
17778
06a6836c 17779 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
17780 they fail without libc headers for the target.
17781 * include/grub/powerpc/libgcc.h: Use weak attribute for all
17782 exports.
17783 * include/grub/sparc64/libgcc.h: Likewise. Don't use
17784 preprocessor conditionals.
17785
fe052e37 17786 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
17787 build system doesn't need to be aware of the tar.c internals.
17788
afd22553 177892009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 17790
afd22553 17791 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 17792
6b787c4f 177932009-06-09 Robert Millan <rmh.grub@aybabtu.com>
17794
17795 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
17796 disk limit to 26 for IDE, Virtio, Xen and SCSI.
17797
177982009-06-09 Felix Zielcke <fzielcke@z-51.de>
17799
17800 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 17801 aren't available if ata.mod gets used.
6b787c4f 17802
473d1e45 178032009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 17804
473d1e45 17805 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 17806 initialising controller.
473d1e45 17807 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 17808
255a27d4 178092009-06-08 Felix Zielcke <fzielcke@z-51.de>
17810
17811 * util/i386/pc/grub-install.in: Add a parameter --disk-module
17812 to choose between ata and biosdisk module on i386-pc.
17813
473d1e45 178142009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 17815
d55842d8 17816 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
17817 Subclass and Programming Interface fields in terms of the 3 byte
17818 Class Code register.
17819 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17820
fa5db0b1 17821 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
17822 interface is OHCI. Add grub_dprintf for symmetry with
17823 bus/usb/uhci.c.
17824 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
17825 interface is UHCI. Add interf variable for programming
17826 interface. Print interface with class/subclass.
17827
c0947beb 17828 * bus/usb/ohci.c: Set interf with correct field.
17829
69da8877 17830 * bus/usb/uhci.c: Remove unneeded doubled lines.
17831 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
17832 Remove whitespace inside comment.
17833
9e172e30 178342009-06-08 Robert Millan <rmh.grub@aybabtu.com>
17835
17836 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
17837 as fallback an equivalent option without depth.
17838
de65ee2b 178392009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17840
17841 Not fail if unable to retrieve C/H/S on LBA disks
17842
473d1e45 17843 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 17844 if unable to retrieve C/H/S on LBA disks
17845
b57ea2c9 178462009-06-08 Pavel Roskin <proski@gnu.org>
17847
17848 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
17849 about aliasing.
17850
af361263 178512009-06-08 Felix Zielcke <fzielcke@z-51.de>
17852
17853 * Makefile.in (uninstall): Remove all $lib_DATA files.
17854
4c9ec6b3 178552009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17856
17857 Bugfix: install on partitionless device
17858
17859 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
17860 is a whole disk
17861
e76fc924 178622009-06-08 Felix Zielcke <fzielcke@z-51.de>
17863
17864 * Makefile.in (uninstall): Remove all $include_DATA files.
17865
ba5a0d05 178662009-06-08 Felix Zielcke <fzielcke@z-51.de>
17867
17868 * commands/true.c: New file. Implement the true and false commands.
17869 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
17870 (true_mod_SOURCES): New variable.
17871 (true_mod_CFLAGS): Likewise.
17872 (true_mod_LDFLAGS): Likewise.
17873
c8048e32 178742009-06-05 Colin D Bennett <colin@gibibit.com>
17875
17876 Optimized font character lookup using binary search instead of linear
17877 search. Fonts now are required to have the character index ordered by
17878 code point.
17879
17880 * font/font.c (load_font_index): Verify that fonts have ordered
17881 character indices.
17882 (find_glyph): Use binary search instead of linear search to find a
17883 character in a font.
17884
408305be 178852009-06-05 Michael Scherer <misc@mandriva.org>
17886
17887 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
17888 uses case sensitive btree.
17889 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
17890 only for case insensitive filesystems.
17891
8ee1e0d9 178922009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
17893
17894 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
17895 * conf/common.rmk (search_mod_CFLAGS): likewise
17896
a9966eb1 178972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17898
473d1e45 17899 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 17900 compensate a compiler bug
17901
9e7100fb 179022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17903
473d1e45 17904 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 17905 instead of '\b'
473d1e45 17906
ede21d71 179072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17908
17909 Definitions for creating asm symbols with Apple's CC
17910
17911 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
17912 [APPLE_CC] (VARIABLE): likewise
17913
9dbf7653 179142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17915
17916 Disable lnxboot.img when compiled
17917 with Apple's CC
17918
17919 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
17920 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
17921 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
17922 [! APPLE_CC] (CODE_LENG): skip
17923 [! APPLE_CC] (setup_sects): likewise
17924 [! APPLE_CC]: skip filling
473d1e45 17925
e93cdc3d 179262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17927
17928 Address in trampolines based on 32-bit registers when compiled
17929 with Apple's CC
17930
473d1e45 17931 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 17932 for addresses
17933 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
17934
6c688477 179352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17936
17937 Avoid aliases when compiling with Apple's CC for PCBIOS machine
17938
17939 * kern/misc.c [APPLE_CC] (memcpy): new function
17940 [APPLE_CC] (memmove): likewise
17941 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 17942 (memcpy): define alias conditionally on !APPLE_CC
6c688477 17943 (memset): likewise
17944 (abort): likewise
17945 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
17946 APPLE_CC are defined
17947 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
17948 (grub_assert_fail): make prototype conditional
17949
e37ffc5c 179502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17951
17952 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
17953
473d1e45 17954 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
17955 grub-macho2img
e37ffc5c 17956 (CLEANFILES): add grub-macho2img
17957 (grub_macho2img_SOURCES): new variable
17958 * kern/i386/pc/startup.S (bss_start): new variable
17959 (bss_end): likewise
17960 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
17961 * util/grub-macho2img.c: new file
17962
cf00df31 179632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17964
17965 Use objconv when compiling with Apple's CC
17966
17967 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
17968 (efiemu64.o): likewise
17969 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
17970 when compiling with Apple's CC
17971 (efiemu64_s.o): likewise
17972 * configure.ac: check for objconv when compiling with Apple's CC
17973 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 17974
d119a20c 179752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17976
17977 Define segment as well as section when compiling with
17978 Apple's CC
17979
17980 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
17981 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
17982 (efiemu_convert_pointer): likewise
17983 (efiemu_set_virtual_address_map): likewise
17984 (efiemu_convert_pointer): likewise
17985 (efiemu_getcrc32): likewise
17986 (init_crc32_table): likewise
17987 (reflect): likewise
17988 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
17989 (GRUB_MOD_DEP): likewise
473d1e45 17990
c8600122 179912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 Allow a compilation without -mcmodel=large
17994
17995 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
17996 when compiled without -mcmodel=large
473d1e45 17997 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 17998 without -mcmodel=large
473d1e45 17999 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 18000 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 18001
e8df1d4e 180022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18003
18004 Remove nested functions in efiemu core
18005
18006 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 18007
cc6c3ac1 180082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18009
18010 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
18011
18012 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
18013 temporary storage
473d1e45 18014 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
18015 using Apple's CC
cc6c3ac1 18016 (grub_cpu_is_tsc_supported): likewise
18017 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 18018
3e325901 180192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18020
18021 Absolute addressing through constant with Apple's cc
18022
18023 * kern/i386/pc/startup.S: Define necessary constants
18024 and address through it when using ABS with Apple's CC
18025 * boot/i386/pc/diskboot.S: likewise
18026 * boot/i386/pc/boot.S: likewise
18027 * boot/i386/pc/lnxboot.S: likewise
18028 * boot/i386/pc/cdboot.S: likewise
18029 * mmap/i386/pc/mmap_helper.S: likewise
18030 * commands/i386/pc/drivemap_int13h.S: likewise
18031
2b167a72 180322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 Check if compiler is apple cc
18035
18036 * Makefile.in (ASFLAGS): new variable
18037 (TARGET_ASFLAGS): likewise
18038 (TARGET_MODULE_FORMAT): likewise
18039 (TARGET_APPLE_CC): likewise
18040 (OBJCONV): likewise
18041 (TARGET_IMG_CFLAGS): likewise
18042 (TARGET_CPPFLAGS): add includedir
18043 * configure.ac: call grub_apple_cc and grub_apple_target_cc
18044 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
18045 Check for linker script only if compiler isn't Apple's CC
18046 (TARGET_MODULE_FORMAT): set
18047 (TARGET_APPLE_CC): likewise
18048 (TARGET_ASFLAGS): likewise
18049 (ASFLAGS): likewise
18050 Check for objcopy only if compiler isn't Apple's CC
18051 Check for BSS symbol only if compiler isn't Apple's CC
18052 * genmk.rb: adapt nm options if we use Apple's utils
18053 * aclocal.m4 (grub_apple_cc): new test
18054 (grub_apple_target_cc): likewise
473d1e45 18055
fb14123e 180562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 Simplify sed expressions and improve awk
18059
18060 * Makefile.in (install-local): simplify sed expression
18061 * gencmdlist.sh: likewise
18062 * genmoddep.awk: avoid adding module as a dependency of itself
18063
5b889789 180642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18065
18066 Add missing start symbols
18067
18068 * boot/i386/pc/boot.S: add start
fb14123e 18069 * boot/i386/pc/pxeboot.S: likewise
473d1e45 18070
fd2bf2e3 180712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18072
18073 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 18074
18075 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 18076 (relocate_addresses): consider both r_addend and value at offset
18077 (make_mods_section): zerofill modinfo and header
18078 (convert_elf): write prefix here
473d1e45 18079
5389763d 180802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18081
18082 Use .asciz instead of .string
18083
18084 * i386/pc/diskboot.S: use .asciz instead of .string
18085 * i386/pc/boot.S: likewise
18086 * include/grub/dl.h (GRUB_MOD_DEP): likewise
18087 (GRUB_MOD_NAME): likewise
473d1e45 18088
3eb5ed4e 180892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18090
18091 gfxpayload support
18092
18093 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
18094 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
18095 (grub_video_setup): remove
18096 (grub_video_set_mode): new prototype
18097 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
18098 (vid_mode): remove
18099 (linux_vesafb_res): compile only on PCBIOS
18100 (grub_linux_boot): support gfxpayload
18101 * loader/i386/pc/xnu.c (video_hook): new function
18102 (grub_xnu_set_video): support gfxpayload
18103 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
18104 (DEFAULT_VIDEO_HEIGHT): likewise
18105 (DEFAULT_VIDEO_FLAGS): likewise
18106 (DEFAULT_VIDEO_MODE): new definition
18107 (video_hook): new function
18108 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 18109 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 18110 loading xnu
18111 * video/video.c (grub_video_setup): removed
473d1e45 18112 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 18113 grub_video_setup
18114
4b0e1143 181152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18116
18117 Avoid calling biosdisk in drivemap
18118
18119 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
18120 (revparse_biosdisk): likewise
18121 (list_mappings): derive name from id directly
18122 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 18123
fda6cb98 181242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18125
18126 Script fixes
18127
18128 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
18129 (grub_lexer_param): add tokenonhold
18130 (grub_script_create_cmdline): remove cmdline. All callers updated
18131 (grub_script_function_create): make functionname
18132 grub_script_arg. All callers updated
18133 (grub_script_execute_argument_to_string): new prototype
18134 * kern/parser.c (state_transitions): reorder
18135 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 18136 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 18137 make global
18138 (grub_script_execute_cmdline): use new format
18139 * script/sh/function.c (grub_script_function_create): make functionname
18140 grub_script_arg. All callers updated
473d1e45 18141 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 18142 (grub_script_yylex): remove
18143 (grub_script_yylex2): renamed to ...
18144 (grub_script_yylex): ...renamed
18145 parse the expressions like a${b}c
18146 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
18147 (GRUB_PARSER_TOKEN_VAR): remove
18148 (GRUB_PARSER_TOKEN_NAME): likewise
18149 ("if"): declare as typeless
18150 ("while"): likewise
18151 ("function"): likewise
18152 ("else"): likewise
18153 ("then"): likewise
18154 ("fi"): likewise
18155 (text): remove
18156 (argument): likewise
18157 (script): accept empty scripts and make exit on error
18158 (arguments): use GRUB_PARSER_TOKEN_ARG
18159 (function): likewise
18160 (command): move error handling to script
18161 (menuentry): move grub_script_lexer_ref before
473d1e45 18162 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 18163 argument. All callers updated
18164
f4448a07 181652009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18166
18167 Prevent GRUB from probing floppies during boot.
18168
18169 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
18170 * commands/search.c (options): Add --no-floppy.
18171 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
18172 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
18173 --no-floppy when searching for UUIDs.
18174
2bf5885a 181752009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18176
18177 Simplify the code duplication in commands/search.c.
18178
18179 * commands/search.c (search_label, search_fs_uuid): Merge into ...
18180 (search_fs): ... this. Update all users.
18181
f6fd460a 181822009-06-03 Felix Zielcke <fzielcke@z-51.de>
18183
18184 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
18185
cbb3c83e 181862009-05-28 Pavel Roskin <proski@gnu.org>
18187
57788cfd 18188 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
18189 Remove the original symlink explicitly.
18190
cbb3c83e 18191 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
18192 just one slash. That's how grub_fshelp_find_file() does it.
18193
cd0d5e30 181942009-05-26 Pavel Roskin <proski@gnu.org>
18195
f0f8bbe2 18196 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
18197 to `str'.
18198
cd0d5e30 18199 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
18200 possibly unused.
18201
8c2cab51 182022009-05-25 Christian Franke <franke@computer.org>
18203
18204 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
18205 register.
18206 (grub_atapi_identify): Add wait after drive select.
18207 (grub_ata_identify): Do more strict status register check before
18208 calling grub_atapi_identify (). Suppress error message if status
18209 register is 0x00 after command failure. Add status register
18210 check after PIO read to avoid bogus identify due to stuck DRQ.
18211 Thanks to Pavel Roskin for testing.
18212 (grub_device_initialize): Remove unsafe status register check.
18213 Thanks to 'phcoder' for problem report and patch.
18214 Prevent sign extension in debug message.
18215
230c0ad6 182162009-05-23 Colin D Bennett <colin@gibibit.com>
18217
18218 Cleaned up `include/grub/normal.h'. Grouped prototypes by
18219 definition file, and functions defined in `normal/menu.c' have had
18220 their prototypes moved to `include/grub/menu.h' for consistency.
18221
18222 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
18223 from normal.h.
18224 (grub_menu_get_entry): Likewise.
18225 (grub_menu_get_timeout): Likewise.
18226 (grub_menu_set_timeout): Likewise.
18227 (grub_menu_execute_entry): Likewise.
18228 (grub_menu_execute_with_fallback): Likewise.
18229 (grub_menu_entry_run): Likewise.
18230
18231 * include/grub/normal.h: Re-ordered and grouped function
18232 prototypes by file that the function is defined in.
18233 (grub_menu_execute_callback): Removed; moved to menu.h.
18234 (grub_menu_get_entry): Likewise.
18235 (grub_menu_get_timeout): Likewise.
18236 (grub_menu_set_timeout): Likewise.
18237 (grub_menu_execute_entry): Likewise.
18238 (grub_menu_execute_with_fallback): Likewise.
18239 (grub_menu_entry_run): Likewise.
18240 (grub_menu_addentry): Renamed from this ...
18241 (grub_normal_add_menu_entry): ... to this.
18242
18243 * normal/main.c (grub_menu_addentry): Renamed from this ...
18244 (grub_normal_add_menu_entry): ... to this.
18245
18246 * script/sh/execute.c (grub_script_execute_menuentry): Update
18247 reference to renamed grub_menu_addentry function.
18248
861f03a5 182492009-05-23 Felix Zielcke <fzielcke@z-51.de>
18250
18251 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
18252
96b1619a 182532009-05-22 Pavel Roskin <proski@gnu.org>
18254
bf6a5fb2 18255 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
18256 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
18257 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
18258 compiling for the i386 targets, but not for the utilities.
18259
96b1619a 18260 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
18261 to grub_uint8_t.
18262 (grub_root_drive): Likewise.
18263 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
18264 remove alignment.
18265 (grub_root_drive): Change size to byte.
18266 (grub_start_addr): Remove.
18267 (grub_end_addr): Likewise.
18268 (grub_apm_bios_info): Likewise.
18269
b729776b 182702009-05-21 Felix Zielcke <fzielcke@z-51.de>
18271
18272 * normal/i386: Remove.
18273 * normal/powerpc: Likewise.
18274 * normal/sparc64: Likewise.
18275 * normal/x86_64: Likewise.
18276
0a15ce80 182772009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18278
18279 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 18280 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 18281 * loader/i386/xnu_helper.S: Likewise
d6da58e6 18282
33db9015 182832009-05-18 Colin D Bennett <colin@gibibit.com>
18284
d6da58e6 18285 Display error messages when parsing a Lua statement fails.
18286 Previously, executing a syntactically invalid statement like
18287 ")foo" or "bar;" would silently fail.
33db9015 18288
18289 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 18290 (grub_lua_parse_line): Improved reporting of Lua parser and
18291 execution errors.
33db9015 18292
46422c89 182932009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18294
18295 Remove -Werror which causes build to fail on some systems
18296
18297 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
18298 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
18299 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 18300
22f53a96 183012009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18302
18303 trampoline for linux on 64-bit platform
18304
18f547ad 18305 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
18306 loader/i386/efi/linux_trampoline.S
18307 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 18308 declaration
d6da58e6 18309 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
18310 here
22f53a96 18311 * loader/i386/linux_trampoline.S: moved here
d6da58e6 18312 * loader/i386/efi/linux.c (allocate_pages): reserve space for
18313 trampoline
22f53a96 18314 (jumpvector): removed
18315 (grub_linux_trampoline_start): new declaration
18316 (grub_linux_trampoline_end): likewise
18317 (grub_linux_boot): use trampoline when on 64-bit platform
18318 * loader/i386/linux.c: likewise
18319
cb5a0f40 183202009-05-16 Pavel Roskin <proski@gnu.org>
18321
18322 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
18323 const to avoid a warning.
18324 (grub_lua_setenv): Likewise.
18325 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
18326 lmsg to fix a warning.
18327
334f2c28 183282009-05-16 Felix Zielcke <fzielcke@z-51.de>
18329
18330 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 18331 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18332 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
18333 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18334 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18335 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18336 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18337 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 18338
59e5d3ec 183392009-05-16 Felix Zielcke <fzielcke@z-51.de>
18340
18341 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
18342
9d87a1ba 183432009-05-16 Bean <bean123ch@gmail.com>
18344
18345 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
18346 (lua_mod_SOURCES): New variable.
18347 (lua_mod_CFLAGS): Likewise.
18348 (lua_mod_LDFLAGS): Likewise.
18349
18350 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
18351 (setjmp_mod_SOURCES): New variable.
18352 (setjmp_mod_CFLAGS): Likewise.
18353 (setjmp_LDFLAGS): Likewise.
18354
18355 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
18356 (setjmp_mod_SOURCES): New variable.
18357 (setjmp_mod_CFLAGS): Likewise.
18358 (setjmp_LDFLAGS): Likewise.
18359
18360 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18361 (setjmp_mod_SOURCES): New variable.
18362 (setjmp_mod_CFLAGS): Likewise.
18363 (setjmp_LDFLAGS): Likewise.
18364
18365 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18366 (setjmp_mod_SOURCES): New variable.
18367 (setjmp_mod_CFLAGS): Likewise.
18368 (setjmp_LDFLAGS): Likewise.
18369
18370 * normal/i386/setjmp.S: Moved from here ...
18371 * lib/i386/setjmp.S: ... Moved here
18372 * normal/x86_64/setjmp.S: Moved from here ...
18373 * lib/x86_64/setjmp.S: ... Moved here
18374 * normal/powerpc/setjmp.S: Moved from here ...
18375 * lib/powerpc/setjmp.S: ... Moved here
18376 * normal/sparc64/setjmp.S: Moved from here ...
18377 * lib/sparc64/setjmp.S: ... Moved here
18378
18379 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
18380 returns_twice in mingw.
18381
18382 * script/lua/grub_lib.c: New file.
18383 * script/lua/grub_lib.h: Likewise.
18384 * script/lua/grub_lua.h: Likewise.
18385 * script/lua/grub_main.c: Likewise.
18386 * script/lua/lapi.c: Likewise.
18387 * script/lua/lapi.h: Likewise.
18388 * script/lua/lauxlib.c: Likewise.
18389 * script/lua/lauxlib.h: Likewise.
18390 * script/lua/lbaselib.c: Likewise.
18391 * script/lua/lcode.c: Likewise.
18392 * script/lua/lcode.h: Likewise.
18393 * script/lua/ldblib.c: Likewise.
18394 * script/lua/ldebug.c: Likewise.
18395 * script/lua/ldebug.h: Likewise.
18396 * script/lua/ldo.c: Likewise.
18397 * script/lua/ldo.h: Likewise.
18398 * script/lua/ldump.c: Likewise.
18399 * script/lua/lfunc.c: Likewise.
18400 * script/lua/lfunc.h: Likewise.
18401 * script/lua/lgc.c: Likewise.
18402 * script/lua/lgc.h: Likewise.
18403 * script/lua/linit.c: Likewise.
18404 * script/lua/liolib.c: Likewise.
18405 * script/lua/llex.c: Likewise.
18406 * script/lua/llex.h: Likewise.
18407 * script/lua/llimits.h: Likewise.
18408 * script/lua/lmathlib.c: Likewise.
18409 * script/lua/lmem.c: Likewise.
18410 * script/lua/lmem.h: Likewise.
18411 * script/lua/loadlib.c: Likewise.
18412 * script/lua/lobject.c: Likewise.
18413 * script/lua/lobject.h: Likewise.
18414 * script/lua/lopcodes.c: Likewise.
18415 * script/lua/lopcodes.h: Likewise.
18416 * script/lua/loslib.c: Likewise.
18417 * script/lua/lparser.c: Likewise.
18418 * script/lua/lparser.h: Likewise.
18419 * script/lua/lstate.c: Likewise.
18420 * script/lua/lstate.h: Likewise.
18421 * script/lua/lstring.c: Likewise.
18422 * script/lua/lstring.h: Likewise.
18423 * script/lua/lstrlib.c: Likewise.
18424 * script/lua/ltable.c: Likewise.
18425 * script/lua/ltable.h: Likewise.
18426 * script/lua/ltablib.c: Likewise.
18427 * script/lua/ltm.c: Likewise.
18428 * script/lua/ltm.h: Likewise.
18429 * script/lua/lua.h: Likewise.
18430 * script/lua/luaconf.h: Likewise.
18431 * script/lua/lualib.h: Likewise.
18432 * script/lua/lundump.c: Likewise.
18433 * script/lua/lundump.h: Likewise.
18434 * script/lua/lvm.c: Likewise.
18435 * script/lua/lvm.h: Likewise.
18436 * script/lua/lzio.c: Likewise.
18437 * script/lua/lzio.h: Likewise.
18438
5e898c9d 184392009-05-16 Bean <bean123ch@gmail.com>
18440
18441 * include/grub/kernel.h (grub_module_header_types): Add type
18442 OBJ_TYPE_CONFIG.
18443
18444 * kern/main.c (grub_load_config): New function.
18445 (grub_main): Call grub_load_config to read boot config.
18446
18447 * grub-mkimage (generate_image): New parameter config_path.
18448 (options): New option --config.
18449 (main): Parse --config option, and pass it to generate_image.
18450
cf353a47 184512009-05-14 Christian Franke <franke@computer.org>
18452
18453 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
18454 This fixes build on Cygwin.
18455
3834887f 184562009-05-14 Pavel Roskin <proski@gnu.org>
18457
18458 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
18459 jump. This saves two bytes, so the typical case of 2 swapped
18460 drives would fit 32 bytes.
18461
8090fc01 184622009-05-13 Pavel Roskin <proski@gnu.org>
18463
ac963883 18464 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
18465 grub_uint32_t to avoid a warning.
18466
8090fc01 18467 * loader/i386/linux.c (allocate_pages): When assigning
18468 real_mode_mem, cast through grub_size_t to fix a warning. The
18469 code already makes sure that the value would fit a pointer.
18470 (grub_linux_setup_video): Cast render_target->data to
18471 grub_size_t to fix a warning.
18472
18f547ad 184732009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 18474
18475 * commands/i386/pc/drivemap.c: New file - implement drivemap
18476 command.
18477 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
18478 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
18479
6f6a8b28 184802009-05-13 Pavel Roskin <proski@gnu.org>
18481
18482 * util/i386/pc/grub-setup.c (setup): Remove unused variable
18483 embedding_area_exists.
18484
15fbf4c4 184852009-05-13 Robert Millan <rmh.grub@aybabtu.com>
18486
18487 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
18488 it easier to understand / work with.
59978c8a 18489 Improve warning messages for cases where there's no embedding area,
18490 or when it is too small (or core.img too large).
15fbf4c4 18491
238e871f 184922009-05-13 Pavel Roskin <proski@gnu.org>
18493
0ab3a9a4 18494 * loader/i386/pc/multiboot2.c: Add necessary includes for
18495 grub_multiboot2_real_boot().
18496
a2c8c5f8 18497 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
18498 PX record is always little-endian. We only need the lower 2
18499 bytes of the mode.
18500
faec96af 18501 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
18502 facilitate code reuse.
18503 (grub_cpio_mount): Use "struct head", not a char buffer. This
18504 fixes a warning reported by gcc 4.4.
18505
238e871f 18506 * kernel/disk.c (grub_disk_read): Use void pointer for the
18507 buffer.
18508 (grub_disk_write): Use const void pointer for the buffer.
18509 Adjust all callers. Remove unnecessary casts.
18510
901d2f0c 185112009-05-10 Robert Millan <rmh.grub@aybabtu.com>
18512
18513 * util/i386/pc/grub-install.in: Update copyright year.
18514
18f547ad 185152009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 18516
18517 gptsync
18518
18519 * commands/gptsync.c: new file
18520 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
18521 (gptsync_mod_SOURCES): new variable
18522 (gptsync_mod_CFLAGS): likewise
18523 (gptsync_mod_LDFLAGS): likewise
18f547ad 18524 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 18525 new definition
18526 (GRUB_PC_PARTITION_TYPE_HFS): likewise
18527 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
18528 * conf/i386-ieee1275.rmk: likewise
18529 * conf/i386-pc.rmk: likewise
18530 * conf/powerpc-ieee1275.rmk: likewise
18531
b4ba690a 185322009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18533
18534 Fixed grub-emu
18535
18536 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
18537 (grub_dl_ref): likewise
18538
317e1a44 185392009-05-08 Robert Millan <rmh.grub@aybabtu.com>
18540
18541 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
18542 split in two functions (one for msdos and one for gpt).
18543
041b8094 185442009-05-08 Pavel Roskin <proski@gnu.org>
18545
752473c2 18546 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
18547 not modified.
18548
041b8094 18549 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
18550 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
18551 Initialize them with -1. Add sanity check for bad1. Eliminate
18552 nerr variable.
18553
172800ce 185542009-05-08 David S. Miller <davem@davemloft.net>
18555
18556 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
18557
29aa5e81 185582009-05-06 Robert Millan <rmh.grub@aybabtu.com>
18559
18560 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 18561 existence.
29aa5e81 18562
96613b62 185632009-05-05 Felix Zielcke <fzielcke@z-51.de>
18564
18565 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 18566 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 18567
eef73c8a 185682009-05-05 David S. Miller <davem@davemloft.net>
18569
18570 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
18571
119494b5 185722009-05-05 Pavel Roskin <proski@gnu.org>
18573
18574 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
18575 of grub_dl_ref() and grub_dl_unref().
18576 * commands/parttool.c: Remove preprocessor conditionals around
18577 grub_dl_ref() and grub_dl_unref().
18578 * fs/affs.c: Likewise.
18579 * fs/afs.c: Likewise.
18580 * fs/cpio.c: Likewise.
18581 * fs/ext2.c: Likewise.
18582 * fs/fat.c: Likewise.
18583 * fs/hfs.c: Likewise.
18584 * fs/hfsplus.c: Likewise.
18585 * fs/iso9660.c: Likewise.
18586 * fs/jfs.c: Likewise.
18587 * fs/minix.c: Likewise.
18588 * fs/ntfs.c: Likewise.
18589 * fs/reiserfs.c: Likewise.
18590 * fs/sfs.c: Likewise.
18591 * fs/udf.c: Likewise.
18592 * fs/ufs.c: Likewise.
18593 * fs/xfs.c: Likewise.
18594 * include/grub/dl.h: Likewise.
18595 * loader/xnu.c: Likewise.
18596
de5fd76e 185972009-05-04 Pavel Roskin <proski@gnu.org>
18598
18599 * commands/acpi.c: Remove unused variable my_mod.
18600 * partmap/amiga.c: Likewise.
18601 * partmap/apple.c: Likewise.
18602 * partmap/gpt.c: Likewise.
18603 * partmap/pc.c: Likewise.
18604 * partmap/sun.c: Likewise.
18605 * term/gfxterm.c: Likewise.
18606 * term/i386/pc/vesafb.c: Likewise.
18607 * term/i386/pc/vga.c: Likewise.
18608
983598ad 186092009-05-04 David S. Miller <davem@davemloft.net>
18610
18611 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
18612 pointer args to grub_ieee1275_get_property().
18613
8aadec43 18614 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
18615
9554b15e 18616 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
18617 devices, and do not traverse down under controller nodes.
18618
67e23c90 18619 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
18620 (grub_ofdisk_open): Use it to un-escape "," characters.
18621 * kern/disk.c (find_part_sep): New.
18622 (grub_disk_open): Use it to find the first non-escaped ','
18623 character in the disk name.
18624 * util/ieee1275/devicemap.c (escape_of_path): New.
18625 (grub_util_emit_devicemap_entry): Use it.
18626 * util/sparc64/ieee1275/grub-install.in: Update script to
18627 strip partition specifiers properly by not triggering on
18628 '\' escaped ',' characters.
18629
74bfdd2f 186302009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18631
18632 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
18633 to 0x300.
18634 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
18635 resolutions.
18636 (linux_vesafb_modes): Add a lot of additional modes to the list (based
18637 on documentation from Wikipedia).
18638
4241d2b1 186392009-05-04 Pavel Roskin <proski@gnu.org>
18640
18641 * disk/ata.c: Spelling fixes.
18642 * disk/raid.c: Likewise.
18643 * disk/usbms.c: Likewise.
18644 * disk/dmraid_nvidia.c: Likewise.
18645 * kern/ieee1275/openfw.c: Likewise.
18646 * kern/ieee1275/init.c: Likewise.
18647 * kern/ieee1275/cmain.c: Likewise.
18648 * boot/i386/pc/cdboot.S: Likewise.
18649 * video/readers/png.c: Likewise.
18650 * video/i386/pc/vbe.c: Likewise.
18651 * fs/udf.c: Likewise.
18652 * fs/hfs.c: Likewise.
18653 * fs/reiserfs.c: Likewise.
18654 * efiemu/runtime/efiemu.c: Likewise.
18655 * efiemu/main.c: Likewise.
18656 * efiemu/mm.c: Likewise.
18657 * include/grub/elf.h: Likewise.
18658 * include/grub/xnu.h: Likewise.
18659 * include/grub/usbdesc.h: Likewise.
18660 * include/grub/usb.h: Likewise.
18661 * include/grub/script_sh.h: Likewise.
18662 * include/grub/lib/LzmaEnc.h: Likewise.
18663 * include/grub/efiemu/efiemu.h: Likewise.
18664 * include/grub/command.h: Likewise.
18665 * normal/menu.c: Likewise.
18666 * normal/main.c: Likewise.
18667 * normal/datetime.c: Likewise.
18668 * bus/usb/uhci.c: Likewise.
18669 * mmap/i386/uppermem.c: Likewise.
18670 * mmap/mmap.c: Likewise.
18671 * commands/acpi.c: Likewise.
18672 * commands/test.c: Likewise.
18673 * partmap/apple.c: Likewise.
18674 * font/font.c: Likewise.
18675 * loader/sparc64/ieee1275/linux.c: Likewise.
18676 * loader/macho.c: Likewise.
18677 * loader/i386/bsd_trampoline.S: Likewise.
18678 * loader/i386/bsd.c: Likewise.
18679 * loader/xnu.c: Likewise.
18680 * term/i386/pc/vesafb.c: Likewise.
18681 * term/usb_keyboard.c: Likewise.
18682 * util/resolve.c: Likewise.
18683 * util/getroot.c: Likewise.
18684
0cfc0083 186852009-05-04 Felix Zielcke <fzielcke@z-51.de>
18686
18687 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
18688
7c1d00cd 186892009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18690
18691 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
18692 build error.
18693
b01f0548 186942009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18695
18696 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
18697 parameter only available on BIOS.
18698
ecc3eb22 186992009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18700
18701 Removed wrong semicolon in declaration
18702
18703 * grub/misc.h (grub_dprintf): remove semicolon
18704
112972a9 187052009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18706
18707 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
18708 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
18709 is done by grub_cmd_linux() now).
18710 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
18711 restore video to text mode.
18712 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
18713 indicates lack of "vga=" parameter. "vga=0" is mapped to
18714 `GRUB_LINUX_VID_MODE_NORMAL'.
18715
afd5c115 187162009-05-04 Felix Zielcke <fzielcke@z-51.de>
18717
18718 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
18719 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
18720 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 18721 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 18722 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
18723 `grub_script.tab.c'.
18724
18725 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18726 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18728 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18729 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18730
faa517ce 18731 * Makefile.in: Remove duplicated 2008 in Copyright line.
18732
ae0c0bdc 187332009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18734
473d1e45 18735 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 18736 unconditionally.
18737 * include/grub/util/misc.h (grub_util_warn): New declaration.
18738
18739 * util/i386/pc/grub-install.in: Understand --force and pass it down
18740 to grub-setup.
18741
18742 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
18743 down to setup().
18744 (setup): Improve error messages and add warnings when requested to
18745 install in odd layouts. Refuse to install using blocklists unless
18746 --force was set.
18747
18f547ad 187482009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 18749
18750 * disk/raid.c (grub_raid_scan_device): Improve debug message.
18751
6d260daa 187522009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18753
18754 Updated copyright year
18755
18756 * fs/hfsplus.c: updated copyright year
18f547ad 18757
69f853f8 187582009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18759
18760 HFS+ UUID
18761
18f547ad 18762 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 18763 in the space previously used by unused3
18764 (grub_hfsplus_uuid): new function
18765 (grub_hfsplus_fs): added uuid field
18766
4c402e73 187672009-05-03 Pavel Roskin <proski@gnu.org>
18768
18769 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
18770 suppress warnings. It's no longer needed.
18771 * disk/host.c: Likewise.
18772 * disk/ata_pthru.c: Likewise.
18773 * disk/loopback.c: Likewise.
18774 * hook/datehook.c: Likewise.
18775 * parttool/pcpart.c: Likewise.
18776 * fs/i386/pc/pxe.c: Likewise.
18777 * fs/ntfscomp.c: Likewise.
18778 * efiemu/main.c: Likewise.
18779 * mmap/mmap.c: Likewise.
18780 * commands/crc.c: Likewise.
18781 * commands/hexdump.c: Likewise.
18782 * commands/hdparm.c: Likewise.
18783 * commands/acpi.c: Likewise.
18784 * commands/echo.c: Likewise.
18785 * commands/minicmd.c: Likewise.
18786 * commands/blocklist.c: Likewise.
18787 * commands/memrw.c: Likewise.
18788 * commands/loadenv.c: Likewise.
18789 * commands/usbtest.c: Likewise.
18790 * commands/lsmmap.c: Likewise.
18791 * commands/boot.c: Likewise.
18792 * commands/parttool.c: Likewise.
18793 * commands/configfile.c: Likewise.
18794 * commands/search.c: Likewise.
18795 * commands/ieee1275/suspend.c: Likewise.
18796 * commands/cat.c: Likewise.
18797 * commands/i386/pc/pxecmd.c: Likewise.
18798 * commands/i386/pc/play.c: Likewise.
18799 * commands/i386/pc/halt.c: Likewise.
18800 * commands/i386/pc/vbeinfo.c: Likewise.
18801 * commands/i386/pc/vbetest.c: Likewise.
18802 * commands/lspci.c: Likewise.
18803 * commands/date.c: Likewise.
18804 * commands/handler.c: Likewise.
18805 * commands/ls.c: Likewise.
18806 * commands/test.c: Likewise.
18807 * commands/cmp.c: Likewise.
18808 * commands/efi/loadbios.c: Likewise.
18809 * commands/efi/fixvideo.c: Likewise.
18810 * commands/halt.c: Likewise.
18811 * commands/help.c: Likewise.
18812 * commands/reboot.c: Likewise.
18813 * hello/hello.c: Likewise.
18814 * script/sh/main.c: Likewise.
18815 * loader/xnu.c: Likewise.
18816 * term/terminfo.c: Likewise.
18817 * term/i386/pc/serial.c: Likewise.
18818 * term/usb_keyboard.c: Likewise.
18819
515b5079 188202009-05-03 David S. Miller <davem@davemloft.net>
18821
18822 * normal/menu.c: Include grub/parser.h
18823
dfc31a22 188242009-05-03 Pavel Roskin <proski@gnu.org>
18825
2fee74f1 18826 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
18827 not char*.
18828 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
18829 Suggested by Javier Martín <lordhabbit@gmail.com>
18830
dfc31a22 18831 * util/i386/pc/grub-mkrescue.in: Allow for the case when
18832 efiemu??.o doesn't exist.
18833 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
18834 copying.
18835
18f547ad 188362009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 18837
18838 FreeBSD 64-bit support
18839
18f547ad 18840 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 18841 and loader/i386/bsd_trampoline.S
18842 (bsd_mod_ASFLAGS): new variable
18843 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
18844 (FREEBSD_MODTYPE_KERNEL64): likewise
18845 (grub_bsd64_trampoline_start): likewise
18846 (grub_bsd64_trampoline_end): likewise
18847 (grub_bsd64_trampoline_selfjump): likewise
18848 (grub_bsd64_trampoline_gdt): likewise
18849 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
18850 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
18851 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
18852 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 18853 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 18854 of "attrib" member
18855 * loader/i386/bsd_pagetable.c: new file
18856 * loader/i386/bsd_trampoline.S: likewise
18857 * loader/i386/bsd.c (ALIGN_QWORD): new macro
18858 (ALIGN_VAR): likewise
18859 (entry_hi): new variable
18860 (kern_end_mdofs): likewise
18861 (is_64bit): likewise
18862 (grub_freebsd_add_meta): use ALIGN_VAR
18863 (grub_e820_mmap): new declaration
18864 (grub_freebsd_add_mmap): new function
18865 (grub_freebsd_add_meta_module): support 64 bit kernels
18866 (grub_freebsd_list_modules): use ALIGN_VAR
18867 (gdt_descriptor): new declaration
18868 (grub_freebsd_boot): support 64 bit kernels
18869 (grub_bsd_elf64_hook): new function
18870 (grub_bsd_load_elf): support elf64
18871
038c5720 188722009-05-03 Bean <bean123ch@gmail.com>
18873
18874 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
18875 after we get the result of if statement.
18876
fc45fb58 188772009-05-03 Bean <bean123ch@gmail.com>
18878
18879 * Makefile.in (enable_efiemu): New variable.
18880
18881 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
18882 set.
18883 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
18884 path.
18885 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
18886 path, add -mno-red-zone option.
18887 (efiemu64_s.o): Likewise.
18888 (efiemu64.o): Use macro $^ for source file.
18889
18890 * configure.ac (--enable-efiemu): New option.
18891
bbee0f2b 188922009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18893
18894 xnu support
18895
18896 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
18897 (pkglib_MODULES): add xnu.mod
18898 (xnu_mod_SOURCES): new variable
18899 (xnu_mod_CFLAGS): likewise
18900 (xnu_mod_LDFLAGS): likewise
18901 (xnu_mod_ASFLAGS): likewise
18902 * conf/i386-pc.rmk: likewise
18903 * conf/x86_64-efi.rmk: likewise
7dd4a573 18904 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 18905 new declaration
18906 * include/grub/i386/macho.h: new file
18907 * include/grub/i386/xnu.h: likewise
18908 * include/grub/macho.h: likewise
18909 * include/grub/machoload.h: likewise
18910 * include/grub/x86_64/macho.h: likewise
18911 * include/grub/x86_64/xnu.h: likewise
18912 * include/grub/xnu.h: likewise
18913 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
18914 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
18915 * loader/i386/efi/xnu.c: new file
18916 * loader/i386/pc/xnu.c: likewise
18917 * loader/i386/xnu.c: likewise
18918 * loader/i386/xnu_helper.S: likewise
18919 * loader/macho.c: likewise
18920 * loader/xnu.c: likewise
18921 * loader/xnu_resume.c: likewise
18922 * util/grub-dumpdevtree: likewise
18923 * include/grub/i386/pit.h: include grub/err.h
18924 (grub_pit_wait): export
18925 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 18926
5caf964d 189272009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18928
18929 Efiemu
7dd4a573 18930
5caf964d 18931 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 18932 _linux_efi, linux_efi.
18933 new files in grub-emu
5caf964d 18934 new targets efiemu32.o and efiemu64.o
18935 * loader/linux_normal_efiemu.c: likewise
18936 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 18937 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 18938 files to copy
18939 * include/grub/autoefi.h: new file
7dd4a573 18940 * include/grub/i386/efiemu.h: likewise
5caf964d 18941 * include/grub/i386/pc/efiemu.h: likewise
18942 * include/grub/efi/api.h: add LL suffix when necessary
18943 new definitions relating to tables
18944 * include/grub/efiemu/efiemu.h: new file
18945 * include/grub/efiemu/runtime.h: likewise
18946 * efiemu/prepare.c: likewise
18947 * efiemu/loadcore_common.c: likewise
18948 * efiemu/loadcore64.c: likewise
18949 * efiemu/runtime/efiemu.sh: likewise
18950 * efiemu/runtime/efiemu.S: likewise
18951 * efiemu/runtime/efiemu.c: likewise
18952 * efiemu/runtime/config.h: likewise
18953 * efiemu/prepare32.c: likewise
18954 * efiemu/main.c: likewise
18955 * efiemu/modules/pnvram.c: likewise
18956 * efiemu/modules/i386: likewise
18957 * efiemu/modules/i386/pc: likewise
18958 * efiemu/modules/acpi.c: likewise
18959 * efiemu/i386/pc/cfgtables.c: likewise
18960 * efiemu/i386/loadcore64.c: likewise
18961 * efiemu/i386/loadcore32.c: likewise
18962 * efiemu/prepare64.c: likewise
18963 * efiemu/loadcore.c: likewise
18964 * efiemu/symbols.c: likewise
18965 * efiemu/mm.c: likewise
18966 * efiemu/loadcore32.c: likewise
7dd4a573 18967
189682009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 18969
18970 ACPI spoofing
18971
18972 * commands/acpi.c: new file
18973 * commands/i386/pc/acpi.c: likewise
18974 * commands/efi/acpi.c: likewise
18975 * include/grub/acpi.h: likewise
18976 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
18977 (acpi_mod_SOURCES): new variable
18978 (acpi_mod_CFLAGS): likewise
18979 (acpi_mod_LDFLAGS): likewise
18980 * conf/i386-efi.rmk: likewise
18981 * conf/x86_64-efi.rmk: likewise
18982
7dd4a573 189832009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 18984
18985 Missing part from mmap patch
18986
18987 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
18988 (grub_mmap_unregister)
18989 (grub_mmap_free_and_unregister): use grub_mmap_register
18990
7dd4a573 189912009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 18992
18993 Mmap services
18994
18995 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
18996 * loader/i386/linux.c (find_mmap_size): likewise
18997 (allocate_pages): likewise
18998 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
18999 (grub_fill_multiboot_mmap): likewise
19000 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
19001 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
19002 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
19003 (OPENBSD_MMAP_RESERVED): likewise
19004 * include/grub/i386/pc/memory.h: include grub/memory.h
19005 (grub_lower_mem): removed
19006 (grub_upper_mem): likewise
19007 (GRUB_MACHINE_MEMORY_ACPI): new definition
19008 (GRUB_MACHINE_MEMORY_NVS): likewise
19009 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
19010 (GRUB_MACHINE_MEMORY_HOLE): likewise
19011 (grub_machine_mmap_register): likewise
19012 (grub_machine_mmap_unregister): likewise
19013 (grub_machine_get_upper): likewise
19014 (grub_machine_get_lower): likewise
19015 (grub_machine_get_post64): likewise
19016 * include/grub/i386/efi/memory.h: new file
19017 * include/grub/x86_64/efi/memory.h: likewise
19018 * include/grub/efi/memory.h: likewise
19019 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
19020 (mmap_mod_SOURCES): new variable
19021 (mmap_mod_LDFLAGS): likewise
19022 (mmap_mod_ASFLAGS): likewise
19023 * conf/i386-coreboot.rmk: likewise
19024 * conf/i386-ieee1275.rmk: likewise
19025 * conf/i386-efi.rmk: likewise
19026 * conf/x86_64-efi.rmk: likewise
19027 * include/grub/types.h (UINT_TO_PTR): new macro
19028 (PTR_TO_UINT32): likewise
19029 (PTR_TO_UINT64): likewise
19030 * include/grub/memory.h: new file
19031 * mmap/i386/pc/mmap.c: likewise
19032 * mmap/i386/pc/mmap_helper.S: likewise
19033 * mmap/i386/uppermem.c: likewise
19034 * mmap/mmap.c: likewise
19035 * mmap/efi/mmap.c: likewise
7dd4a573 19036 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 19037 grub_upper_mem
19038 * kern/i386/pc/init.c (grub_lower_mem): removed variable
19039 (grub_upper_mem): likewise
19040 (grub_machine_init): don't use grub_upper_mem,
19041 make grub_lower_mem local
19042 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
19043 grub_mmap_iterate and grub_mmap_get_upper
19044 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
19045
d558e6b5 190462009-05-02 Bean <bean123ch@gmail.com>
19047
19048 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
19049 script/sh/parser.y.
19050 (pkglib_MODULES): Add normal.mod and sh.mod.
19051 (normal_SOURCES): New variable.
19052 (normal_mod_CFLAGS): Likewise.
19053 (normal_mod_LDFLAGS): Likewise.
19054 (sh_mod_SOURCES): Likewise.
19055 (sh_mod_CFLAGS): Likewise.
19056 (sh_mod_LDFLAGS): Likewise.
19057
19058 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
19059 script/sh/lexer.c_DEPENDENCIES.
19060 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
19061 kern/rescue_reader.c and kern/rescue_parser.c.
19062 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
19063 (grub_emu_SOURCES): Change source files.
19064 (pkglib_MODULES): Remove normal.mod.
19065 (normal_SOURCES): Removed.
19066 (normal_mod_CFLAGS): Likewise.
19067 (normal_mod_LDFLAGS): Likewise.
19068 * conf/i386-coreboot.rmk: Likewise.
19069 * conf/i386-efi.rmk: Likewise.
19070 * conf/i386-ieee1276.rmk: Likewise.
19071 * conf/powerpc-ieee1275.rmk: Likewise.
19072 * conf/sparc64-ieee1275.rmk: Likewise.
19073 * conf/x86_64-efi.rmk: Likewise.
19074
19075 * include/grub/command.h (grub_command_execute): New inline function.
19076
19077 * include/grub/menu.h (grub_menu_entry): Removed commands field.
19078
19079 * include/grub/normal.h: Remove <grub/setjmp.h>.
19080 (grub_fs_module_list): Moved to normal/autofs.c.
19081 (grub_exit_env): Removed.
19082 (grub_command_execute): Likewise.
19083 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
19084 parameter script.
19085 (read_command_list): New function declaration.
19086 (read_fs_list): Likewise.
19087
19088 * include/parser.h: Include <grub/reader.h>.
19089 (grub_parser_split_cmdline): Change type of getline parameter.
19090 (grub_parser): New structure.
19091 (grub_parser_class): New variable.
19092 (grub_parser_execute): New function declaration.
19093 (grub_register_rescue_parser): Likewise.
19094 (grub_parser_register): New inline function.
19095 (grub_parser_unregister): Likewise.
19096 (grub_parser_get_current): Likewise.
19097 (grub_parser_set_current): Likewise.
19098
19099 * include/grub/reader.h: New file.
19100 * kern/reader.c: Likewise.
19101 * kern/rescue_parser.c: Likewise.
19102 * kern/rescue_reader.c: Likewise.
19103 * normal/autofs.c: Likewise.
19104 * normal/dyncmd.c: Likewise.
19105
19106 * include/grub/rescue.h: Removed.
19107 * normal/command.h: Likewise.
19108
19109 * include/grub/script.h: Moved to ...
19110 * include/grub/script_sh.h: ... Moved here.
19111 * normal/execute.c: Moved to ...
19112 * script/sh/execute.c: ... Moved here.
19113 * normal/function.c: Moved to ...
19114 * script/sh/function.c: ... Moved here.
19115 * normal/lexer.c: Moved to ...
19116 * script/sh/lexer.c: ... Moved here.
19117 * normal/parser.y: Moved to ...
19118 * script/sh/parser.y: ... Moved here.
19119 * normal/script.c: Moved to ...
19120 * script/sh/script.c: ... Moved here.
19121
19122 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
19123 <grub/reader.h>.
19124 (grub_exit_env): Removed.
19125 (fs_module_list): Moved to normal/autofs.c.
19126 (grub_file_getline): Don't handle comment here.
19127 (free_menu): Skip removed field entry->commands.
19128 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
19129 script parameter.
19130 (read_config_file): Removed nested parameter, change getline function.
19131 (grub_enter_normal_mode): Removed.
19132 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
19133 (read_command_list): Likewise.
19134 (autoload_fs_module): Moved to normal/autofs.c.
19135 (read_fs_list): Likewise.
19136 (reader_nested): New variable.
19137 (grub_normal_execute): Run parser.sh to switch to sh parser.
19138 (grub_cmd_rescue): Removed.
19139 (cmd_normal): Removed.
19140 (grub_cmd_normal): Unregister itself at the beginning. Don't register
19141 rescue command.
19142 (grub_cmdline_run): New function.
19143 (grub_normal_reader_init): Likewise.
19144 (grub_normal_read_line): Likewise.
19145 (grub_env_write_pager): Likewise.
19146 (cmdline): New variable.
19147 (grub_normal_reader): Likewise.
19148 (GRUB_MOD_INIT): Register normal reader and set as current, register
19149 pager hook, register normal command with grub_register_command_prio,
19150 so that it won't show up in command.lst.
19151 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
19152 grub_fs_autoload_hook.
19153
19154 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
19155 (grub_menu_execute_entry): Replace grub_script_execute with
19156 grub_parser_execute, change parameter to grub_command_execute.
19157
19158 * normal/menu_text.c: Remove <grub/script.h>.
19159
19160 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
19161 and <grub/parser.h>.
19162 (run): Change editor_getline to use new parser interface. Change
19163 parameter to grub_command_execute.
19164
19165 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
19166 <grub/reader.h> and <grub/parser.h>.
19167 (grub_load_normal_mode): Execute normal command.
19168 (grub_main): Call grub_register_core_commands,
19169 grub_register_rescue_parser and grub_register_rescue_reader, use
19170 grub_reader_loop to enter input loop.
19171
7dd4a573 19172 * kern/parser.c (grub_parser_split_cmdline): Change type of
19173 getline parameter.
d558e6b5 19174 (grub_parser_class): New variable.
19175 (grub_parser_execute): New function.
19176
19177 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
19178 * loader/multiboot2.c: Likewise.
19179 * loader/sparc64/ieee1275/linux.c: Likewise.
19180
19181 * util/grub-emu.c (read_command_list): New dummy function.
19182
18db813d 191832009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19184
19185 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
19186 count to 16 for CCISS and IDA.
19187
6c67de15 191882009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19189
19190 * normal/menu_text.c (grub_wait_after_message): Print a newline
19191 after waiting for user input.
19192
19193 * loader/i386/linux.c: Include `<grub/normal.h>'.
19194 (grub_cmd_linux): Improve the error message about `ask' mode, by
19195 waiting for user input so it's not missed (we can do this, since
19196 user requested interaction).
19197
d9dc87b0 191982009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19199
19200 Added missing lst to grub-mkrescue
19201
19202 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
19203 and ${input_dir}/parttool.lst
19204
ac8a2baa 192052009-04-30 David S. Miller <davem@davemloft.net>
19206
ad22a610 19207 * util/hostdisk.c (device_is_wholedisk): New function.
19208 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
19209 zero only if device_is_wholedisk() returns true.
19210
6966215d 19211 * util/hostdisk.c (convert_system_partition_to_system_disk):
19212 Handle virtual disk devices named /dev/vdiskX as found on sparc
19213 and powerpc.
19214
ac8a2baa 19215 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
19216 lettered partition specifier is found, convert to numbered.
19217
979b4fb4 192182009-04-29 David S. Miller <davem@davemloft.net>
19219
e2bf39b2 19220 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
19221 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19222
3c64e104 19223 * normal/command.c: Add missing newline at end of file.
19224
979b4fb4 19225 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
19226 warnings.
19227 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
19228 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
19229 grub_ofdisk_read): Likewise, and deal similarly with the fact that
19230 ihandles have a 32-bit type but need to be stored in a "void *".
19231
136d9f82 192322009-04-28 Pavel Roskin <proski@gnu.org>
19233
9459c306 19234 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
19235 not disk. Adjust all dependencies.
2e08a26a 19236 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 19237 grub_disk_close().
19238
136d9f82 19239 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
19240 parent's partition, don't copy it by reference, as it gets freed
19241 on close.
19242
7dd4a573 192432009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 19244
19245 Preboot hooks support
19246
19247 * commands/boot.c (struct grub_preboot_t): new declaration
19248 (preboots_head): new variable
19249 (preboots_tail): likewise
19250 (grub_loader_register_preboot_hook): new function
19251 (grub_loader_unregister_preboot_hook): likewise
19252 (grub_loader_set): launch preboot hooks
19253 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
19254 (grub_loader_register_preboot_hook): new declaration
19255 (grub_loader_unregister_preboot_hook): likewise
19256
5af922b5 192572009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19258
19259 Warning fix
19260
7dd4a573 19261 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 19262 calling grub_dprintf
19263
a5562c30 192642009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
19265
19266 Bug and warning fixes
19267
7dd4a573 19268 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 19269 declaration
19270 * commands/test.c (test_parse): fixed bug with file tests and corrected
19271 declaration of find_file
19272
4006f85c 192732009-04-26 Pavel Roskin <proski@gnu.org>
19274
19275 * Makefile.in: Don't install empty manual pages if help2man is
19276 missing. Use help2man option for output, not shell redirection.
19277
5c77c3de 192782009-04-26 David S. Miller <davem@davemloft.net>
19279
19280 * util/grub-mkdevicemap.c (make_device_map): Add missing
19281 NESTED_FUNC_ATTR to process_device().
19282
033b10a8 192832009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19284
19285 Test command
19286
19287 * commands/test.c: rewritten to use bash-like test
19288
e4343593 192892009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19290
19291 Parttool autoloading and improvements
19292
7dd4a573 19293 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 19294 (parttool.lst): new target
19295 * genmk.rb: generate parttool-*
19296 (CLEANFILES): add #{parttool}
19297 (PARTTOOLFILES): new variable
19298 * genparttoollist.sh: new file
7dd4a573 19299 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 19300 (grub_pcpart_type): likewise
19301 * commands/parttool.c (helpmsg): new variable
19302 (grub_cmd_parttool): output help if not enough arguments are supplied
19303 autoload modules
19304 (GRUB_MOD_INIT(parttool)): use helpmsg
19305
0d312500 193062009-04-24 David S. Miller <davem@davemloft.net>
19307
7dd4a573 19308 Avoiding opening same device multiple times in device iterator.
0d312500 19309
19310 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 19311 and use it to build a list of partitions in iterate_disk() and
0d312500 19312 iterate_partition().
19313
ac20caff 19314 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
19315 on disk->data.
19316
0dcf7495 19317 * disk/ieee1275/nand.c (grub_nand_iterate): Return
19318 grub_devalias_iterate() result instead of unconditional 0.
19319 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
19320 Also, capture hook return value, either directly or via
19321 grub_children_iterate(), and propagate to caller.
19322 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
19323 grub_children_iterate): Return value is now 'int' instead of
19324 'grub_err_t'.
19325 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
19326 like a proper iterator, stopping when hooks return non-zero.
19327 (grub_devalias_iterate): Likewise.
19328
c8c08833 193292009-04-23 David S. Miller <davem@davemloft.net>
19330
19331 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
19332
f01005a8 193332009-04-22 David S. Miller <davem@davemloft.net>
19334
19335 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
19336 is larger than address_cells, use that value for address_cells too.
19337
4e8269da 19338 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
19339 IEEE1275_MAX_PATH_LEN): Define.
19340 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
19341 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
19342 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
19343 'devtype'. Explicitly NULL terminate devalias expansion.
19344
a1447506 19345 * util/sparc64/ieee1275/misc.c: New file.
19346 * util/sparc64/ieee1275/grub-setup.c: New file.
19347 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
19348 * util/sparc64/ieee1275/grub-mkimage.c: New file.
19349 * util/sparc64/ieee1275/grub-install.in: New file.
19350 * util/ieee1275/ofpath.c: New file.
19351 * util/ieee1275/devicemap.c: New file.
19352 * util/devicemap.c: New file.
19353 * util/deviceiter.c: New file.
19354 * kern/sparc64/ieee1275/init.c: New file.
19355 * include/grub/util/ofpath.h: New file.
19356 * include/grub/util/deviceiter.h: New file.
19357 * util/grub-mkdevicemap.c: Include deviceiter.h.
19358 Implement using grub_util_emit_devicemap_entry and
19359 grub_util_iterate_devices.
19360 * conf/i386-corebook.rmk: Build util/deviceiter.c and
19361 util/devicemap.c into grub-mkdevicemap
19362 * conf/i386-efi.rmk: Likewise.
19363 * conf/i386-ieee1275.rmk: Likewise.
19364 * conf/i386-pc.rmk: Likewise.
19365 * conf/powerpc-ieee1275.rmk: Likewise.
19366 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
19367 images and installation utilities. Build kernel as image
19368 instead of as elf binary. Use common rules as much as possible.
19369
7dd4a573 193702009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 19371
19372 Correct GPT definition
19373
7dd4a573 19374 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 19375 of "attrib" member
19376
c6c5219f 193772009-04-19 Felix Zielcke <fzielcke@z-51.de>
19378
19379 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
19380
0552ff9f 193812009-04-19 David S. Miller <davem@davemloft.net>
19382
19383 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
19384 (grub_rescue_cmd_linux): Rename to...
19385 (grub_cmd_linux): and fix prototype.
19386 (grub_rescue_cmd_initrd): Rename to...
19387 (grub_cmd_initrd): and fix prototype.
19388 (cmd_linux, cmd_initrd): New.
19389 (GRUB_MOD_INIT(linux)): Use grub_register_command().
19390 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
19391
d1a282fc 193922009-04-17 Pavel Roskin <proski@gnu.org>
19393
07c5039f 19394 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
19395 format.
19396 (grub_ohci_transfer): Likewise.
19397
b012002d 19398 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
19399
1bc09c35 19400 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
19401 return without a value. Fix inconsistent indentation.
19402
e0ff9126 19403 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
19404 match struct grub_fs.
19405
d1a282fc 19406 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
19407 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
19408 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
19409 * commands/lspci.c (grub_lspci_iter): Likewise.
19410
a96df3f2 194112009-04-16 Bean <bean123ch@gmail.com>
19412
19413 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
19414 value.
19415
41bb0fe9 194162009-04-15 Pavel Roskin <proski@gnu.org>
19417
19418 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
19419 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
19420 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
19421 definitions.
19422
596c6970 194232009-04-15 Felix Zielcke <fzielcke@z-51.de>
19424
19425 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 19426 that no multiple data or metadata areas are supported and `Unknown
596c6970 19427 metadata header'.
19428
7dd4a573 194292009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 19430
19431 Move loader out of the kernel
19432
19433 * kern/loader.c: moved to ...
19434 * commands/boot.c: ... moved here
19435 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
19436 * commands/boot.c (grub_cmd_boot): moved here. All users updated
19437 * include/grub/kernel.h (grub_machine_fini): export
19438 * include/grub/loader.h (grub_loader_is_loaded): update declaration
19439 (grub_loader_set): likewise
19440 (grub_loader_unset): likewise
19441 (grub_loader_boot): likewise
19442 * conf/common.rmk: new module boot.mod
19443 (pkglib_MODULES): add boot.mod
19444 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
19445 (grub_emu_SOURCES): likewise
19446 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
19447 (grub_emu_SOURCES): likewise
19448 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
19449 (grub_emu_SOURCES): likewise
19450 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
19451 (grub_emu_SOURCES): likewise
19452 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
19453 (grub_emu_SOURCES): likewise
7dd4a573 19454 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
19455 (grub_emu_SOURCES): likewise
0d5d5653 19456 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 19457 (grub_emu_SOURCES): likewise
0d5d5653 19458
7dd4a573 194592009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 19460
19461 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 19462
5999d619 19463 * kern/misc.c (grub_itoa): Removed function
19464 (grub_ltoa): likewise
19465 (grub_vsprintf): use grub_lltoa
19466
7dd4a573 194672009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 19468
19469 Restore grub-emu
19470
19471 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
19472 * conf/i386-coreboot.rmk: likewise
19473 * conf/i386-ieee1275.rmk: likewise
19474 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 19475
20318222 194762009-04-15 Felix Zielcke <fzielcke@z-51.de>
19477
19478 * INSTALL: Add that `./autogen.sh' needs to be run before
19479 `./configure.'.
19480
d05f0df3 194812009-04-14 Bean <bean123ch@gmail.com>
19482
19483 * Makefile.in (pkglib_DATA): Add handler.lst.
19484 (handler.lst): New rule.
19485
19486 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
19487 * conf/i386-coreboot.rmk: Likewise.
19488 * conf/i386-ieee1275.rmk: Likewise.
19489 * conf/i386-efi.rmk: Likewise.
19490 * conf/x86_64-efi.rmk: Likewise.
19491 * conf/powerpc-ieee1275.rmk: Likewise.
19492 * conf/sparc64-ieee1275.rmk: Likewise.
19493
19494 * genhandlerlist.sh: New file.
19495
19496 * genmk.rb: Add rules to generate handler.lst.
19497
19498 * include/grub/normal.h (grub_file_getline): New function definition.
19499 (read_handler_list): Likewise.
19500 (free_handler_list): Likewise.
19501
19502 * include/grub/term.h (grub_term_register_input): Add name parameter
19503 for auto generation of handler.lst.
19504 (grub_term_register_output): Likewise.
19505
19506 * normal/handler.c: New file.
19507
19508 * normal/main.c (get_line): Renamed to grub_file_getline.
19509 (read_config_file): Use the newly renamed grub_file_getline.
19510 (read_command_list): Likewise.
19511 (read_fs_list): Likewise.
19512 (grub_normal_execute): Call read_handler_list to parse handler.lst.
19513 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
19514
19515 * term/efi/console.c (grub_console_init): Add name parameter for auto
19516 generation of handler.lst.
19517 * term/gfxterm.c: Likewise.
19518 * term/i386/pc/at_keyboard.c: Likewise.
19519 * term/i386/pc/console.c: Likewise.
19520 * term/i386/pc/serial.c: Likewise.
19521 * term/i386/pc/vesafb.c: Likewise.
19522 * term/i386/pc/vga.c: Likewise.
19523 * term/i386/pc/vga_text.c: Likewise.
19524 * term/ieee1275/ofconsole.c: Likewise.
19525 * term/usb_keyboard.c: Likewise.
19526
33c846be 195272009-04-14 Bean <bean123ch@gmail.com>
19528
19529 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
19530 properly with null character.
19531
4484e01e 195322009-04-14 Felix Zielcke <fzielcke@z-51.de>
19533
19534 * configure: Remove.
19535 * config.h.in: Likewise.
f93d668e 19536 * stamp-h.in: Likewise.
4484e01e 19537 * DISTLIST: Likewise.
19538 * conf/common.mk: Likewise.
19539 * conf/i386-coreboot.mk: Likewise.
19540 * conf/i386-efi.mk: Likewise.
19541 * conf/i386-ieee1275.mk: Likewise.
19542 * conf/i386.mk: Likewise.
19543 * conf/i386-pc.mk: Likewise.
19544 * conf/powerpc-ieee1275.mk: Likewise.
19545 * conf/sparc64-ieee1275.mk: Likewise.
19546 * conf/x86_64-efi.mk: Likewise.
19547
19548 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
19549 develop on GRUB.
19550
7dd4a573 195512009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 19552 David S. Miller <davem@davemloft.net>
19553
19554 * util/hostdisk.c (make_device_name): Fix buffer length
19555 calculations.
19556
e25b5a8c 195572009-04-14 Felix Zielcke <fzielcke@z-51.de>
19558
19559 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
19560 <sys/param.h> and <sys/sysctl.h>.
19561 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
19562 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
19563 opening the device and reset them afterwards.
19564
1f1f580c 195652009-04-13 Pavel Roskin <proski@gnu.org>
19566
19567 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
19568 Reported by John Stanley <jpsinthemix@verizon.net>
19569
7ebc2d6b 195702009-04-13 Robert Millan <rmh@aybabtu.com>
19571
19572 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 19573 that name for menuentries when appropriate.
7ebc2d6b 19574
d8ba3667 195752009-04-13 Felix Zielcke <fzielcke@z-51.de>
19576
19577 * util/grub.d/10_freebsd.in: Add a missing `fi'.
19578
cba416eb 195792009-04-13 Robert Millan <rmh@aybabtu.com>
19580
19581 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
19582 to Linux, simply abort telling the user it's no longer supported.
19583
a547a745 195842009-04-13 Felix Zielcke <fzielcke@z-51.de>
19585
19586 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 19587 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 19588 `freebsd_loadenv' only when devices.hints exist.
19589
232a769c 195902009-04-13 Pavel Roskin <proski@gnu.org>
19591
19592 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
19593
c3012039 195942009-04-13 Felix Zielcke <fzielcke@z-51.de>
19595
19596 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
19597 partition number.
19598 (grub_drive): Likewise.
19599
234022fe 196002009-04-13 David S. Miller <davem@davemloft.net>
19601
19602 * kern/sparc64/ieee1275/ieee1275.c: New file.
19603 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
19604 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
19605 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
19606 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
19607 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
19608 grub_ieee1275_alloc_physmem): Declare new exported functions.
19609
d8e1836c 19610 * include/grub/sparc64/ieee1275/loader.h: New file.
19611 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19612 * include/grub/sparc64/kernel.h: Likewise.
19613 * loader/sparc64/ieee1275/linux.c: Likewise.
19614
96bd81ec 19615 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
19616 (grub_fstest_SOURCES): Likewise.
19617
6a4737e5 19618 * util/hostdisk.c (make_device_name): Do not make any assumptions
19619 about the length of drive names.
19620
1d7a72fd 19621 * kern/dl.c (grub_dl_load_file): Close file immediately when
19622 we are done using it.
19623
56bc2471 196242009-04-12 David S. Miller <davem@davemloft.net>
19625
19626 * kern/misc.c (grub_ltoa): Fix cast when handling negative
19627 values. Noticed by Pavel Roskin.
19628
df38d0bb 19629 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
19630 target compiler.
7dd4a573 19631
e382e93a 19632 * genmk.rb: Add more flexible image type specification, also
19633 pass --strip-unneeded to objcopy.
19634 * conf/i386-pc.rmk: Use *_FORMAT.
19635 * conf/i386-pc.mk: Rebuilt.
19636
f5dbbca9 19637 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
19638 (OFDISK_HASH_SZ): Define.
19639 (ofdisk_hash): New hash table.
19640 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
19641 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
19642 instead of device phandle which is not unique.
19643
91c88b12 19644 * kern/sparc64/ieee1275/init.c: Delete, replace with...
19645 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
19646 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
19647 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
19648 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
19649 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
19650 GRUB_KERNEL_MACHINE_DATA_END): Define.
19651 (grub_kernel_image_size, grub_total_module_size): Declare.
19652
5b5d4aa5 196532009-04-12 Pavel Roskin <proski@gnu.org>
19654
7dd4a573 19655 * configure.ac: Change the logic when we check for target tools.
19656 Do it when the target is specified and it's different from the
19657 specified value of the host.
5b5d4aa5 19658
c91e1793 196592009-04-11 Felix Zielcke <fzielcke@z-51.de>
19660
19661 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
19662 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
19663 GNU/kFreeBSD. Check if a device is a character device. Use
19664 DIOCGMEDIASIZE to get the size.
19665 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
19666 support for GNU/kFreeBSD.
19667 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
19668 is a character device instead of a block device. Add support for
19669 FreeBSD device names.
19670
19671 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
19672 is a character device instead of a block device.
19673
19674 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
19675 is a character device instead of a block device.
19676
b1ac8644 196772009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
19678
19679 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
19680 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
19681 FreeBSD. Check if a device is a character device. Use
19682 DIOCGMEDIASIZE to get the size.
19683 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
19684 support for FreeBSD.
19685 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
19686 is a character device instead of a block device. Add support for
19687 FreeBSD device names.
19688
19689 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
19690 a character device instead of a block device.
19691 (grub_util_check_char_device): New function.
19692
19693 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
19694 a character device instead of a block device.
19695
19696 * include/grub/util/getroot.h (grub_util_check_char_device): New
19697 prototype.
19698
a3f7515a 196992009-04-11 David S. Miller <davem@davemloft.net>
19700
19701 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
19702 static libgcc.
19703 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
19704 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
19705 function, if present.
19706 (__bswapdi2): Likewise.
19707
0d44993d 19708 * include/grub/sparc64/ieee1275/boot.h: New file.
19709 * boot/sparc64/ieee1275/boot.S: Likewise.
19710 * boot/sparc64/ieee1275/diskboot.S: Likewise.
19711
ed3d2bc2 19712 * kern/misc.c (grub_ltoa): New function.
19713 (grub_vsprintf): Use it to format 'long' integers.
19714
d3bfb59c 197152009-04-10 David S. Miller <davem@davemloft.net>
19716
19717 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
19718 slots are of type grub_ieee1275_cell_t.
19719 (grub_nand_read): Likewise.
19720 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
19721 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
19722 macros are used to compare values in arg/ret block of the call.
19723 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19724 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
19725 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
19726 grub_ieee1275_instance_to_path, grub_ieee1275_write,
19727 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
19728 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
19729 grub_ieee1275_close, grub_ieee1275_set_property,
19730 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
19731 grub_ieee1275_cell_t.
19732 * kern/ieee1275/openfw.c (grub_map): Likewise.
19733 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
19734 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
19735
450e2238 19736 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
19737 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
19738 (grub_devalias_iterate): Likewise.
19739
7dd4a573 197402009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 19741
19742 UFS improvements
19743
19744 * fs/ufs.c (INODE_NBLOCKS): new definition
19745 (struct grub_ufs_dirent): added fields for non-BSD dirents
19746 (grub_ufs_get_file_block): fixed double indirect handling
19747 (grub_ufs_lookup_symlink): use more robust way to determine whether
19748 symlink is inline
19749 (grub_ufs_find_file): support for non-BSD dirents
19750 (grub_ufs_dir): support for non-BSD dirents
19751
e7e6862a 197522009-04-10 Bean <bean123ch@gnail.com>
19753
19754 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
19755 attribute, otherwise the size would be wrong for i386 platform.
19756
19757 * include/grub/pci.h (grub_pci_read_word): New inline function.
19758 (grub_pci_read_byte): Likewise.
19759 (grub_pci_write): Likewise.
19760 (grub_pci_write_word): Likewise.
19761 (grub_pci_write_byte): Likewise.
19762
19763 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
19764
19765 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
19766 (find_framebuf): Scan pci to locate the frame buffer address.
19767
19768 * commands/efi/fixvideo.c: New file.
19769
19770 * commands/efi/loadbios.c: Likewise.
19771
19772 * commands/memrw.c: Likewise.
19773
19774 * util/grub-dumpbios.in: Likewise.
19775
19776 * conf/common.rmk (grub-dumpbios): New utility.
19777 (pkglib_MODULES): New module memrw.mod.
19778 (memrw_mod_SOURCE): New macro.
19779 (memrw_mod_CFLAGS): Likewise.
19780 (memrw_mod_LDFLAGS): Likewise.
19781
7dd4a573 19782 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 19783 fixvideo.mod.
19784 (loadbios_mod_SOURCE): New macro.
19785 (loadbios_mod_CFLAGS): Likewise.
19786 (loadbios_mod_LDFLAGS): Likewise.
19787 (fixvideo_mod_SOURCE): Likewise.
19788 (fixvideo_mod_CFLAGS): Likewise.
19789 (fixvideo_mod_LDFLAGS): Likewise.
19790
7dd4a573 19791 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 19792 fixvideo.mod.
19793 (loadbios_mod_SOURCE): New macro.
19794 (loadbios_mod_CFLAGS): Likewise.
19795 (loadbios_mod_LDFLAGS): Likewise.
19796 (fixvideo_mod_SOURCE): Likewise.
19797 (fixvideo_mod_CFLAGS): Likewise.
19798 (fixvideo_mod_LDFLAGS): Likewise.
19799
af63ada2 198002009-04-08 Felix Zielcke <fzielcke@z-51.de>
19801
19802 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
19803
c2cdde70 198042009-04-07 David S. Miller <davem@davemloft.net>
19805
19806 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
19807 support for R_SPARC_OLO10 relocations. Fix compile warning for
19808 R_SPARC_WDISP30 case.
ea3f72cf 19809 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 19810
761319cf 198112009-04-06 Pavel Roskin <proski@gnu.org>
19812
1007d1f5 19813 * include/grub/misc.h (ARRAY_SIZE): New macro.
19814 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
19815 New macro.
19816 * loader/i386/linux.c (allocate_pages): Use free_pages().
19817 (grub_linux_unload): Don't use free_pages().
19818 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
19819 wrong index. Treat all other modes as text modes.
19820 (grub_cmd_linux): Initialize vid_mode unconditionally to
19821 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
19822
761319cf 19823 * commands/help.c (print_command_help): Use cmd->prio, not
19824 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
19825
ea761d40 198262009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 19827
ea761d40 19828 Parttool
19829
19830 * parttool/pcpart.c: new file
19831 * commands/parttool.c: likewise
19832 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
19833 (parttool_mod_SOURCES): new variable
19834 (parttool_mod_CFLAGS): likewise
19835 (parttool_mod_LDFLAGS): likewise
19836 (pcpart_mod_SOURCES): likewise
19837 (pcpart_mod_CFLAGS): likewise
19838 (pcpart_mod_LDFLAGS): likewise
7dd4a573 19839 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 19840 and parttool/pcpart.c
19841 * conf/i386-efi.rmk: likewise
19842 * conf/i386-ieee1275.rmk: likewise
19843 * conf/i386-pc.rmk: likewise
19844 * conf/powerpc-ieee1275.rmk: likewise
19845 * conf/sparc64-ieee1275.rmk: likewise
19846 * conf/x86_64-ieee1275.rmk: likewise
19847
05aaebfb 198482009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19849
19850 Support for mtime and further expandability of dir command
19851
19852 * include/grub/lib/datetime.h: moved to ...
7dd4a573 19853 * include/grub/datetime.h: ... moved here and added
05aaebfb 19854 declaration of grub_unixtime2datetime. All users updated
7dd4a573 19855 * include/grub/fs.h: new syntax for dir and mtime functions in
19856 struct grub_fs
05aaebfb 19857 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
19858 and GRUB_FSHELP_FLAGS_MASK
19859 * commands/ls.c (grub_ls_list_files): Write mtime in long format
19860 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
19861 (grub_ext2_mtime): new function
19862 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
19863 (grub_hfsplus_mtime): new function
19864 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
19865 (GRUB_UFS_ATTR_FILE): likewise
19866 (GRUB_UFS_ATTR_LNK): likewise
19867 (struct grub_ufs_sblock): new fields mtime
19868 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
19869 all users updated
19870 (grub_ufs_dir): mtime support
19871 (grub_ufs_mtime): new function
19872 * fs/affs.c (grub_affs_dir): use new dir syntax
19873 * fs/afs.c (grub_afs_dir): likewise
19874 * fs/cpio.c (grub_cpio_dir): likewise
19875 * fs/fat.c (grub_fat_find_dir): likewise
19876 * fs/hfs.c (grub_hfs_dir): likewise
19877 * fs/iso9660.c (grub_iso9660_dir): likewise
19878 * fs/jfs.c (grub_jfs_dir): likewise
19879 * fs/minix.c (grub_minix_dir): likewise
19880 * fs/ntfs.c (grub_ntfs_dir): likewise
19881 * fs/reiserfs.c (grub_reiserfs_dir): likewise
19882 * fs/sfs.c (grub_sfs_dir): likewise
19883 * fs/xfs.c (grub_xfs_dir): likewise
19884 * util/hostfs.c (grub_hostfs_dir): likewise
19885 * lib/datetime.c: moved to ...
19886 * normal/datetime.c: ... moved here
19887 (grub_unixtime2datetime): new function
19888 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 19889 * normal/completion.c (iterate_dir): use new dir syntax
19890 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 19891 last modification time of a volume
7dd4a573 19892 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 19893 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 19894 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 19895 (normal_mod_SOURCES): likewise
19896 (datetime_mod_SOURCES): Removed lib/datetime.c
19897 * conf/i386-efi.rmk: likewise
7dd4a573 19898 * conf/i386-ieee1275.rmk: likewise
05aaebfb 19899 * conf/i386-pc.rmk: likewise
19900 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 19901 * conf/sparc64-ieee1275.rmk: likewise
19902 * conf/x86_64-efi.rmk: likewise
05aaebfb 19903
8a7e1a14 199042009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19905
19906 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 19907
19908 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 19909 on grub_fat_find_dir
19910 (grub_fat_find_dir): use grub_fat_iterate_dir
19911 (grub_fat_label): likewise
19912
04186a9c 199132009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19914
7dd4a573 19915 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 19916 and command.h
19917 remove extraneous kernel_elf_HEADERS
19918
da4c0bb6 199192009-04-04 Bean <bean123ch@gnail.com>
19920
19921 * include/grub/util/misc.h: Add dummy function fsync for mingw.
19922
19923 * util/misc.c: Likewise.
19924
54ad9555 199252009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19926
19927 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
19928 instead of grub_printf.
19929
7a6bf9f2 199302009-04-03 Robert Millan <rmh@aybabtu.com>
19931
19932 * loader/i386/linux.c (grub_linux_setup_video): Fill
19933 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
19934 values from `mode info' structure instead of hardcoded
19935 values.
19936
3fcc2083 199372009-04-01 Pavel Roskin <proski@gnu.org>
19938
19939 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
19940 unused now.
19941 * genmk.rb: Likewise.
19942 * configure.ac: Likewise.
19943
5ec9740b 199442009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
19945
19946 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
19947 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
19948
5270cec8 199492009-04-01 David S. Miller <davem@davemloft.net>
19950
19951 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 19952 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 19953 (grub_setjmp): Mark with 'returns_twice' attribute.
19954 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
19955 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
19956 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
19957
9c3dd854 199582009-04-01 Robert Millan <rmh@aybabtu.com>
19959
19960 Reapply fix from 2008-07-28 which was accidentally reverted; also
19961 perform the same fix to a similar check in same function.
19962
19963 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
19964 with the same number are found, just use issue a warning with
19965 grub_dprintf(), as this error has been reported to be non-fatal.
19966
0d818b7e 199672009-03-31 Pavel Roskin <proski@gnu.org>
19968
19969 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
19970 for cross-compilation.
19971
95646d92 199722009-03-30 Robert Millan <rmh@aybabtu.com>
19973
19974 Fix i386-ieee1275 build.
19975
19976 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
19977 Remove declaration.
19978
6a003ed1 199792009-03-30 Pavel Roskin <proski@gnu.org>
19980
19981 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
19982 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
19983 zero-terminated, rely only on the strlen value. Fix comparison
19984 of strings differing in length.
19985
92f33540 199862009-03-30 Robert Millan <rmh@aybabtu.com>
19987
19988 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
19989 checking for abi version. Improve error messages on BIOS to notify
19990 user about `linux16' command.
19991
a8c48fd5 199922009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19993
f968172e 19994 Leak fixes
a8c48fd5 19995
f968172e 19996 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
19997 in case of collision
19998 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 19999
9c323f09 200002009-03-29 Robert Millan <rmh@aybabtu.com>
20001
20002 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
20003 set `vid_mode' accordingly.
20004 (grub_linux_boot): Process `vid_mode' and set video mode.
20005
ae68f423 200062009-03-29 Robert Millan <rmh@aybabtu.com>
20007
20008 * util/grub.d/10_linux.in (linux_entry): New function.
20009 Factorize generation of Linux boot entries.
20010
5709cfc4 200112009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
20012
20013 Make the format of Environment Block plain text. The boot loader
20014 part is not tested well yet.
7dd4a573 20015
5709cfc4 20016 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
20017 (buffer): Removed.
20018 (envblk): Likewise.
20019 (usage): Remove "info" and "clear". Add "unset". Update the
20020 description of "set", as this does not delete variables any
20021 longer.
20022 (create_envblk_file): Complete rewrite.
20023 (open_envblk_file): Likewise.
20024 (cmd_info): Removed.
20025 (cmd_list): Likewise.
20026 (cmd_set): Likewise.
20027 (cmd_clear): Likewise.
20028 (list_variables): New function.
20029 (write_envblk): Likewise.
20030 (set_variables): Likewise.
20031 (unset_variables): Likewise.
20032 (main): Complete rewrite.
20033
20034 * commands/loadenv.c (buffer): Removed.
20035 (envblk): Likewise.
20036 (open_envblk_file): New function.
20037 (read_envblk_file): Complete rewrite.
20038 (grub_cmd_load_env): Likewise.
20039 (grub_cmd_list_env): Likewise.
20040 (struct blocklist): New struct.
20041 (free_blocklists): New function.
20042 (check_blocklists): Likewise.
20043 (write_blocklists): Likewise.
20044 (grub_cmd_save_env): Complete rewrite.
20045
20046 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
20047 a plain text signature.
20048 (GRUB_ENVBLK_MAXLEN): Removed.
20049 (struct grub_envblk): Complete rewrite.
20050 (grub_envblk_find): Removed.
20051 (grub_envblk_insert): Likewise.
20052 (grub_envblk_open): New prototype.
20053 (grub_envblk_set): Likewise.
20054 (grub_envblk_delete): Put const to VALUE.
20055 (grub_envblk_iterate): Put const to NAME and VALUE.
20056 (grub_envblk_close): New prototype.
20057 (grub_envblk_buffer): New inline function.
20058 (grub_envblk_size): Likewise.
20059
20060 * lib/envblk.c: Include grub/mm.h.
20061 (grub_env_find): Removed.
20062 (grub_envblk_open): New function.
20063 (grub_envblk_close): Likewise.
20064 (escaped_value_len): Likewise.
20065 (find_next_line): Likewise.
20066 (grub_envblk_insert): Removed.
20067 (grub_envblk_set): New function.
20068 (grub_envblk_delete): Complete rewrite.
20069 (grub_envblk_iterate): Likewise.
20070
a9368fd3 200712009-03-28 Robert Millan <rmh@aybabtu.com>
20072
20073 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
20074 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
20075 variables. Use 16-bit loader.
20076 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
20077 loader.
20078 * kern/i386/loader.S (grub_linux_boot): Rename to ...
20079 (grub_linux16_boot): ... this. Update all users.
20080 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
20081 (grub_linux_boot): ... this. Update all users.
20082
20083 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
20084 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
20085 commands to `linux16' and `initrd16'.
20086 (GRUB_MOD_FINI(linux)): Rename to ...
20087 (GRUB_MOD_FINI(linux16)): ... this.
20088
e4dd5a7e 200892009-03-24 Pavel Roskin <proski@gnu.org>
20090
20091 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
20092 not just for compilation.
20093
c04d6e05 200942009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
20095
20096 Move multiboot helper out of kernel
20097
20098 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
20099 `loader/i386/multiboot_helper.S'.
20100 * conf/i386-coreboot.rmk: Likewise
20101 * conf/i386-ieee1275.rmk: Likewise
20102
20103 * kern/i386/loader.S: Move multiboot helpers from here...
20104 * loader/i386/multiboot_helper.S: ...moved here
20105 * include/grub/i386/loader.h: Move declarations of multiboot
20106 helpers from here...
20107 * include/grub/i386/multiboot.h: ...moved here
20108 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
20109
42a5b3fc 201102009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20111
20112 * kern/env.c (grub_env_context_open): Added an argument to specify
20113 whether a new context inherits exported variables from current
20114 one. This is useful when making a sandbox to interpret a config
20115 file.
20116 All callers updated.
20117
20118 * include/grub/env.h (grub_env_context_open): Updated the prototype.
20119
b28bbc4e 201202009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20121
20122 * kern/env.c (grub_env_context_close): Fix memory leaks.
20123
f04f02e4 201242009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20125
20126 * normal/main.c (grub_normal_execute): Added an argument
20127 BATCH to specify if an interactive interface should be provided
20128 after reading a config file.
20129 All callers updated.
20130 (read_command_list): Prevent being executed twice.
20131 (read_fs_list): Likewise.
20132
42a5b3fc 20133 * include/grub/normal.h (grub_normal_execute): Updated the
20134 prototype.
f04f02e4 20135
41473ac2 201362009-03-22 Pavel Roskin <proski@gno.org>
20137
fbc00b0c 20138 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
20139 _start.
20140 * kern/i386/pc/startup.S: Likewise.
20141 * kern/i386/efi/startup.S: Likewise.
20142 * kern/i386/ieee1275/startup.S: Likewise.
20143 * kern/i386/coreboot/startup.S: Likewise.
20144 * kern/x86_64/efi/startup.S: Likewise.
20145
41473ac2 20146 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
20147 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
20148 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
20149
2274cc8f 201502009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
20151
20152 Bugfixes in multiboot for bugs uncovered by solaris kernel.
20153
20154 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
20155 limit detection.
20156 Use vaddr of correct segment for entry_point.
20157
b1b797cb 201582009-03-21 Bean <bean123ch@gmail.com>
20159
20160 * commands/blocklist.c: Add include file <grub/command.h>, remove
20161 <grub/normal.h> and <grub/arg.h>.
20162 (grub_cmd_blocklist): Use the new command interface.
20163 (GRUB_MOD_INIT): Likewise.
20164 (GRUB_MOD_FINI): Likewise.
20165 * commands/boot.c: Likewise.
20166 * commands/cat.c: Likewise.
20167 * commands/cmp.c: Likewise.
20168 * commands/configfile.c: Likewise.
20169 * commands/crc.c: Likewise.
20170 * commands/echo.c: Likewise.
20171 * commands/halt.c: Likewise.
20172 * commands/handler.c: Likewise.
20173 * commands/hdparm.c: Likewise.
20174 * commands/help.c: Likewise.
20175 * commands/hexdump.c: Likewise.
20176 * commands/loadenv.c: Likewise.
20177 * commands/ls.c: Likewise.
20178 * commands/lsmmap.c: Likewise.
20179 * commands/lspci.c: Likewise.
20180 * commands/loadenv.c: Likewise.
20181 * commands/read.c: Likewise.
20182 * commands/reboot.c: Likewise.
20183 * commands/search.c: Likewise.
20184 * commands/sleep.c: Likewise.
20185 * commands/test.c: Likewise.
20186 * commands/usbtest.c: Likewise.
20187 * commands/videotest.c: Likewise.
20188 * commands/i386/cpuid.c: Likewise.
20189 * commands/i386/pc/halt.c: Likewise.
20190 * commands/i386/pc/play.c: Likewise.
20191 * commands/i386/pc/pxecmd.c: Likewise.
20192 * commands/i386/pc/vbeinfo.c: Likewise.
20193 * commands/i386/pc/vbetest.c: Likewise.
20194 * commands/ieee1275/suspend.c: Likewise.
20195 * disk/loopback.c: Likewise.
20196 * font/font_cmd.c: Likewise.
20197 * hello/hello.c: Likewise.
20198 * loader/efi/appleloader.c: Likewise.
20199 * loader/efi/chainloader.c: Likewise.
20200 * loader/i386/bsd.c: Likewise.
20201 * loader/i386/efi/linux.c: Likewise.
20202 * loader/i386/ieee1275/linux.c: Likewise.
20203 * loader/i386/linux.c: Likewise.
20204 * loader/i386/pc/chainloader.c: Likewise.
20205 * loader/i386/pc/linux.c: Likewise.
20206 * loader/powerpc/ieee1275/linux.c: Likewise.
20207 * loader/multiboot_loader.c: Likewise.
20208 * term/gfxterm.c: Likewise.
20209 * term/i386/pc/serial.c: Likewise.
20210 * term/terminfo.c: Likewise.
20211
20212 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
20213 * term/i386/pc/vga.c: Likewise.
20214 * video/readers/jpeg.c: Likewise.
20215 * video/readers/png.c: Likewise.
20216 * video/readers/tga.c: Likewise.
20217
20218 * util/grub-fstest (cmd_loopback): Removed.
20219 (cmd_blocklist): Likewise.
20220 (cmd_ls): Likewise.
20221 (grub_register_command): Likewise.
20222 (grub_unregister_command): Likewise.
20223 (execute_command): Use grub_command_find to locate command and execute
20224 it.
20225
20226 * include/grub/efi/chainloader.h: Removed.
20227 * loader/efi/chainloader_normal.c: Likewise.
20228 * loader/i386/bsd_normal.c: Likewise.
20229 * loader/i386/pc/chainloader_normal.c: Likewise.
20230 * loader/i386/pc/multiboot_normal.c: Likewise.
20231 * loader/linux_normal.c: Likewise.
20232 * loader/multiboot_loader_normal.c: Likewise.
20233 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20234
20235 * gencmdlist.sh: Scan new registration command grub_register_extcmd
20236 and grub_register_command_p1.
20237
20238 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
20239 kern/command.c, lib/arg.c and commands/extcmd.c.
20240 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
20241 (minicmd_mod_SOURCES): New variable.
20242 (minicmd_mod_CFLAGS): Likewise.
20243 (minicmd_mod_LDFLAGS): Likewise.
20244 (extcmd_mod_SOURCES): Likewise.
20245 (extcmd_mod_CFLAGS): Likewise.
20246 (extcmd_mod_LDFLAGS): Likewise.
20247 (boot_mod_SOURCES): Removed.
20248 (boot_mod_CFLAGS): Likewise.
20249 (boot_mod_LDFLAGS): Likewise.
20250
20251 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
20252 kern/corecmd.c.
20253 (kernel_img_HEADERS): Add command.h.
20254 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
20255 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
20256 and lib/arg.c.
20257 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
20258 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
20259 remove the corresponding normal mode command.
20260 (normal_mod_SOURCES): Remove normal/arg.c.
20261 * conf/i386-coreboot.rmk: Likewise.
20262 * conf/i386-efi.rmk: Likewise.
20263 * conf/i386-ieee1275.rmk: Likewise.
20264 * conf/powerpc-ieee1275.rmk: Likewise.
20265 * conf/x86_64-efi.rmk: Likewise.
20266
20267 * include/grub/arg.h: Move from here ...
20268 * include/grub/lib/arg.h: ... to here.
20269
20270 * normal/arg.c: Move from here ...
20271 * lib/arg.c: ... to here.
20272
20273 * commands/extcmd.c: New file.
20274 * commands/minicmd.c: Likewise.
20275 * include/grub/command.h: Likewise.
20276 * include/grub/extcmd.h: Likewise.
20277 * kern/command.c: Likewise.
20278 * kern/corecmd.c: Likewise.
20279
20280 * kern/list.c (grub_list_iterate): Return int instead of void.
20281 (grub_list_insert): New function.
20282 (grub_prio_list_insert): Likewise.
20283
20284 * kern/rescue.c (grub_rescue_command): Removed.
20285 (grub_rescue_command_list): Likewise.
20286 (grub_rescue_register_command): Likewise.
20287 (grub_rescue_unregister_command): Likewise.
20288 (grub_rescue_cmd_boot): Move to minicmd.c
20289 (grub_rescue_cmd_help): Likewise.
20290 (grub_rescue_cmd_info): Likewise.
20291 (grub_rescue_cmd_boot): Likewise.
20292 (grub_rescue_cmd_testload): Likewise.
20293 (grub_rescue_cmd_dump): Likewise.
20294 (grub_rescue_cmd_rmmod): Likewise.
20295 (grub_rescue_cmd_lsmod): Likewise.
20296 (grub_rescue_cmd_exit): Likewise.
20297 (grub_rescue_print_devices): Moved to corecmd.c.
20298 (grub_rescue_print_files): Likewise.
20299 (grub_rescue_cmd_ls): Likewise.
20300 (grub_rescue_cmd_insmod): Likewise.
20301 (grub_rescue_cmd_set): Likewise.
20302 (grub_rescue_cmd_unset): Likewise.
7d074e3c 20303 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 20304 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 20305 commands, remove grub_rescue_register_command calls.
b1b797cb 20306
7d074e3c 20307 * normal/command.c (grub_register_command): Removed.
b1b797cb 20308 (grub_unregister_command): Likewise.
20309 (grub_command_find): Likewise.
20310 (grub_iterate_commands): Likewise.
20311 (rescue_command): Likewise.
20312 (export_command): Moved to corecmd.c.
20313 (set_command): Removed.
20314 (unset_command): Likewise.
20315 (insmod_command): Likewise.
20316 (rmmod_command): Likewise.
20317 (lsmod_command): Likewise.
20318 (grub_command_init): Likewise.
20319
20320 * normal/completion.c (iterate_command): Use cmd->prio to check for
20321 active command.
20322 (complete_arguments): Use grub_extcmd_t structure to find options.
20323 (grub_normal_do_completion): Change function grub_iterate_commands to
20324 grub_command_iterate.
20325
20326 * normal/execute.c (grub_script_execute_cmd): No need to parse
20327 argument here.
20328
20329 * normal/main.c (grub_dyncmd_dispatcher): New function.
20330 (read_command_list): Register unload commands as dyncmd.
20331 (grub_cmd_normal): Use new command interface, register rescue,
20332 unregister normal at entry, register normal, unregister rescue at exit.
20333
20334 * include/grub/list.h (grub_list_test_t): New type.
20335 (grub_list_iterate): Return int instead of void.
20336 (grub_list_insert): New function.
20337 (GRUB_AS_NAMED_LIST_P): New macro.
20338 (GRUB_AS_PRIO_LIST): Likewise.
20339 (GRUB_AS_PRIO_LIST_P): Likewise.
20340 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
20341 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
20342 (grub_prio_list): New structure.
20343 (grub_prio_list_insert): New function.
20344 (grub_prio_list_remove): New inline function.
20345
20346 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
20347 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
20348 (GRUB_COMMAND_FLAG_MENU): Likewise.
20349 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20350 (GRUB_COMMAND_FLAG_TITLE): Likewise.
20351 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20352 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
20353 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
20354 (grub_command): Likewise.
20355 (grub_register_command): Likewise.
20356 (grub_command_find): Likewise.
20357 (grub_iterate_commands): Likewise.
20358 (grub_command_init): Likewise.
20359 (grub_arg_parse): Likewise.
20360 (grub_arg_show_help): Likewise.
20361
20362 * include/grub/rescue.h (grub_rescue_register_command): Removed.
20363 (grub_rescue_unregister_command): Likewise.
20364
20365 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
20366 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
20367 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
20368
20369 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
20370 grub_rescue_cmd_initrd.
20371 * include/grub/i386/loader.h: Likewise.
20372 * include/grub/x86_64/loader.h: Likewise.
20373
20374 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
20375
1f4147aa 203762009-03-21 Bean <bean123ch@gmail.com>
20377
20378 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
20379 instead of stat in mingw environment.
20380
20381 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
20382
20383 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
20384
20385 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
20386 AC_CONFIG_LINKS.
20387
2156d5ba 203882009-03-21 Bean <bean123ch@gmail.com>
20389
20390 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
20391 out of range error.
20392
177b82ca 203932009-03-18 Michel Dänzer <michel@daenzer.net>
20394
20395 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
20396 checking inode flags for EXT4_EXTENTS_FLAG.
20397
14aad807 203982009-03-18 Robert Millan <rmh@aybabtu.com>
20399
20400 * loader/i386/linux.c: Include `<grub/video.h>' and
20401 `<grub/i386/pc/vbe.h>'..
20402 (grub_linux_setup_video): New function. Loosely based on the EFI one.
20403 (grub_linux32_boot): Attempt to configure video settings with
20404 grub_linux_setup_video().
20405 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
20406 to avoid grub_console_fini() which would step out of graphical mode
20407 unconditionally.
20408
8cf83a27 204092009-03-14 Robert Millan <rmh@aybabtu.com>
20410
20411 Fix build on powerpc.
20412 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
20413
40164e75 204142009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
20415
20416 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
20417 background image command.
20418
c58bc32a 204192009-03-12 Colin D Bennett <colin@gibibit.com>
20420
20421 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
20422 (grub_gfxterm_putchar): Extract pairs of identical calls to
20423 draw_cursor out of conditional blocks.
20424
5415144a 204252009-03-11 Pavel Roskin <proski@gnu.org>
20426
20427 * fs/hfs.c (grub_hfs_strncasecmp): New function.
20428 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
20429
6394042e 204302009-03-11 Robert Millan <rmh@aybabtu.com>
20431
20432 * loader/i386/multiboot_elfxx.c
20433 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
20434
b7b50e5f 204352009-03-11 Felix Zielcke <fzielcke@z-51.de>
20436
20437 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
20438 `kern/handler.c'.
20439
1ca7fc96 204402009-03-11 Robert Millan <rmh@aybabtu.com>
20441
20442 * loader/i386/multiboot.c (code_size): New variable.
20443 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 20444 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 20445 4-byte alignment to MBI and others by increasing
7d074e3c 20446 `boot_loader_name_length' appropriately.
1ca7fc96 20447
20448 * loader/i386/multiboot_elfxx.c
20449 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
20450
a83ea1d2 204512009-03-09 Felix Zielcke <fzielcke@z-51.de>
20452
20453 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
20454 `fs/ext2.c'.
20455
aa9f3bff 204562009-03-08 Robert Millan <rmh@aybabtu.com>
20457
20458 Make loader/i386/linux.c usable on i386-pc again.
20459
20460 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
20461 memory to heap.
20462 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
20463 `#error' stanza.
20464
d8b3b60e 204652009-03-07 Bean <bean123ch@gmail.com>
20466
20467 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
20468 allocation.
20469
b362c9e9 204702009-03-06 Robert Millan <rmh@aybabtu.com>
20471
20472 Fix display issue on terminals with screen size other than 80x25
20473 (e.g. gfxterm with resolution higher than 640x480).
20474
20475 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 20476 position relative to the center of the terminal instead of relying
b362c9e9 20477 on a hardcoded offset.
20478
9304eef1 204792009-03-04 Robert Millan <rmh@aybabtu.com>
20480
20481 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
20482 installed.
20483
20484 * Makefile.in (host_kernel): New variable.
20485 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
20486 scripts instead of just the windows one.
20487 * configure.ac: Initialize and AC_SUBST `host_kernel'.
20488
eabc95fb 204892009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 20490
20491 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
20492 `kern/handler.c'.
20493 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20494 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20495 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20497 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20498 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20499
ceb1223c 205002009-03-04 Felix Zielcke <fzielcke@z-51.de>
20501
20502 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
20503 or if there's no space for the disk label and print the partition number on a
20504 invalid magic.
20505
4910684a 205062009-03-04 Felix Zielcke <fzielcke@z-51.de>
20507
20508 * util/misc.c: Include <time.h>.
20509 (grub_millisleep): New function.
20510
7e9ca17a 205112009-03-04 Bean <bean123ch@gmail.com>
20512
20513 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
20514 another option -mno-red-zone.
20515
20516 * commands/handler.c: Change module description.
20517
20518 * kern/handler.c: Add missing space at the end of description line.
20519
20520 * kern/list.c: Likewise.
20521
f501677c 205222009-03-03 Robert Millan <rmh@aybabtu.com>
20523
20524 Move more components to the relocation area, and fix mbi pointer
20525 handling to use the destination rather than the origin (thanks to
20526 Vladimir Serbinenko for spotting).
20527
20528 * loader/i386/multiboot.c (mbi_dest): New variable.
20529 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
20530 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
20531 relocation area.
20532
9902d047 205332009-03-01 Bean <bean123ch@gmail.com>
20534
50fb7002 20535 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 20536 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
20537 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
20538 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
20539
20540 * loader/i386/efi/linux.c (acpi_guid): New variable.
20541 (acpi_guid): Likewise.
20542 (EBDA_SEG_ADDR): New constant.
20543 (LOW_MEM_ADDR): Likewise.
20544 (FAKE_EBDA_SEG): Likewise.
20545 (fake_bios_data): New function.
20546 (grub_linux_boot): Call fake_bios_data.
20547
71b9f361 205482009-03-01 Bean <bean123ch@gmail.com>
20549
20550 * commands/terminal.c: Removed.
20551
20552 * commands/handler.c: New file.
20553
20554 * include/grub/list.h: Likewise.
20555
20556 * include/grub/handler.h: Likewise.
20557
20558 * kern/list.c: Likewise.
20559
20560 * kern/handler.c: Likewise.
20561
20562 * kern/term.h: Include header file <grub/handler.h>.
20563 (grub_term_input): Move next field to the beginning.
20564 (grub_term_output): Likewise.
20565 (grub_term_input_class): New variable.
20566 (grub_term_output_class): Likewise.
20567 (grub_term_register_input): Changed to inline function.
20568 (grub_term_register_output): Likewise.
20569 (grub_term_unregister_input): Likewise.
20570 (grub_term_unregister_output): Likewise.
20571 (grub_term_set_current_input): Likewise.
20572 (grub_term_set_current_output): Likewise.
20573 (grub_term_get_current_input): Likewise.
20574 (grub_term_get_current_output): Likewise.
20575 (grub_term_iterate_input): Removed.
20576 (grub_term_iterate_output): Likewise.
20577
20578 * kern/term.c (grub_term_list_input): Removed.
20579 (grub_term_list_output): Likewise.
20580 (grub_term_input_class): New variable.
20581 (grub_term_output_class): Likewise.
50fb7002 20582 (grub_cur_term_input): Change variable as macro.
71b9f361 20583 (grub_cur_term_output): Likewise.
20584 (grub_term_register_input): Removed.
20585 (grub_term_register_output): Likewise.
20586 (grub_term_unregister_input): Likewise.
20587 (grub_term_unregister_output): Likewise.
20588 (grub_term_set_current_input): Likewise.
20589 (grub_term_set_current_output): Likewise.
20590 (grub_term_iterate_input): Likewise.
20591 (grub_term_iterate_output): Likewise.
20592 (grub_term_get_current_input): Likewise.
20593 (grub_term_get_current_output): Likewise.
20594
20595 * util/grub-editenv.c: Include header file <grub/handler.h>.
20596 (grub_term_get_current_input): Removed.
20597 (grub_term_get_current_output): Likewise.
20598 (grub_term_input_class): New variable.
50fb7002 20599 (grub_term_output_class): Likewise.
71b9f361 20600
20601 * util/grub-fstest.c (grub_term_get_current_input): Removed.
20602 (grub_term_get_current_output): Likewise.
20603 (grub_term_input_class): New variable.
50fb7002 20604 (grub_term_output_class): Likewise.
71b9f361 20605
20606 * util/grub-probe.c (grub_term_get_current_input): Removed.
20607 (grub_term_get_current_output): Likewise.
20608 (grub_term_input_class): New variable.
50fb7002 20609 (grub_term_output_class): Likewise.
71b9f361 20610
20611 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
20612 (grub_term_get_current_output): Likewise.
20613 (grub_term_input_class): New variable.
50fb7002 20614 (grub_term_output_class): Likewise.
71b9f361 20615
20616 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
20617 (terminal_mod_SOURCES): Likewise.
20618 (terminal_mod_CFLAGS): Likewise.
20619 (terminal_mod_LDFLAGS): Likewise.
20620
20621 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
20622 handler.c.
20623 (kernel_img_SOURCES): Add list.c and handler.c.
20624 (kernel_img_HEADERS): Add list.h and handler.h.
20625
20626 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20627 handler.c.
20628 (kernel_mod_SOURCES): Add list.c and handler.c.
20629 (kernel_mod_HEADERS): Add list.h and handler.h.
20630
20631 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
20632 handler.c.
20633 (kernel_elf_SOURCES): Add list.c and handler.c.
20634 (kernel_elf_HEADERS): Add list.h and handler.h.
20635
20636 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20637 handler.c.
20638 (kernel_elf_SOURCES): Add list.c and handler.c.
20639 (kernel_elf_HEADERS): Add list.h and handler.h.
20640
20641 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20642 handler.c.
20643 (kernel_mod_SOURCES): Add list.c and handler.c.
20644 (kernel_mod_HEADERS): Add list.h and handler.h.
20645
20646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20647 handler.c.
20648 (kernel_elf_SOURCES): Add list.c and handler.c.
20649 (kernel_elf_HEADERS): Add list.h and handler.h.
20650
8a31787f 206512009-02-27 Robert Millan <rmh@aybabtu.com>
20652
20653 Factorize elf32 / elf64 code in Multiboot loader. This will
20654 prevent it from getting out of sync again.
20655
20656 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
20657 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
20658 grub_multiboot_load_elf64): Move from here ...
20659 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
20660 grub_multiboot_load_elf): ... to here (new file).
20661
51cd3dfc 206622009-02-27 Robert Millan <rmh@aybabtu.com>
20663
20664 * util/grub.d/10_linux.in: Rename "single-user mode" to
20665 "recovery mode".
20666
6e8c9c3a 206672009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
20668
20669 Don't leak in SCSI code.
20670 * disk/scsi.c (grub_scsi_close): free `scsi'.
20671
4b6bf4f9 206722009-02-27 Robert Millan <rmh@aybabtu.com>
20673
20674 * loader/i386/pc/multiboot.c: Move from here ...
20675 * loader/i386/multiboot.c: ... to here. Update all users.
20676
b9413424 206772009-02-27 Robert Millan <rmh@aybabtu.com>
20678
20679 Patch from Alexandre Bique <bique.alexandre@gmail.com>
20680 * util/i386/pc/grub-setup.c (setup): Fix directory path.
20681
50fb7002 206822009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 20683
20684 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
20685 b-tree.
20686
8cc50345 206872009-02-27 Robert Millan <rmh@aybabtu.com>
20688
20689 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
20690 `0x' qualifier as 0 when base is specified as parameter).
20691
6e09b8b7 206922009-02-24 Bean <bean123ch@gmail.com>
20693
20694 * configure.ac: Check for -mcmodel=large in x86_64 target.
20695
20696 * include/grub/efi/api.h (efi_call_10): New macro.
20697 (efi_wrap_10): New function.
20698
20699 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
20700 (GRUB_PE32_REL_BASED_HIGH): Likewise.
20701 (GRUB_PE32_REL_BASED_LOW): Likewise.
20702 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
20703 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
20704 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
20705 (GRUB_PE32_REL_BASED_SECTION): Likewise.
20706 (GRUB_PE32_REL_BASED_REL): Likewise.
20707 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
20708 (GRUB_PE32_REL_BASED_DIR64): Likewise.
20709 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
20710
20711 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
20712 issue.
20713
20714 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
20715 (efi_wrap_10): New function.
20716
20717 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
20718
20719 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
20720 MB/MBP model (NV chipset).
20721 (devdata_devs): Add devpath_5 to the list.
20722
20723 * load/i386/efi/linux.c (video_base): Remove variable.
20724 (RGB_MASK): New macro.
20725 (RGB_MAGIC): Likewise.
20726 (LINE_MIN): Likewise.
20727 (LINE_MAX): Likewise.
20728 (FBTEST_STEP): Likewise.
20729 (FBTEST_COUNT): Likewise.
20730 (fb_list): New variable.
20731 (grub_find_video_card): Remove function.
20732 (find_framebuf): New function.
20733 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
20734 line length.
20735
20736 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
20737 problem for x86_64.
20738
74b21bee 207392009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
20740
20741 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
20742
20743 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
20744 coding tool name.
20745
a455f472 207462009-02-22 Robert Millan <rmh@aybabtu.com>
20747
20748 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
20749 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
20750 in our relocation, instead of using it directly from heap. Also
20751 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
20752
6374daf3 207532009-02-21 Robert Millan <rmh@aybabtu.com>
20754
20755 Implement USB keyboard support (based on patch by Marco Gerards)
20756
20757 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
20758 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
20759 (usb_keyboard_mod_LDFLAGS): New variables.
20760
20761 * term/usb_keyboard.c: New file.
20762
8fa4ea70 207632009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20764
20765 Corrected wrong declaration
20766
20767 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
20768
353976ac 207692009-02-14 Christian Franke <franke@computer.org>
20770
20771 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
20772 (grub_lspci_iter): Print class code and programming interface byte.
20773
6aa1169b 207742009-02-14 Christian Franke <franke@computer.org>
20775
20776 * gendistlist.sh: Ignore `.svn' directories.
20777
265372ca 207782009-02-14 Felix Zielcke <fzielcke@z-51.de>
20779
20780 * fs/fat.c: Add 2009 to Copyright line.
20781
9ff516f3 207822009-02-14 Christian Franke <franke@computer.org>
20783
20784 * commands/hdparm.c: New file. Provides `hdparm' command
20785 which sends ATA commands via grub_disk_ata_pass_through ().
20786
20787 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
20788
20789 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
20790 and <grub/cpu/io.h> to include/grub/ata.h.
20791 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
20792 (GRUB_CDROM_SECTOR_SIZE): Remove.
20793 (GRUB_ATA_*): Move to include/grub/ata.h.
20794 (GRUB_ATAPI_*): Likewise.
20795 (enum grub_ata_commands): Likewise.
20796 (enum grub_ata_timeout_milliseconds): Likewise.
20797 (struct grub_ata_device): Likewise.
20798 (grub_ata_regset): Likewise.
20799 (grub_ata_regget): Likewise.
20800 (grub_ata_regset2): Likewise.
20801 (grub_ata_regget2): Likewise.
20802 (grub_ata_check_ready): Likewise.
20803 (grub_ata_wait_not_busy): Remove static, exported in
20804 include/grub/ata.h.
20805 (grub_ata_wait_drq): Likewise.
20806 (grub_ata_pio_read): Likewise.
20807
20808 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
20809 function for hdparm.mod.
20810
20811 * include/grub/ata.h: New file, contains declarations from
20812 disk/ata.c.
20813 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
20814
20815 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
20816 (grub_disk_ata_pass_through): New exported variable.
20817
20818 * kern/disk.c (grub_disk_ata_pass_through): New variable.
20819
772e23da 208202009-02-13 Colin D Bennett <colin@gibibit.com>
20821
20822 Support multiple fallback entries, and provide an API to support
20823 executing default+fallback menu entries. Renamed the `terminal' menu
20824 viewer to `text'.
20825
20826 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
20827 variable declaration.
20828 (grub_menu_execute_callback): New structure declaration.
20829 (grub_menu_execute_callback_t): New typedef.
20830 (grub_menu_execute_with_fallback): New function declaration.
20831 (grub_menu_get_entry): Likewise.
20832 (grub_menu_get_timeout): Likewise.
20833 (grub_menu_set_timeout): Likewise.
20834
20835 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
20836
20837 * normal/menu.c (grub_wait_after_message): Moved to
20838 `normal/menu_text.c'.
20839 (draw_border): Likewise.
20840 (print_message): Likewise.
20841 (print_entry): Likewise.
20842 (print_entries): Likewise.
20843 (grub_menu_init_page): Likewise.
20844 (get_entry_number): Likewise.
20845 (print_timeout): Likewise.
20846 (run_menu): Likewise.
20847 (grub_menu_execute_entry): Likewise.
20848 (show_text_menu): Likewise.
20849 (get_and_remove_first_entry_number): New function.
20850 (grub_menu_execute_with_fallback): Likewise.
20851 (get_entry): Renamed to ...
20852 (grub_menu_get_entry): .. this and made it global.
20853 (get_timeout): Renamed to ...
20854 (grub_menu_get_timeout): ... this and made it global.
20855 (set_timeout): Renamed to ...
20856 (grub_menu_set_timeout): ... this and made it global.
20857 (grub_normal_terminal_menu_viewer): Renamed to ...
20858 (grub_normal_text_menu_viewer): ... this.
20859
20860 * normal/menu_text.c: New file. Extracted text-menu-specific code
20861 from normal/menu.c.
20862
20863 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
20864 (normal_mod_SOURCES): Likewise.
20865
20866 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20867 (normal_mod_SOURCES): Likewise.
20868
20869 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20870 (normal_mod_SOURCES): Likewise.
20871
20872 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
20873 (normal_mod_SOURCES): Likewise.
20874
20875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20876 (normal_mod_SOURCES): Likewise.
20877
20878 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20879 (normal_mod_SOURCES): Likewise.
20880
20881 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20882 (normal_mod_SOURCES): Likewise.
20883
16ac430e 208842009-02-11 Robert Millan <rmh@aybabtu.com>
20885
20886 * util/grub.d/00_header.in: Update old reference to `font' command.
20887
06ff20fc 208882009-02-10 Felix Zielcke <fzielcke@z-51.de>
20889
20890 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
20891
20892 Based on patch from Javier Martín.
20893
96da9407 208942009-02-09 Felix Zielcke <fzielcke@z-51.de>
20895
20896 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 20897 to avoid false positives with FAT.
96da9407 20898 (grub_fstest_SOURCES): Likewise.
20899 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20900 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20902 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20903 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20904 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20905
6dca6fe4 209062009-02-09 Felix Zielcke <fzielcke@z-51.de>
20907
06ff20fc 20908 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 20909 bpb.version_specific.fat12_or_fat16.fstype and
20910 bpb.version_specific.fat32.fstype.
20911
2550c62f 209122009-02-08 Robert Millan <rmh@aybabtu.com>
20913
be110b30 20914 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 20915
56978920 209162009-02-08 Robert Millan <rmh@aybabtu.com>
20917
20918 * Makefile.in (host_os, host_cpu): New variables.
20919 (target_os): Remove. Update all users.
20920
d64399b5 209212009-02-08 Marco Gerards <marco@gnu.org>
20922
20923 * Makefile.in (enable_grub_emu_usb): New variable.
20924 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
20925 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
20926 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
20927 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
20928 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
20929 `usbtest.mod' and `usbms.mod'.
20930 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
20931 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
20932 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
20933 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
20934 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
20935 variables.
20936
20937 * disk/usbms.c: New file.
20938
20939 * include/grub/usb.h: Likewise.
20940
20941 * include/grub/usbtrans.h: Likewise.
20942
20943 * include/grub/usbdesc.h: Likewise.
20944
20945 * bus/usb/usbtrans.c: Likewise.
20946
20947 * bus/usb/ohci.c: Likewise.
20948
20949 * bus/usb/uhci.c: Likewise.
20950
20951 * bus/usb/usbhub.c: Likewise.
20952
20953 * bus/usb/usb.c: Likewise.
20954
20955 * commands/usbtest.c: Likewise.
20956
20957 * util/usb.c: Likewise.
50fb7002 20958
d64399b5 20959 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
20960
20961 * configure.ac: Test for libusb presence.
50fb7002 20962
d64399b5 20963 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
20964
2b40d6bb 209652009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
20966
20967 * kern/mm.c: Add more comments.
20968
73a4ce81 209692009-02-08 Robert Millan <rmh@aybabtu.com>
20970
20971 Patch from Javier Martín.
20972 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
20973 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
20974
f821ce59 209752009-02-08 Robert Millan <rmh@aybabtu.com>
20976
20977 * fs/cpio.c: Split tar functionality to ...
20978 * fs/tar.c: ... here (new file). Update all users.
20979
aebfc4b0 209802009-02-07 Robert Millan <rmh@aybabtu.com>
20981
20982 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
20983 backward-incompatible features.
20984
20985 Based on patch from Javier Martín, with some adjustments.
20986
50fb7002 209872009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 20988
20989 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
20990
0bb5115e 209912009-02-07 Robert Millan <rmh@aybabtu.com>
20992
20993 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
20994 position of `disk/lvm.c' to ensure grub_init_all() always picks it
20995 after the RAID stuff.
20996
38a0f8e7 209972009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
20998
50fb7002 20999 Fixes problem when running vbetest command as reported by
38a0f8e7 21000 Vladimir Serbinenko <phcoder@gmail.com>.
21001
21002 * (grub_vbe_set_video_mode): Fixed problem with text modes.
21003
3143cc1c 210042009-02-04 Felix Zielcke <fzielcke@z-51.de>
21005
21006 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
21007 /dev/md/NpN style mdraid devices.
21008
9cba6fce 210092009-02-03 Felix Zielcke <fzielcke@z-51.de>
21010
21011 * util/unifont2pff.rb: Remove.
21012
e507a2c1 210132009-02-03 Felix Zielcke <fzielcke@z-51.de>
21014
21015 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
21016 `#'.
21017
d2c2b4cd 210182009-02-03 Felix Zielcke <fzielcke@z-51.de>
21019
21020 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
21021 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21022 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21023 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21024 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21025 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21026 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21027
b4315fb0 210282009-02-02 Christian Franke <franke@computer.org>
21029
21030 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
21031
de3aa260 210322009-02-01 Felix Zielcke <fzielcke@z-51.de>
21033
7c3ff286 21034 * INSTALL: Note that we now require at least autoconf 2.59 and
21035 that LZO is optional.
de3aa260 21036
825a182b 210372009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21038
21039 Base on patch on bug #24154 created by Tomas Tintera
21040 <trosos@seznam.cz>.
21041
21042 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
21043
a69ef770 210442009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21045
7c3ff286 21046 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 21047 <bero@arklinux.org>.
21048
21049 * normal/parser.y (script_init): Add missing semicolon.
21050
6fa42fa6 210512009-01-31 Colin D Bennett <colin@gibibit.com>
21052
7c3ff286 21053 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 21054 (free_menu_entry_classes): Added.
21055 (grub_normal_menu_addentry): Added class property handling.
21056 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
21057 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
21058
21059 * normal/menu_viewer.c: New file.
21060
21061 * normal/menu.c (run_menu_entry): Renamed to ...
21062 (grub_menu_execute_entry): ... this and made it as global.
21063 (grub_menu_run): Renamed to ...
21064 (show_text_menu): ... this and made it local.
21065 (show_text_menu): Adapt to new function names.
21066 (grub_normal_terminal_menu_viewer): New global variable.
21067
21068 * include/grub/menu.h: New file.
21069
21070 * include/grub/menu_viewer.h: New file.
21071
21072 * include/grub/normal.h: Added include to grub/menu.h.
21073 (grub_menu_entry): Moved to include/grub/menu.h.
21074 (grub_menu_entry_t): Likewise.
21075 (grub_menu): Likewise.
21076 (grub_menu_t): Likewise.
21077 (grub_normal_terminal_menu_viewer): Added.
21078 (grub_menu_execute_entry): Likewise.
21079 (grub_menu_run): Removed.
21080
21081 * DISTLIST: Added include/grub/menu.h.
21082 Added include/grub/menu_viewer.h.
21083 Added normal/menu_viewer.c.
21084
210852009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
21086
21087 * normal/execute.c (grub_script_execute_menuentry): Changed to use
21088 arglist for menutitle arguments.
21089
21090 * normal/main.c (grub_normal_menu_addentry): Likewise.
21091
21092 * normal/parser.y (menuentry): Likewise.
21093
21094 * normal/script.c (grub_script_create_cmdmenu): Likewise.
21095
21096 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
21097 (grub_script_create_cmdmenu): Likewise.
21098
21099 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
21100
21101 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
21102 changes.
21103
21104 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
21105
21106 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
21107
21108 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
21109
21110 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21111
21112 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21113
21114 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21115
56192c23 211162009-01-30 Christian Franke <franke@computer.org>
21117
21118 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
21119 in option help text.
21120
d72521b3 211212009-01-27 Pavel Roskin <proski@gnu.org>
21122
21123 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
21124
994b5e84 211252009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21126
21127 * commands/lsmmap.c: Add include to grub/machine/memory.h.
21128
21129 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
21130
21131 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
21132 unregister function.
21133
6a7eab2c 211342009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21135
21136 * disk/scsi.c (grub_scsi_read): Fix sign problem.
21137
21138 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
21139
21140 * util/grub-mkfont.c (usage): Fix typo.
21141
21142 * util/elf/grub-mkimage.c (load_modules): Fix warning.
21143
1806b56e 211442009-01-26 Daniel Mierswa <impulze@impulze.org>
21145
3fb18f09 21146 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
21147
336e1fb9 21148 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
21149
1806b56e 21150 * kern/misc.c (grub_strcasecmp): New function.
21151 (grub_strcasecmp): Use grub_size_t instead of int for length.
21152 Fix return value.
21153 * include/grub/misc.h: Update function prototypes.
21154
580b2a0f 211552009-01-26 Robert Millan <rmh@aybabtu.com>
21156
21157 * configure.ac: Fix cross-compilation check.
ef257b36 21158
d31c24f1 211592009-01-22 Christian Franke <franke@computer.org>
21160
21161 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
21162 (precision) digit string. Allow `.format2' without `format1' (width).
21163 Limit input chars for `%s' output to `format2' if specified. This is
21164 compatible with standard printf ().
21165
3138b44c 211662009-01-22 Christian Franke <franke@computer.org>
21167
21168 * disk/ata.c (grub_ata_wait_status): Replace by ...
21169 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
21170 other status bits may be invalid while BSY is asserted.
21171 (grub_ata_check_ready): New function.
21172 (grub_ata_cmd): Removed.
21173 (grub_ata_wait_drq): New function.
21174 (grub_ata_strncpy): Remove inline.
21175 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
21176 and error check now done by grub_ata_wait_drq ().
21177 (grub_ata_pio_write): Likewise.
21178 (grub_atapi_identify): Set DEV before check for !BSY. Use
21179 grub_ata_wait_drq () to wait for data.
21180 (grub_ata_device_initialize): Add status register check to
21181 detect missing SATA slave devices. Add debug messages.
21182 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
21183 (grub_atapi_packet): Set DEV before check for !BSY. Replace
21184 transfer loop by grub_ata_pio_write ().
21185 (grub_ata_identify): Set DEV before check for !BSY. Use
21186 grub_ata_wait_drq () to wait for data.
ef257b36 21187 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 21188 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
21189 read/write in one loop. Fix invalid command on write. Fix incomplete
21190 command on (size % batch) == 0. Add missing error check after write of
21191 last block. Add debug messages.
21192 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
21193
59a64ef6 211942009-01-19 Christian Franke <franke@computer.org>
21195
21196 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
21197 (GRUB_ATAPI_IREASON_*): Likewise.
21198 (grub_ata_pio_write): Fix timeout error return.
21199 (grub_atapi_identify): Add grub_ata_wait () after cmd.
21200 (grub_atapi_wait_drq): New function.
21201 (grub_atapi_packet): New parameter `size'.
21202 Use grub_atapi_wait_drq () and direct write instead of
21203 grub_ata_pio_write ().
21204 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
21205 reads the number of bytes requested by the device for each DRQ
21206 assertion.
21207 (grub_atapi_write): Remove old implementation, return not
21208 implemented instead.
21209
1cfe20b3 212102009-01-19 Christian Franke <franke@computer.org>
21211
21212 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
21213 of 512 to calculate data size.
21214 (grub_scsi_read12): Likewise.
21215 (grub_scsi_write10): Likewise.
21216 (grub_scsi_write12): Likewise.
21217 (grub_scsi_read): Adjust size according to blocksize.
21218 Add checks for invalid blocksize and unaligned transfer.
21219
bee5fe5d 212202009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
21221
21222 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
21223
ef257b36 21224 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 21225 width glyphs.
21226
3e643f8c 212272009-01-19 Robert Millan <rmh@aybabtu.com>
21228
21229 * config.guess: Update to latest version from config git.
21230 * config.sub: Likewise.
21231
4fa80998 212322009-01-17 Felix Zielcke <fzielcke@z-51.de>
21233
21234 * Makefile.in: Change font compilation to use new grub-mkfont instead
21235 of java version.
21236
21237 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
21238 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21239 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21240 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21241 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21242 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21243 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21244 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21245 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21246
7086085b 212472009-01-16 Christian Franke <franke@computer.org>
21248
21249 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
21250 (enum grub_ata_timeout_milliseconds): New enum.
21251 (grub_ata_wait_status): Add parameter milliseconds.
21252 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
21253 recovery from timed-out commands.
21254 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
21255 return grub_errno instead of REG_ERROR.
21256 (grub_ata_pio_write): Add parameter milliseconds.
21257 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
21258 Pass milliseconds to grub_ata_wait_status () and
21259 grub_ata_pio_read ().
21260 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
21261 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
21262 grub_ata_wait_status (). Fix IDENTIFY timeout check.
21263 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
21264 It is not suitable for device detection, because DEV bit is ignored,
21265 the command may run too long, and not all devices set the signature
21266 properly.
21267 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
21268 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
21269 Fix device selection, DEV bit must be set first to address the registers
21270 of the correct device.
21271 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
21272 grub_ata_pio_read/write ().
21273 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
21274 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
21275
4a412913 212762009-01-13 Carles Pina i Estany <carles@pina.cat>
21277
21278 * util/grub-editenv.c (main): Use fseeko(), not fseek().
21279
7795c55e 212802009-01-13 Bean <bean123ch@gmail.com>
d913988c 21281
21282 * util/grub-mkfont.c (write_font): forget to remove some debug code.
21283
7795c55e 212842009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 21285
21286 * Makefile.in: (enable_grub_mkfont): New variable.
21287 (freetype_cflags): Likewise.
21288 (freetype_libs): Likewise.
21289
21290 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
21291 (grub_mkfont_SOURCES): New variable.
21292 (grub_mkfont_CFLAGS): Likewise.
21293 (grub_mkfont_LDFLAGS): Likewise.
21294
21295 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
21296 library if `--enable-grub-mkfont' is requested.
21297 (enable_grub_mkfont): New variable.
21298 (freetype_cflags): Likewise.
21299 (freetype_libs): Likewise.
21300
21301 * util/grub-mkfont.c: New file.
21302
093af1fe 213032009-01-12 Christian Franke <franke@computer.org>
21304
21305 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
21306 mode check. Fix setting of compat_use[].
21307
f36cc108 213082009-01-10 Robert Millan <rmh@aybabtu.com>
21309
21310 Update a few copyright years which we forgot to do in 2008 (only for
21311 files whose changes made in 2008 were copyright-significant)
21312
21313 * Makefile.in: Add 2008 to Copyright line.
21314 * disk/ieee1275/ofdisk.c: Likewise.
21315 * disk/efi/efidisk.c: Likewise.
21316 * kern/dl.c: Likewise.
21317 * kern/sparc64/ieee1275/init.c: Likewise.
21318 * kern/mm.c: Likewise.
21319 * kern/efi/mm.c: Likewise.
21320 * boot/i386/pc/boot.S: Likewise.
21321 * genfslist.sh: Likewise.
21322 * fs/iso9660.c: Likewise.
21323 * fs/hfs.c: Likewise.
21324 * fs/jfs.c: Likewise.
21325 * fs/minix.c: Likewise.
21326 * fs/ufs.c: Likewise.
21327 * gensymlist.sh.in: Likewise.
21328 * genkernsyms.sh.in: Likewise.
21329 * include/grub/misc.h: Likewise.
21330 * include/grub/types.h: Likewise.
21331 * include/grub/symbol.h: Likewise.
21332 * include/grub/elf.h: Likewise.
21333 * include/grub/kernel.h: Likewise.
21334 * include/grub/disk.h: Likewise.
21335 * include/grub/dl.h: Likewise.
21336 * include/grub/i386/linux.h: Likewise.
21337 * include/grub/i386/pc/biosdisk.h: Likewise.
21338 * include/grub/efi/api.h: Likewise.
21339 * include/grub/efi/pe32.h: Likewise.
21340 * include/grub/util/misc.h: Likewise.
21341 * normal/execute.c: Likewise.
21342 * normal/arg.c: Likewise.
21343 * normal/completion.c: Likewise.
21344 * normal/lexer.c: Likewise.
21345 * normal/parser.y: Likewise.
21346 * normal/misc.c: Likewise.
21347 * commands/i386/pc/vbeinfo.c: Likewise.
21348 * commands/hexdump.c: Likewise.
21349 * commands/terminal.c: Likewise.
21350 * commands/ls.c: Likewise.
21351 * commands/help.c: Likewise.
21352 * partmap/pc.c: Likewise.
21353 * loader/efi/chainloader.c: Likewise.
21354 * loader/multiboot_loader.c: Likewise.
21355 * loader/i386/pc/multiboot2.c: Likewise.
21356 * term/efi/console.c: Likewise.
21357 * term/i386/pc/serial.c: Likewise.
21358 * util/lvm.c: Likewise.
21359 * util/console.c: Likewise.
21360 * util/i386/efi/grub-mkimage.c: Likewise.
21361 * util/raid.c: Likewise.
21362
7f02114b 213632009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
21364
21365 * commands/videotest.c: Removed include to grub/machine/memory.h.
21366
21367 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
21368 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
21369 (video_mod_SOURCES): Removed.
21370 (video_mod_CFLAGS): Likewise.
21371 (video_mod_LDFLAGS): Likewise.
21372 (gfxterm_mod_SOURCES): Likewise.
21373 (gfxterm_mod_CFLAGS): Likewise.
21374 (gfxterm_mod_LDFLAGS): Likewise.
21375 (videotest_mod_SOURCES): Likewise.
21376 (videotest_mod_CFLAGS): Likewise.
21377 (videotest_mod_LDFLAGS): Likewise.
21378 (bitmap_mod_SOURCES): Likewise.
21379 (bitmap_mod_CFLAGS): Likewise.
21380 (bitmap_mod_LDFLAGS): Likewise.
21381 (tga_mod_SOURCES): Likewise.
21382 (tga_mod_CFLAGS): Likewise.
21383 (tga_mod_LDFLAGS): Likewise.
21384 (jpeg_mod_SOURCES): Likewise.
21385 (jpeg_mod_CFLAGS): Likewise.
21386 (jpeg_mod_LDFLAGS): Likewise.
21387 (png_mod_SOURCES): Likewise.
21388 (png_mod_CFLAGS): Likewise.
21389 (png_mod_LDFLAGS): Likewise.
21390
21391 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
21392 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
21393 (video_mod_SOURCES): Added.
21394 (video_mod_CFLAGS): Likewise.
21395 (video_mod_LDFLAGS): Likewise.
21396 (videotest_mod_SOURCES): Likewise.
21397 (videotest_mod_CFLAGS): Likewise.
21398 (videotest_mod_LDFLAGS): Likewise.
21399 (bitmap_mod_SOURCES): Likewise.
21400 (bitmap_mod_CFLAGS): Likewise.
21401 (bitmap_mod_LDFLAGS): Likewise.
21402 (tga_mod_SOURCES): Likewise.
21403 (tga_mod_CFLAGS): Likewise.
21404 (tga_mod_LDFLAGS): Likewise.
21405 (jpeg_mod_SOURCES): Likewise.
21406 (jpeg_mod_CFLAGS): Likewise.
21407 (jpeg_mod_LDFLAGS): Likewise.
21408 (png_mod_SOURCES): Likewise.
21409 (png_mod_CFLAGS): Likewise.
21410 (png_mod_LDFLAGS): Likewise.
21411 (gfxterm_mod_SOURCES): Likewise.
21412 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 21413 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 21414
21415 * term/gfxterm.c: Removed include to grub/machine/memory.h,
21416 grub/machine/console.h.
21417
644fff97 214182009-01-04 Jerone Young <jerone@gmail.com>
21419
21420 Make on screen instructions clearer
21421
21422 Based on patch created by Jidanni <jidanni@jidanni.org>
21423
21424 * normal/menu.c: print clearer instructions on the screen
21425
1e901a75 214262009-01-02 Colin D Bennett <colin@gibibit.com>
21427
21428 New font engine.
34c44600 21429
1e901a75 21430 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
21431 build system and fixed gfxterm.c to work with different sized fonts.
21432
21433 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 21434
1e901a75 21435 * configure: Re-generated.
34c44600 21436
1e901a75 21437 * DISTLIST: Removed font/manager.c.
21438 Added font/font.c.
21439 Added font/font_cmd.c.
34c44600 21440
1e901a75 21441 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
21442 compilation.
34c44600 21443
1e901a75 21444 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 21445
21446 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 21447
21448 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 21449
1e901a75 21450 * normal/menu.c: Likewise.
34c44600 21451
1e901a75 21452 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
21453 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 21454
1e901a75 21455 * include/grub/font.h: Replaced with new file.
34c44600 21456
1e901a75 21457 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
21458 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
21459 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
21460 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
21461 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 21462 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 21463 fg_red, fg_green, fg_blue, fg_alpha.
21464 (grub_video_adapter): Removed blit_glyph.
34c44600 21465 (grub_video_blit_glyph): Removed.
21466
1e901a75 21467 * font/manager.c: Removed file.
34c44600 21468
21469 * font/font.c: New file.
21470
1e901a75 21471 * font/font_cmd.c: Likewise.
34c44600 21472
1e901a75 21473 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 21474
1e901a75 21475 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
21476 (grub_video_vbe_map_rgba): Likewise.
21477 (grub_video_vbe_unmap_color_int): Likewise.
21478 (grub_video_vbe_blit_glyph): Removed.
21479 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 21480
1e901a75 21481 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
21482 (get_pixel): Likewise.
34c44600 21483 (set_pixel): Likewise.
21484
1e901a75 21485 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 21486
1e901a75 21487 * term/gfxterm.c: Adapted to new font engine.
34c44600 21488
1e901a75 21489 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 21490
1e901a75 21491 * term/i386/pc/vga.c: Likewise.
34c44600 21492
1e901a75 21493 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 21494
1e901a75 21495 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 21496
1e901a75 21497 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 21498
1e901a75 21499 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 21500
1e901a75 21501 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 21502
1e901a75 21503 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 21504
1e901a75 21505 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 21506
1e901a75 21507 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 21508
1e901a75 21509 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21510
21511 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 21512
1e901a75 21513 * util/grub-mkconfig_lib.in: Changed font extension.
21514
278922e8 215152008-12-28 Felix Zielcke <fzielcke@z-51.de>
21516
21517 * util/getroot.c (grub_util_get_grub_dev): Add support for
21518 /dev/md/dNNpNN style partitionable mdraid devices.
21519
3ced05cf 215202008-12-12 Alex Smith <alex@alex-smith.me.uk>
21521
21522 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
21523 at a time limit of the PXE TFTP API correctly.
21524 (grub_pxefs_close): Likewise.
21525
7fd0ee30 215262008-11-29 Robert Millan <rmh@aybabtu.com>
21527
34c44600 21528 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 21529 grub_ata_device_initialize() calls.
21530
34c44600 215312008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 21532
21533 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
21534 iteration failed.
21535 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
21536
89313780 215372008-11-28 Robert Millan <rmh@aybabtu.com>
21538
21539 Fix build on powerpc-ieee1275. Based on patch created by
21540 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
21541 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21542 `kern/ieee1275/mmap.c'.
21543 * include/grub/powerpc/ieee1275/memory.h: New file.
21544
15257703 21545 Provide grub-install on coreboot.
21546 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
21547 (grub_install_SOURCES): New variable.
21548 * util/i386/pc/grub-install.in: Add a few condition checks to make it
21549 usable on coreboot.
21550
9fc5388a 215512008-11-25 Felix Zielcke <fzielcke@z-51.de>
21552
21553 * util/grub-fstest.c (grub_term_get_current_input): Change return type
21554 to `grub_term_input_t'.
21555 (grub_term_get_current_output): Change return type to
21556 `grub_term_output_t'.
21557
bc3a2f31 215582008-11-22 Robert Millan <rmh@aybabtu.com>
21559
34c44600 21560 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 21561 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
21562 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
21563 grub_vga_text_cls().
21564
80fc88f2 21565 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 21566 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 21567
cbf36fd3 21568 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
21569 to 0x200000 (avoids trouble with some OFW implementations, and matches
21570 with the one in Yaboot).
21571 Reported by Manoel Abranches
21572
73e8e268 215732008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 21574
21575 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
21576 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
21577
73e8e268 21578 * util/grub-mkconfig_lib.in (grub_warn): New function.
21579 (convert_system_path_to_grub_path): Use grub_warn() when issuing
21580 warnings, to obtain consistent formatting.
21581 * util/grub.d/00_header.in: Likewise.
21582 * util/update-grub_lib.in: Likewise.
21583
e94045a1 21584 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 21585 Move comment text to `#error' stanza.
e94045a1 21586
79d29fd7 21587 Harmonize ieee1275's grub_available_iterate() with the generic
21588 grub_machine_mmap_iterate() interface (fixes a recently-introduced
21589 build problem on i386-ieee1275):
21590 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
21591 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
21592 parameter `type'. Update all users of this function.
21593 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21594 `kern/ieee1275/mmap.c'.
21595 * kern/ieee1275/init.c
21596 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
21597 with ...
21598 (grub_machine_mmap_iterate): ... this.
21599 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
21600 return type to `grub_err_t'. Update all implementations of this
21601 function prototype.
21602 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
21603 Likewise.
21604
60d6b16e 21605 Add `lsmmap' command (lists firmware-provided memory map):
21606 * commands/lsmmap.c: New file.
21607 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
21608 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
21609 variables.
21610 * conf/powerpc-ieee1275.rmk: Likewise.
21611 * conf/i386-coreboot.rmk: Likewise.
21612 * conf/i386-ieee1275.rmk: Likewise.
21613
ebaaf49b 216142008-11-19 Robert Millan <rmh@aybabtu.com>
21615
21616 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 21617 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
21618 constraints to initrd allocation (based on code from
21619 loader/i386/pc/linux.c). Without them, initrd was allocated too high
21620 for Linux to find it.
ebaaf49b 21621
dfab719f 216222008-11-14 Robert Millan <rmh@aybabtu.com>
21623
21624 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
21625 order to cope with duplicate slashes.
21626
10fc3eb9 216272008-11-14 Robert Millan <rmh@aybabtu.com>
21628
21629 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
21630 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
21631 don't want to mess with lower memory, because it is used in the Linux
21632 loader.
21633
21634 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 21635 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 21636 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
21637 is in our heap (probably as a result of it being corrupted during
2f2a3442 21638 decompression). Add #error instance with comment to explain why this
21639 loader isn't currently usable on PC/BIOS.
10fc3eb9 21640
e2e07847 216412008-11-14 Robert Millan <rmh@aybabtu.com>
21642
21643 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 21644 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 21645
fe8e8d69 216462008-11-12 Robert Millan <rmh@aybabtu.com>
21647
21648 Make loader/i386/linux.c buildable on i386-pc (although disabled).
21649
21650 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
21651 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
21652 from here ...
21653 * include/grub/i386/pc/memory.h: ... to here.
21654
976b07d0 216552008-11-12 Robert Millan <rmh@aybabtu.com>
21656
21657 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
21658 split).
21659
21660 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
21661 (grub_console_cur_color, grub_console_real_putchar)
21662 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21663 (grub_console_setcolorstate, grub_console_setcolor)
21664 (grub_console_getcolor): Move from here ...
21665 * include/grub/i386/vga_common.h: ... to here (new file).
21666
21667 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
21668 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
21669 `<grub/i386/io.h>'.
21670 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
21671 `<grub/i386/vga_common.h>'.
21672
76679cd3 216732008-11-12 Robert Millan <rmh@aybabtu.com>
21674
21675 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
21676 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
21677 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
21678 variables.
21679 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21680 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
21681
21682 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
21683 grub_console_init() with call to grub_vga_text_init().
21684 (grub_machine_fini): Replace call to
21685 grub_console_fini() with call to grub_vga_text_fini() and
21686 grub_at_keyboard_fini().
21687
21688 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
21689 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21690 (grub_console_setcolorstate, grub_console_setcolor)
21691 (grub_console_getcolor): New function prototypes.
21692
21693 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
21694 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
21695 (grub_vga_text_setcursor): Static-ize.
21696 (grub_vga_text_term): New structure.
21697 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
21698
21699 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
21700 (grub_console_cur_color, grub_console_standard_color)
21701 (grub_console_normal_color, grub_console_highlight_color)
21702 (map_char, grub_console_putchar, grub_console_getcharwidth)
21703 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
21704 (grub_console_getcolor): Move from here ...
21705 * term/i386/vga_common.c: ... to here (same function names).
21706
95b841d3 217072008-11-12 Robert Millan <rmh@aybabtu.com>
21708
21709 Use newly-added Multiboot support in coreboot.
21710
21711 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21712 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
21713
21714 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
21715 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
21716 (codestart): Store the MBI in `startup_multiboot_info' when we're
21717 being loaded using Multiboot.
21718
21719 * kern/i386/coreboot/init.c (grub_machine_init): Move
21720 grub_at_keyboard_init() call to beginning of function (useful for
21721 debugging). Call grub_machine_mmap_init() before attempting to use
21722 grub_machine_mmap_iterate().
21723 (grub_lower_mem, grub_upper_mem): Move from here ...
21724 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
21725 here (new file).
21726
21727 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
21728 function prototype.
21729
761ca975 217302008-11-12 Robert Millan <rmh@aybabtu.com>
21731
21732 Fix a regression introduced by the at_keyboard.mod split. Because
21733 some terminals are default on some platforms and non-default on
21734 others, the first terminal being registered determines which is
21735 going to be default.
21736
21737 * kern/term.c (grub_term_register_input): If this is the first
21738 terminal being registered, set it as the current one.
21739 (grub_term_register_output): Likewise.
21740
21741 * term/efi/console.c (grub_console_init): Do not call
21742 grub_term_set_current_output() or grub_term_set_current_input().
21743 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
21744 * term/i386/pc/console.c (grub_console_init): Likewise.
21745 (grub_console_fini): Do not call grub_term_set_current_input()
21746 (but leave grub_term_set_current_output() to restore text mode).
21747
6c529df7 217482008-11-10 Robert Millan <rmh@aybabtu.com>
21749
21750 * util/grub.d/00_header.in: Add backward compatibility check for
21751 versions of terminal.mod that don't understand `terminal_input' or
21752 `terminal_output'.
21753
132e4113 217542008-11-09 Robert Millan <rmh@aybabtu.com>
21755
21756 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
21757 `terminal_input' / `terminal_output', not `terminal'.
21758
ac293d50 217592008-11-08 Robert Millan <rmh@aybabtu.com>
21760
21761 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 21762 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 21763
0025933a 217642008-11-08 Robert Millan <rmh@aybabtu.com>
21765
21766 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 21767 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 21768 members. Update all users.
21769 * util/console.c (grub_ncurses_term): Split in ...
21770 (grub_ncurses_term_input): ... this, and ...
21771 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 21772 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 21773
37c86336 217742008-11-08 Robert Millan <rmh@aybabtu.com>
21775
21776 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
21777 (PKGDATA): Add $(pkgdata_SRCDIR).
21778 (pkglib_BUILDDIR): New variable.
21779 (pkgdata_SRCDIR): New variable.
21780 (build_env.mk): New target.
21781 (include_DATA): New variable.
21782 (install-local): Install $(include_DATA) files in $(includedir).
21783
b6c15a2d 217842008-11-07 Pavel Roskin <proski@gnu.org>
21785
d99d46f1 21786 * gendistlist.sh: Use C locale for sorting to ensure consistent
21787 output on all systems.
21788
b6c15a2d 21789 * util/grub.d/00_header.in: Remove incorrect space before
21790 "serial".
21791
c32ee8c9 217922008-11-07 Robert Millan <rmh@aybabtu.com>
21793
21794 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
21795 per specification.
21796 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
21797 * loader/multiboot_loader.c (find_multi_boot2_header): New function
21798 (based on find_multi_boot1_header).
21799 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
21800 using find_multi_boot2_header(), and abort if neither Multiboot or
21801 Multiboot headers were found.
21802
651c29b7 218032008-11-07 Robert Millan <rmh@aybabtu.com>
21804
21805 Modularize at_keyboard.mod:
21806
21807 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
21808 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21809 (at_keyboard_mod_LDFLAGS): New variables.
21810
21811 Actual terminal split:
21812
21813 * include/grub/term.h (struct grub_term): Split in ...
21814 (struct grub_term_input): ... this, and ...
21815 (struct grub_term_output): ... this. Update all users.
21816 (grub_term_set_current): Split in ...
21817 (grub_term_set_current_input): ... this, and ...
21818 (grub_term_set_current_output): ... this.
21819 (grub_term_get_current): Split in ...
21820 (grub_term_get_current_input): ... this, and ...
21821 (grub_term_get_current_output): ... this.
21822 (grub_term_register): Split in ...
21823 (grub_term_register_input): ... this, and ...
21824 (grub_term_register_output): ... this.
21825 (grub_term_unregister): Split in ...
21826 (grub_term_unregister_input): ... this, and ...
21827 (grub_term_unregister_output): ... this.
21828 (grub_term_iterate): Split in ...
21829 (grub_term_iterate_input): ... this, and ...
21830 (grub_term_iterate_output): ... this.
21831
21832 * kern/term.c (grub_term_list): Split in ...
21833 (grub_term_list_input): ... this, and ...
21834 (grub_term_list_output): ... this. Update all users.
21835 (grub_cur_term): Split in ...
21836 (grub_cur_term_input): ... this, and ...
21837 (grub_cur_term_output): ... this. Update all users.
21838 (grub_term_set_current): Split in ...
21839 (grub_term_set_current_input): ... this, and ...
21840 (grub_term_set_current_output): ... this.
21841 (grub_term_get_current): Split in ...
21842 (grub_term_get_current_input): ... this, and ...
21843 (grub_term_get_current_output): ... this.
21844 (grub_term_register): Split in ...
21845 (grub_term_register_input): ... this, and ...
21846 (grub_term_register_output): ... this.
21847 (grub_term_unregister): Split in ...
21848 (grub_term_unregister_input): ... this, and ...
21849 (grub_term_unregister_output): ... this.
21850 (grub_term_iterate): Split in ...
21851 (grub_term_iterate_input): ... this, and ...
21852 (grub_term_iterate_output): ... this.
21853
21854 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
21855 a check for input and one for output (and only attempt to get keys
21856 from user when input works).
21857
21858 * util/grub-probe.c (grub_term_get_current): Split in ...
21859 (grub_term_get_current_input): ... this, and ...
21860 (grub_term_get_current_output): ... this.
21861 * util/grub-fstest.c: Likewise.
21862 * util/i386/pc/grub-setup.c: Likewise.
21863 * util/grub-editenv.c: Likewise.
21864
21865 Portability adjustments:
21866
21867 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
21868 `term/i386/pc/at_keyboard.c'.
21869 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
21870 grub_keyboard_controller_init() (now handled by terminal .init).
21871 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
21872 grub_at_keyboard_init().
21873 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
21874 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
21875 at_keyboard.mod via input terminal interface).
21876 * include/grub/i386/coreboot/console.h: Convert into a stub for
21877 `<grub/i386/pc/console.h>'.
21878
21879 Migrate full terminals to new API:
21880
21881 * term/efi/console.c (grub_console_term): Split into ...
21882 (grub_console_term_input): ... this, and ...
21883 (grub_console_term_output): ... this. Update all users.
21884 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
21885 (grub_ofconsole_init): Split into ...
21886 (grub_ofconsole_init_input): ... this, and ...
21887 (grub_ofconsole_init_output): ... this.
21888 (grub_ofconsole_term): Split into ...
21889 (grub_ofconsole_term_input): ... this, and ...
21890 (grub_ofconsole_term_output): ... this. Update all users.
21891 * term/i386/pc/serial.c (grub_serial_term): Split into ...
21892 (grub_serial_term_input): ... this, and ...
21893 (grub_serial_term_output): ... this. Update all users.
21894 * term/i386/pc/console.c (grub_console_term): Split into ...
21895 (grub_console_term_input): ... this, and ...
21896 (grub_console_term_output): ... this. Update all users.
21897 (grub_console_term_input): Only enable it on PC/BIOS platform.
21898 (grub_console_init): Remove grub_keyboard_controller_init() call.
21899
21900 Migrate input terminals to new API:
21901
21902 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
21903 `i386' and `i386/pc' to enable build on x86_64 (this driver is
21904 i386-specific anyway).
21905 (grub_console_checkkey): Rename to ...
21906 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
21907 users.
21908 (grub_keyboard_controller_orig): New variable.
21909 (grub_console_getkey): Rename to ...
21910 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
21911 users.
21912 (grub_keyboard_controller_init): Static-ize. Save original
21913 controller value so that it can be restored ...
21914 (grub_keyboard_controller_fini): ... here (new function).
21915 (grub_at_keyboard_term): New structure.
21916 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
21917 functions.
21918
21919 Migrate output terminals to new API:
21920
21921 * term/i386/pc/vga.c (grub_vga_term): Change type to
21922 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21923 members. Update all users.
21924 * term/gfxterm.c (grub_video_term): Change type to
21925 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21926 members. Update all users.
21927 * include/grub/i386/pc/console.h (grub_console_checkkey)
21928 (grub_console_getkey): Do not export (no longer needed by gfxterm,
21929 etc).
21930
21931 Migrate `terminal' command and userland tools to new API:
21932
21933 * commands/terminal.c (grub_cmd_terminal): Split into ...
21934 (grub_cmd_terminal_input): ... this, and ...
21935 (grub_cmd_terminal_output): ... this.
21936 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
21937 `terminal_input' and `terminal_output'.
21938 * util/grub.d/00_header.in: Adjust `terminal' calls to new
21939 `terminal_input' / `terminal_output' API.
21940 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
21941 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
21942 provided ${GRUB_TERMINAL}, convert it).
21943
96e5d876 219442008-11-04 Robert Millan <rmh@aybabtu.com>
21945
21946 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
21947 for FreeBSD.
21948 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
21949
556f3775 219502008-11-03 Bean <bean123ch@gmail.com>
21951
21952 * kern/elf.c (grub_elf32_load): Revert to previous code.
21953 (grub_elf64_load): Likewise.
21954
21955 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
21956
926b9823 219572008-11-01 Robert Millan <rmh@aybabtu.com>
21958
21959 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
21960 (TARGET_CPPFLAGS): Likewise.
21961 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
21962
1432e958 219632008-11-01 Carles Pina i Estany <carles@pina.cat>
21964
21965 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
21966
dba3f844 219672008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 21968
21969 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
21970 addition of objects until the code is not going to be able to fail.
21971
dba3f844 219722008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 21973
21974 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
21975 (add a missing NULL check, and correct them by moving the pointer
21976 operations after the actual check).
21977
7ab28c21 219782008-10-29 Robert Millan <rmh@aybabtu.com>
21979
21980 * util/i386/pc/grub-install.in: Handle empty string as output from
21981 make_system_path_relative_to_its_root().
21982
1b7748eb 219832008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
21984
21985 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
21986 circular metadata worst case scenario. If the metadata is circular
21987 then copy the wrap in place.
21988 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
21989 project lib/format_text/layout.h
21990 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
21991
c9618ab2 219922008-10-03 Felix Zielcke <fzielcke@z-51.de>
21993
7a36edca 21994 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 21995
bf981c62 219962008-10-03 Felix Zielcke <fzielcke@z-51.de>
21997
21998 * util/update-grub_lib.in: Mention filename in warning message.
21999
6d994591 220002008-09-29 Felix Zielcke <fzielcke@z-51.de>
22001
22002 * NEWS: Update for rename of update-grub to grub-mkconfig.
22003
18ade780 220042008-09-29 Felix Zielcke <fzielcke@z-51.de>
22005
22006 * util/update-grub_lib.in: Copy to ...
22007 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 22008 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 22009 * util/update-grub.in: Rename to ...
22010 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
22011 option. Add `--output' option to allow users to specify the generated
22012 configuration file. Default to stdout.
22013 (update_grub_dir): Rename to ...
22014 (grub_mkconfig_dir): ... this.
22015 (grub_cfg): Default to an empty string.
22016 * conf/common.rmk (update-grub): Rename to ...
22017 (grub-mkconfig): ... this.
22018 (update-grub_lib): Copy to ...
22019 (grub-mkconfig_lib): ... this.
22020 (update-grub_SCRIPTS): Copy to ...
22021 (grub-mkconfig_SCRIPTS): ... this. Update all users.
22022 (update-grub_DATA): Rename to ...
22023 (grub-mkconfig_DATA): ... this.
22024
556ce6ac 220252008-09-28 Robert Millan <rmh@aybabtu.com>
22026
22027 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
22028 to `modified'. Add the real `created' field.
22029 (grub_iso9660_uuid): Use `modified' rather than `created' for
22030 constructing the UUID.
22031
220322008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 22033
22034 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
22035 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
22036
92274e85 220372008-09-28 Bean <bean123ch@gmail.com>
22038
22039 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
22040 Thanks to Christian Franke for finding this bug.
22041
add6f17a 220422008-09-25 Robert Millan <rmh@aybabtu.com>
22043
22044 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
22045 instances of grub_util_get_disk_name() (see previous commit).
22046
d2a367b8 220472008-09-25 Robert Millan <rmh@aybabtu.com>
22048
22049 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
22050 `util/i386/get_disk_name.c'.
22051 * conf/i386-efi.rmk: Likewise.
22052 * conf/x86_64-efi.rmk: Likewise.
22053 * conf/i386-coreboot.rmk: Likewise.
22054 * conf/i386-ieee1275.rmk: Likewise.
22055 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
22056 `util/ieee1275/get_disk_name.c'.
22057 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
22058 * util/ieee1275/get_disk_name.c: Remove file.
22059 * util/i386/get_disk_name.c: Remove file.
22060 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
22061 "hd%d" for device.map entries, rather than using
22062 grub_util_get_disk_name().
22063
81a06771 220642008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 22065
22066 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
22067 warning.
22068 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
22069
5a004279 220702008-09-24 Carles Pina i Estany <carles@pina.cat>
22071
22072 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
22073 Changed to 0x5100.
22074 (GRUB_TERM_PPAGE): Changed to 0x4900.
22075
397093d3 220762008-09-24 Robert Millan <rmh@aybabtu.com>
22077
22078 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
22079 macros (they were i386-pc specific).
22080 * include/grub/sparc64/ieee1275/console.h: Likewise.
22081 * include/grub/efi/console.h: Likewise.
22082
a91b6c7c 220832008-09-22 Bean <bean123ch@gmail.com>
22084
22085 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
22086 resident and in attribute list.
22087
22088 * include/grub/ntfs.h (BMP_LEN): Removed.
22089
c40fd116 220902008-09-22 Bean <bean123ch@gmail.com>
22091
81a06771 22092 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 22093 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
22094
22095 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
22096 error occurs, as grub_disk_open will call grub_disk_close, which will
22097 call p->close (scsi).
22098
81a06771 220992008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 22100
22101 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
22102 (AC_PREREQ): Bumped to 2.59.
22103 (AC_TRY_COMPILE): Replace obsolete macro with ...
22104 (AC_COMPILE_IFELSE): ... this.
22105 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
22106 (AC_LINK_IFELSE): ... this.
22107
5dc43410 221082008-09-21 Felix Zielcke <fzielcke@z-51.de>
22109
22110 * autogen.sh: Add a call to `gendistlist.sh'.
22111
9035dce4 221122008-09-19 Christian Franke <franke@computer.org>
22113
22114 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
22115 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
22116 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
22117 Export __enable_execute_stack() to modules.
22118 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
22119 New function.
22120
7fd75377 221212008-09-09 Felix Zielcke <fzielcke@z-51.de>
22122
040030b3 22123 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
22124 Sort the list.
22125
221262008-09-09 Felix Zielcke <fzielcke@z-51.de>
22127
22128 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 22129 #include <grub/util/hostdisk.h>.
22130
89d5ffcf 221312008-09-08 Robert Millan <rmh@aybabtu.com>
22132
22133 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
22134 segments when their filesz is zero (grub_file_read() interprets
81a06771 22135 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 22136 Use `lowest_segment' rather than 0 for calculating the current
22137 segment load address.
22138
40da438f 221392008-09-08 Robert Millan <rmh@aybabtu.com>
22140
22141 * util/hostdisk.c (open_device): Replace a grub_util_info() call
22142 with grub_dprintf("hostdisk", ...), as it was so verbose that it
22143 clobbered useful information.
22144
ddbf5556 221452008-09-08 Robert Millan <rmh@aybabtu.com>
22146
22147 * include/grub/util/biosdisk.h: Move to ...
22148 * include/grub/util/hostdisk.h: ... here. Update all users.
22149 * util/biosdisk.c: Move to ...
22150 * util/hostdisk.c: ... here. Update all users.
22151
783d0f48 221522008-09-07 Robert Millan <rmh@aybabtu.com>
22153
22154 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
22155 variables.
22156 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
22157 and length can be stored directly in the `mbi->mmap_addr' and
22158 `mbi->mmap_length' struct fields.
22159
548e2ea5 221602008-09-07 Robert Millan <rmh@aybabtu.com>
22161
22162 * conf/i386.rmk: New file. Provides declaration for building
22163 `cpuid.mod'.
22164 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
22165 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
22166 variables.
22167 Include `conf/i386.mk'.
22168 * conf/i386-efi.rmk: Likewise.
22169 * conf/x86_64-efi.rmk: Likewise.
22170 * conf/i386-coreboot.rmk: Likewise.
22171 * conf/i386-ieee1275.rmk: Likewise.
22172
0ea85a37 221732008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
22174
22175 Based on patch created by Colin D Bennett <colin@gibibit.com>.
22176 Adds optimization support for BGR based modes.
22177
22178 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
22179 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22180 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22181 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22182 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22183 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22184 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22185 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22186 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22187 (grub_video_i386_vbeblit_index_index): Likewise.
22188 (grub_video_i386_vbeblit_replace_directN): Added.
22189 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22190 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22191 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22192 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22193 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22194 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 22195 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 22196 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22197 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22198 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22199 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22200 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22201 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22202
22203 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
22204 (grub_video_i386_vbefill_R8G8B8): Likewise.
22205 (grub_video_i386_vbefill_index): Likewise.
22206 (grub_video_i386_vbefill_direct32): Added.
22207 (grub_video_i386_vbefill_direct24): Likewise.
22208 (grub_video_i386_vbefill_direct16): Likewise.
22209 (grub_video_i386_vbefill_direct8): Likewise.
22210
81a06771 22211 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 22212 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
22213 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
22214 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
22215 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
22216 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 22217
0ea85a37 22218 * video/video.c (grub_video_get_blit_format): Updated to use new
22219 blit formats. Added handling for 16 bit color modes.
81a06771 22220
22221 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 22222 fillers.
22223 (common_blitter): Updated to use new blitters.
22224
22225 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
22226 Removed.
22227 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22228 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22229 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22230 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22231 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22232 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22233 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22234 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22235 (grub_video_i386_vbeblit_index_index): Likewise.
22236 (grub_video_i386_vbeblit_replace_directN): Added.
22237 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22238 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22239 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22240 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22241 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22242 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22243 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22244 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22245 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22246 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22247 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22248 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22249 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 22250
0ea85a37 22251 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
22252 (grub_video_i386_vbefill_R8G8B8): Likewise.
22253 (grub_video_i386_vbefill_index): Likewise.
22254 (grub_video_i386_vbefill_direct32): Added.
22255 (grub_video_i386_vbefill_direct24): Likewise.
22256 (grub_video_i386_vbefill_direct16): Likewise.
22257 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 22258
0ea85a37 22259 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
22260 types.
81a06771 22261
0ea85a37 22262 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
22263 types.
81a06771 22264
0ea85a37 22265 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
22266 blitter types.
81a06771 22267
0ea85a37 22268 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
22269 types.
22270
e8a83df6 222712008-09-06 Felix Zielcke <fzielcke@z-51.de>
22272
22273 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
22274 RAID level 1.
22275
6bcd8ee5 222762008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 22277
6bcd8ee5 22278 * fs/iso9660.c (grub_iso9660_date): New structure.
22279 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
22280 (grub_iso9660_uuid): New function.
c375ae58 22281
59261157 222822008-09-05 Bean <bean123ch@gmail.com>
22283
22284 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
22285
22286 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
22287 insensitive bit for names in Win32 and Win32 & DOS namespace.
22288
22289 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
22290
22291 * include/grub/types.h (LONG_MAX): Likewise.
22292
58b6645a 222932008-09-04 Felix Zielcke <fzielcke@z-51.de>
22294
4ee55921 22295 * util/getroot.c: Include <config.h>.
22296 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
22297 add support for /dev/md/N devices and handle LVM double dash escaping.
22298
222992008-09-04 Felix Zielcke <fzielcke@z-51.de>
22300
22301 * config.guess: Update to latest version from config git.
22302 * config.sub: Likewise.
58b6645a 22303
9124f65d 223042008-09-03 Robert Millan <rmh@aybabtu.com>
22305
22306 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
22307 `disk->total_sectors'.
22308
81a06771 223092008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 22310
22311 * include/grub/normal.h: Fixed incorrect comment for
22312 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
22313
81a06771 223142008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 22315
22316 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
22317 values with defines.
22318
22319 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
22320 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
22321 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
22322 (GRUB_VBE_MODEATTR_COLOR): Likewise.
22323 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
22324 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
22325 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
22326 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
22327 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
22328 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
22329 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
22330 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
22331 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
22332 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
22333 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
22334 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
22335 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
22336 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
22337 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
22338
93d5cbf8 223392008-08-31 Robert Millan <rmh@aybabtu.com>
22340
22341 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
22342 declaration.
22343 (grub_multiboot): Fix a few warnings.
22344
21751d50 223452008-08-31 Robert Millan <rmh@aybabtu.com>
22346
22347 * loader/i386/pc/multiboot.c: Update comment not to say that
22348 boot_device support is unimplemented.
22349
e27a75c5 223502008-08-31 Robert Millan <rmh@aybabtu.com>
22351
22352 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
22353 or memory map support are unimplemented.
22354
81a06771 223552008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 22356
22357 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
22358
81a06771 223592008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 22360
22361 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
22362 total video memory in 'vbeinfo' output; show color format details for
22363 each video mode.
22364
7c5d8d95 223652008-08-30 Pavel Roskin <proski@gnu.org>
22366
22367 * util/genmoddep.c: Remove for real this time.
22368 * DISTLIST: Remove util/genmoddep.c.
22369
4cebd25a 223702008-08-30 Robert Millan <rmh@aybabtu.com>
22371
22372 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
22373 as required by Multiboot spec (it was already 4-byte aligned, but
22374 only by chance).
22375
b497a269 223762008-08-29 Pavel Roskin <proski@gnu.org>
22377
e3925185 22378 * kern/powerpc/ieee1275/crt0.S: Rename to ...
22379 * kern/powerpc/ieee1275/startup.S: ... this.
22380 * conf/powerpc-ieee1275.rmk: Adjust for the above.
22381 * DISTLIST: Likewise.
22382
b497a269 22383 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
22384 grub/cpu/kernel.h. Add start label for consistency with other
22385 platforms. Add grub_prefix immediately after start. Add jump
22386 to the code after grub_prefix.
22387 * include/grub/powerpc/kernel.h: Provide valid values for
22388 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
22389
6e5a42fe 223902008-08-29 Bean <bean123ch@gmail.com>
22391
22392 * configure.ac: Change host_os to cygwin for mingw.
22393 (asprintf): New check for function.
22394
22395 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
22396 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
22397
22398 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 22399 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 22400 sync, sleep and grub_util_get_disk_size for mingw.
22401
22402 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
22403 to get size in mingw.
22404 (open_device): Use flag O_BINARY if it's defined.
22405 (find_root_device): Add dummy code for mingw.
22406
22407 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
22408 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
22409 (get_scsi_disk_name): Return 0 for mingw.
22410
22411 * util/hostfs.c: #include <grub/util/misc.h>.
22412 (grub_hostfs_open): Use "rb" flag to open file, use
22413 grub_util_get_disk_size to get disk size for mingw.
22414
22415 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
22416 (asprintf): New function if HAVE_ASPRINTF is not set.
22417 (sync): New function for mingw.
22418 (sleep): Likewise.
22419 (grub_util_get_disk_size): Likewise.
22420
ab3f2673 224212008-08-28 Pavel Roskin <proski@gnu.org>
22422
22423 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22424 kern/time.c.
22425
1c282483 224262008-08-28 Robert Millan <rmh@aybabtu.com>
22427
22428 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
22429
678e849c 224302008-08-28 Robert Millan <rmh@aybabtu.com>
22431
22432 Change find_grub_drive() syntax so it doesn't prevent it from
22433 detecting NULL names as errors.
22434
22435 * util/biosdisk.c (find_grub_drive): Move free slot search code
22436 from here ...
22437 (find_free_slot): ... to here.
22438 (read_device_map): Use find_free_slot() to search for free slots.
22439
965c75ca 224402008-08-27 Marco Gerards <marco@gnu.org>
22441
22442 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
22443 (scsi_mod_SOURCES): New variable.
22444 (scsi_mod_CFLAGS): Likewise
22445 (scsi_mod_LDFLAGS): Likewise.
22446
22447 * disk/scsi.c: New file.
22448
22449 * include/grub/scsi.h: Likewise.
22450
22451 * include/grub/scsicmd.h: Likewise.
22452
22453 * disk/ata.c: Include <grub/scsi.h>.
22454 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
22455 instead.
22456 (grub_ata_iterate): Skip ATAPI devices.
22457 (grub_ata_open): Only handle ATAPI devices.
22458 (struct grub_atapi_read): Removed.
22459 (grub_atapi_readsector): Likewise.
22460 (grub_ata_read): No longer handle ATAPI devices.
22461 (grub_ata_write): Likewise.
22462 (grub_atapi_iterate): New function.
22463 (grub_atapi_read): Likewise.
22464 (grub_atapi_write): Likewise.
22465 (grub_atapi_open): Likewise.
22466 (grub_atapi_close): Likewise.
22467 (grub_atapi_dev): New variable.
22468 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
22469 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
22470
22471 * include/grub/disk.h (enum grub_disk_dev_id): Add
22472 `GRUB_DISK_DEVICE_SCSI_ID'.
22473
c07ae501 224742008-08-26 Robert Millan <rmh@aybabtu.com>
22475
22476 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
22477 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
22478 descriptive.
22479
5ed20adc 224802008-08-23 Bean <bean123ch@gmail.com>
22481
22482 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
22483 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22484 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
22485 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
22486 dm_nv.mod.
22487 (raid5rec_mod_SOURCES): New macro.
22488 (raid5rec_mod_CFLAGS): Likewise.
22489 (raid5rec_mod_LDFLAGS): Likewise.
22490 (raid6rec_mod_SOURCES): Likewise.
22491 (raid6rec_mod_CFLAGS): Likewise.
22492 (raid6rec_mod_LDFLAGS): Likewise.
22493 (mdraid_mod_SOURCES): Likewise.
22494 (mdraid_mod_CFLAGS): Likewise.
22495 (mdraid_mod_LDFLAGS): Likewise.
22496 (dm_nv_mod_SOURCES): Likewise.
22497 (dm_nv_mod_CFLAGS): Likewise.
22498 (dm_nv_mod_LDFLAGS): Likewise.
22499
22500 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
22501 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22502 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22503
22504 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
22505 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22506
22507 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22508
22509 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22510
22511 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22512
22513 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22514
22515 * disk/raid5_recover.c: New file.
22516
22517 * disk/raid6_recover.c: Likewise.
22518
22519 * disk/mdraid_linux.c: Likewise.
22520
22521 * disk/dmraid_nvidia.c: Likewise.
22522
22523 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
22524 ULONG_MAX.
22525
22526 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
22527 calculate the size of raid device.
22528 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
22529 different layout of raid5.
22530 (grub_raid_scan_device): Remove code specific to mdraid.
22531 (grub_raid_list): New variable.
22532 (free_array): New function.
22533 (grub_raid_register): Likewise.
22534 (grub_raid_unregister): Likewise.
22535 (grub_raid_rescan): Likewise.
22536 (GRUB_MOD_INIT): Don't iterate device here.
22537 (GRUB_MOD_FINI): Use free_array to release resource.
22538
22539 * include/grub/raid.h: Remove macro and structure specific to mdraid.
22540 (grub_raid5_recover_func_t): New function variable type.
22541 (grub_raid6_recover_func_t): Likewise.
22542 (grub_raid5_recover_func): New variable.
22543 (grub_raid6_recover_func): Likewise.
22544 (grub_raid_register): New function.
22545 (grub_raid_unregister): Likewise.
22546 (grub_raid_rescan): Likewise.
22547 (grub_raid_block_xor): Likewise.
22548
22549 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
22550 (CMD_CRC): New macro.
22551 (part): Removed.
22552 (read_file): Handle device as well as file.
22553 (cmd_crc): New function.
22554 (fstest): Handle multiple disks.
22555 (options): Remove part, raw and long, add root and diskcount.
22556 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 22557 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 22558 add handling for the new options, support multiple disks.
22559
22560 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
22561
29c18915 225622008-08-23 Bean <bean123ch@gmail.com>
22563
22564 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
22565
22566 * genfslist.sh: Ignore kernel.mod.
22567
22568 * genpartmaplist.sh: Likewise.
22569
8415f261 225702008-08-23 Robert Millan <rmh@aybabtu.com>
22571
22572 * util/getroot.c (find_root_device): Skip anything that starts with
22573 a dot, not just directories. This avoids things like /dev/.tmp.md0.
22574
d5a7dc5b 225752008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 22576
d5a7dc5b 22577 * util/update-grub.in (GRUB_GFXMODE): Export variable.
22578 * util/grub.d/00_header.in: Allow the administrator to change default
22579 gfxmode via ${GRUB_GFXMODE}.
22580
380cfbb4 225812008-08-21 Felix Zielcke <fzielcke@z-51.de>
22582
22583 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
22584
c9baafe7 225852008-08-21 Robert Millan <rmh@aybabtu.com>
22586
22587 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
22588 loader.
22589 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
22590 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
22591
e290bef2 225922008-08-20 Carles Pina i Estany <carles@pina.cat>
22593
22594 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
22595 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
22596
f9dbfc96 225972008-08-19 Robert Millan <rmh@aybabtu.com>
22598
22599 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
22600 (struct grub_virtual_screen): Remove `cursor_color'.
22601 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
22602 initialization.
22603 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
22604
dd6bd6ab 226052008-08-18 Robert Millan <rmh@aybabtu.com>
22606
22607 Unify (identical) linux_normal.c files.
22608 * loader/i386/efi/linux_normal.c: Move from here ...
22609 * loader/linux_normal.c: ... to here. Update all users.
22610 * loader/i386/pc/linux_normal.c: Delete. Update all users.
22611 * loader/i386/ieee1275/linux_normal.c: Likewise.
22612
7f42f83e 226132008-08-18 Robert Millan <rmh@aybabtu.com>
22614
22615 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
22616 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
22617 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
22618 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
22619 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
22620 New macros.
22621 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
22622 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
22623 (GRUB_LINUX_CL_END_OFFSET): ... to here.
22624 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
22625 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
22626 (GRUB_EFI_CL_END_OFFSET): Rename to ...
22627 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
22628 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
22629 Initialize `params->video_cursor_x' and `params->video_cursor_y'
22630 portably using grub_getxy().
22631 Replace `-EFI' with `-bzImage' in boot message.
22632
38487ddb 226332008-08-17 Robert Millan <rmh@aybabtu.com>
22634
22635 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
22636
deceb3ec 226372008-08-17 Robert Millan <rmh@aybabtu.com>
22638
22639 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
22640
22641 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
22642 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
22643 (grub_machine_mmap_iterate): New function declaration.
22644 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
22645 structure.
22646 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
22647 macros.
22648
22649 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
22650 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
22651 Move e820 parsing from here ...
22652 * kern/i386/pc/mmap.c: New file.
22653 (grub_machine_mmap_iterate): ... to here.
22654
22655 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
22656 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
22657 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
22658 (grub_available_iterate): Redeclare to return `void', and redeclare
22659 its hook to use grub_uint64_t as addr and size parameters, and rename
22660 to ...
22661 (grub_machine_mmap_iterate): ... this. Update all users.
22662
22663 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
22664 to make it more readable. Rename to ...
22665 (grub_machine_mmap_iterate): ... this.
22666
22667 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
22668 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
22669 (grub_multiboot): Allocate an extra region after the payload, and fill
22670 it with a Multiboot memory map. Adjust a.out loader to calculate size
22671 with the extra space.
22672 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
22673 with the extra space.
22674
f8aa0f43 226752008-08-17 Carles Pina i Estany <carles@pina.cat>
22676
9807deb9 22677 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 22678
605f5bb6 226792008-08-17 Felix Zielcke <fzielcke@z-51.de>
22680
22681 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
22682 mdate-sh to the list `find' searches for.
22683 * DISTLIST: Regenerated.
22684
210db6c6 226852008-08-16 Felix Zielcke <fzielcke@z-51.de>
22686
22687 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
22688 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 22689 genmoddep.awk, gensymlist.sh.in.
22690 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 22691 * DISTLIST: Regenerated.
48cdbfd4 22692 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 22693
1082b929 226942008-08-16 Robert Millan <rmh@aybabtu.com>
22695
22696 * disk/raid.c (grub_raid_init): Handle/report errors set by
22697 grub_device_iterate().
22698 * disk/lvm.c (grub_lvm_init): Likewise.
22699
42ce5170 227002008-08-15 Bean <bean123ch@gmail.com>
22701
22702 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22703 and datehook.mod.
22704 (datetime_mod_SOURCES): New macro.
22705 (datetime_mod_CFLAGS): Likewise.
22706 (datetime_mod_LDFLAGS): Likewise.
22707 (date_mod_SOURCES): Likewise.
22708 (date_mod_CFLAGS): Likewise.
22709 (date_mod_LDFLAGS): Likewise.
22710 (datehook_mod_SOURCES): Likewise.
22711 (datehook_mod_CFLAGS): Likewise.
22712 (datehook_mod_LDFLAGS): Likewise.
22713
22714 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22715 and datehook.mod.
22716 (datetime_mod_SOURCES): New macro.
22717 (datetime_mod_CFLAGS): Likewise.
22718 (datetime_mod_LDFLAGS): Likewise.
22719 (date_mod_SOURCES): Likewise.
22720 (date_mod_CFLAGS): Likewise.
22721 (date_mod_LDFLAGS): Likewise.
22722 (datehook_mod_SOURCES): Likewise.
22723 (datehook_mod_CFLAGS): Likewise.
22724 (datehook_mod_LDFLAGS): Likewise.
22725
22726 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22727 and datehook.mod.
22728 (datetime_mod_SOURCES): New macro.
22729 (datetime_mod_CFLAGS): Likewise.
22730 (datetime_mod_LDFLAGS): Likewise.
22731 (date_mod_SOURCES): Likewise.
22732 (date_mod_CFLAGS): Likewise.
22733 (date_mod_LDFLAGS): Likewise.
22734 (datehook_mod_SOURCES): Likewise.
22735 (datehook_mod_CFLAGS): Likewise.
22736 (datehook_mod_LDFLAGS): Likewise.
22737
22738 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22739 and datehook.mod.
22740 (datetime_mod_SOURCES): New macro.
22741 (datetime_mod_CFLAGS): Likewise.
22742 (datetime_mod_LDFLAGS): Likewise.
22743 (date_mod_SOURCES): Likewise.
22744 (date_mod_CFLAGS): Likewise.
22745 (date_mod_LDFLAGS): Likewise.
22746 (datehook_mod_SOURCES): Likewise.
22747 (datehook_mod_CFLAGS): Likewise.
22748 (datehook_mod_LDFLAGS): Likewise.
22749
22750 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22751 and datehook.mod.
22752 (datetime_mod_SOURCES): New macro.
22753 (datetime_mod_CFLAGS): Likewise.
22754 (datetime_mod_LDFLAGS): Likewise.
22755 (date_mod_SOURCES): Likewise.
22756 (date_mod_CFLAGS): Likewise.
22757 (date_mod_LDFLAGS): Likewise.
22758 (datehook_mod_SOURCES): Likewise.
22759 (datehook_mod_CFLAGS): Likewise.
22760 (datehook_mod_LDFLAGS): Likewise.
22761
22762 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
22763
22764 * commands/date.c: New file.
22765
22766 * hook/datehook.c: Likewise.
22767
22768 * include/grub/lib/datetime.h: Likewise.
22769
22770 * include/grub/i386/cmos.h: Likewise.
22771
22772 * lib/datetime.c: Likewise.
22773
22774 * lib/i386/datetime.c: Likewise.
22775
22776 * lib/efi/datetime.c: Likewise.
22777
0e9242da 227782008-08-14 Robert Millan <rmh@aybabtu.com>
22779
22780 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
22781 (grub_mkelfimage_SOURCES): New variable.
22782 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
22783
22784 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
22785 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
22786 * conf/powerpc-ieee1275.rmk: Likewise.
22787 * conf/i386-ieee1275.rmk: Likewise.
22788
22789 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
22790 * kern/i386/coreboot/init.c: Likewise.
22791
22792 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
22793 with `<grub/cpu/kernel.h>'.
22794 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
22795 to ...
22796 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
22797 * kern/i386/coreboot/startup.S: Likewise.
22798
22799 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
22800 (GRUB_MOD_GAP): Remove.
22801 * include/grub/powerpc/kernel.h: New file.
22802 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
22803 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22804 * include/grub/i386/kernel.h: New file.
22805 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
22806 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
22807 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22808
22809 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
22810 `grub-mkelfimage'.
22811 Use --directory when invoking grub_mkimage.
22812
22813 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
22814 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
22815 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
22816 and GRUB_KERNEL_CPU_PREFIX.
22817
b86408f8 228182008-08-14 Felix Zielcke <fzielcke@z-51.de>
22819
d5e619ca 22820 * include/grub/err.h (grub_err_printf): New function prototype.
22821 * util/misc.c (grub_err_printf): New function.
22822 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
22823 grub_printf.
22824 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 22825
7161f0e0 228262008-08-13 Robert Millan <rmh@aybabtu.com>
22827
22828 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
22829
a1967522 228302008-08-13 Robert Millan <rmh@aybabtu.com>
22831
22832 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
22833 boot entry.
22834
371458b5 228352008-08-12 Robert Millan <rmh@aybabtu.com>
22836
22837 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
22838 of the relocation code from here ...
22839 (grub_multiboot): ... to here.
22840 (forward_relocator, backward_relocator): Move from here ...
22841 * kern/i386/loader.S (grub_multiboot_forward_relocator)
22842 (grub_multiboot_backward_relocator): ... to here.
22843 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
22844 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
22845 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
22846 (grub_multiboot_forward_relocator_end)
22847 (grub_multiboot_backward_relocator)
22848 (grub_multiboot_backward_relocator_end): New variables.
22849
05f9452b 228502008-08-12 Bean <bean123ch@gmail.com>
22851
22852 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
22853
20024ab0 228542008-08-11 Robert Millan <rmh@aybabtu.com>
22855
22856 * kern/i386/linuxbios/startup.S: Move from here ...
22857 * kern/i386/coreboot/startup.S: ... to here.
22858
22859 * kern/i386/linuxbios/init.c: Move from here ...
22860 * kern/i386/coreboot/init.c: ... to here.
22861
22862 * kern/i386/linuxbios/table.c: Move from here ...
22863 * kern/i386/coreboot/mmap.c: ... to here.
22864
22865 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
22866
e352e9cd 228672008-08-11 Robert Millan <rmh@aybabtu.com>
22868
22869 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
22870 errors. Leave it to the upper layer to handle them.
22871
2d05bc6a 228722008-08-09 Christian Franke <franke@computer.org>
22873
22874 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
22875 * conf/common.rmk: Install `grub-pe2elf' only if requested.
22876 Install `grub.d/10_windows' only on Cygwin.
22877 * configure.ac: Add subst of `target_os'.
22878 Check `target_os' also before setting TARGET_OBJ2ELF.
22879 Add `--enable-grub-pe2elf'.
22880
042bd419 228812008-08-08 Robert Millan <rmh@aybabtu.com>
22882
22883 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22884 (grub_last_time): Change type to grub_uint64_t.
22885 (grub_disk_open): Migrate code from to using grub_get_time_ms().
22886 (grub_disk_close): Likewise.
22887
22888 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22889 (run_menu): Migrate code from to using grub_get_time_ms().
22890
22891 * util/misc.c (grub_get_time_ms): New function.
22892
7f280db5 228932008-08-08 Marco Gerards <marco@gnu.org>
22894
22895 * disk/ata.c (grub_ata_regget): Change return type to
22896 `grub_uint8_t'.
22897 (grub_ata_regget2): Likewise.
22898 (grub_ata_wait_status): New function.
22899 (grub_ata_wait_busy): Removed function, updated all users to use
22900 `grub_ata_wait_status'.
22901 (grub_ata_wait_drq): Likewise.
22902 (grub_ata_cmd): New function.
22903 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
22904 error handling.
22905 (grub_ata_pio_write): Add error handling.
22906 (grub_atapi_identify): Likewise.
22907 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
22908 handling.
22909 (grub_ata_identify): Use `grub_ata_cmd' and improve error
22910 handling. Actually use the detected registers. Reorder the
22911 detection logic such that it is easier to read.
22912 (grub_ata_pciinit): Do not assign the same ID to each controller.
22913 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
22914 handling.
22915 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
22916
22917 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
22918
1fbc5e66 229192008-08-08 Marco Gerards <marco@gnu.org>
22920
22921 * NEWS: Update.
22922
819ce6c0 229232008-08-07 Bean <bean123ch@gmail.com>
22924
22925 * include/grub/x86_64/pci.h: New file.
22926
5c41d44d 229272008-08-07 Christian Franke <franke@computer.org>
22928
22929 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
22930 (TIMER2_GATE): Likewise.
22931 (grub_pit_wait): Add enable/disable of the timer2 gate
22932 bit of port 0x61. This fixes a possible infinite loop.
22933
5ebc275d 229342008-08-07 Bean <bean123ch@gmail.com>
22935
22936 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
22937 kern/i386/tsc.c and kern/i386/pit.c.
22938
22939 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
22940 x86_64 platform.
22941
22942 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
22943 <grub/i386/tsc.h>.
22944
22945 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
22946
e383b3d0 229472008-08-07 Bean <bean123ch@gmail.com>
22948
22949 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
22950
22951 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
22952
22953 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
22954 multiple inclusion. Add #include <grub/types.h>.
22955
1cbb58ac 229562008-08-06 Christian Franke <franke@computer.org>
22957
22958 * conf/common.rmk: Build and install `10_windows'.
22959 * util/grub.d/10_windows.in: New script.
22960
337f5a1e 229612008-08-06 Pavel Roskin <proski@gnu.org>
22962
22963 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
22964
057bc4ac 229652008-08-06 Robert Millan <rmh@aybabtu.com>
22966
22967 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
22968 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
22969
2b99f123 229702008-08-06 Bean <bean123ch@gmail.com>
22971
22972 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
22973 (grub_pxefs_fs_int): Remove dummy definition.
22974 (grub_pxefs_open): Use data->block_size to store the current block
22975 size setting.
22976 (grub_pxefs_read): Use block size stored in data->block_size. As the
22977 value of grub_pxe_blksize can be changed after the file is opened.
22978
9f0234cb 229792008-08-06 Bean <bean123ch@gmail.com>
22980
22981 * fs/i386/pc/pxe.c (curr_file): new variable.
22982 (grub_pxefs_open): Simply the handling of pxe file system. Don't
22983 require the dummy internal file system anymore.
22984 (grub_pxefs_read): Removed.
22985 (grub_pxefs_close): Likewise.
22986 (grub_pxefs_fs_int): Likewise.
22987 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
22988 connection when we switch file.
22989 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
22990
a55d42e0 229912008-08-06 Robert Millan <rmh@aybabtu.com>
22992
22993 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
22994 `halt.mod'.
22995 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
22996 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
22997
22998 * kern/i386/halt.c: New file.
22999 * kern/i386/reboot.c: Likewise.
23000 * include/grub/i386/reboot.h: Likewise.
23001 * include/grub/i386/halt.h: Likewise.
23002
23003 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
23004 Include `<grub/cpu/halt.h>'.
23005 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
23006 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
23007
23008 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
23009 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
23010 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
23011 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
23012 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
23013 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
23014 from here ...
23015 * include/grub/i386/at_keyboard.h: ... to here.
23016
24371d26 230172008-08-05 Robert Millan <rmh@aybabtu.com>
23018
23019 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
23020 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
23021 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
23022 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23023 `kern/generic/millisleep.c'.
23024
23025 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
23026 instead of grub_get_rtc().
23027 (grub_tsc_init): Initialize `tsc_boot_time'.
23028
23029 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
23030 (grub_machine_init): Use grub_tsc_init() rather than
23031 installing an RTC-based handler via grub_install_get_time_ms().
23032
23033 * kern/i386/pit.c: New file.
23034 * include/grub/i386/pit.h: Likewise.
23035
9e7007b3 230362008-08-05 Bean <bean123ch@gmail.com>
23037
23038 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
23039
23040 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
23041 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
23042 (pxe_mod_SOURCES): New macro.
23043 (pxe_mod_CFLAGS): Likewise.
23044 (pxe_mod_LDFLAGS): Likewise.
23045 (pxecmd_mod_SOURCES): Likewise.
23046 (pxecmd_mod_CFLAGS): Likewise.
23047 (pxecmd_mod_LDFLAGS): Likewise.
23048
23049 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
23050 (grub_pxe_call): Likewise.
23051
23052 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
23053
23054 * commands/i386/pc/pxecmd.c: New file.
23055
9f0234cb 23056 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 23057
23058 * include/grub/i386/pc/pxe.h: Likewise.
23059
6977d49f 230602008-08-05 Bean <bean123ch@gmail.com>
23061
23062 * util/console.c (grub_console_cur_color): New variable.
23063 (grub_console_standard_color): Likewise.
23064 (grub_console_normal_color): Likewise.
23065 (grub_console_highlight_color): Likewise.
23066 (color_map): Likewise.
23067 (use_color): Likewise.
23068 (NUM_COLORS): New macro.
23069 (grub_ncurses_setcolorstate): Handle color properly.
23070 (grub_ncurses_setcolor): Don't change color here, just remember the
23071 settings, color will be set in grub_ncurses_setcolorstate.
23072 (grub_ncurses_getcolor): New function.
23073 (grub_ncurses_init): Initialize color pairs.
23074 (grub_ncurses_term): New member grub_ncurses_getcolor.
23075
9c2ff3ee 230762008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 23077
9c2ff3ee 23078 High resolution timer support. Implemented for x86 CPUs using TSC.
23079 Extracted generic grub_millisleep() so it's linked in only as needed.
23080 This requires a Pentium compatible CPU; if the RDTSC instruction is
23081 not supported, then it falls back on the generic grub_get_time_ms()
23082 implementation that uses the machine's RTC.
23083
23084 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
23085 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23086 `kern/generic/millisleep.c'.
23087
23088 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
23089 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
23090
23091 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
23092 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
23093
23094 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23095
23096 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23097 `kern/generic/millisleep.c'.
23098
23099 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23100
23101 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
23102
23103 * kern/generic/rtc_get_time_ms.c: New file.
23104
23105 * kern/generic/millisleep.c: New file.
337f5a1e 23106
9c2ff3ee 23107 * kern/misc.c: Don't include
23108 <kern/time.h> anymore.
23109 (grub_millisleep_generic): Removed.
23110
23111 * commands/sleep.c (grub_interruptible_millisleep): Uses
23112 grub_get_time_ms() instead of grub_get_rtc().
23113
23114 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
23115 function.
23116 (grub_cpu_is_cpuid_supported): New inline function.
23117 (grub_cpu_is_tsc_supported): New inline function.
23118 (grub_tsc_init): New function prototype.
23119 (grub_tsc_get_time_ms): New function prototype.
23120
23121 * kern/i386/tsc.c (grub_get_time_ms): New file.
23122
23123 * include/grub/time.h: Include <grub/types.h.
23124 (grub_millisleep_generic): Removed.
23125 (grub_get_time_ms): New prototype.
23126 (grub_install_get_time_ms): New prototype.
23127 (grub_rtc_get_time_ms): New prototype.
23128
23129 * kern/time.c (grub_get_time_ms): New function.
23130 (grub_install_get_time_ms): New function.
23131
23132 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
23133 <grub/time.h> anymore.
23134 (grub_millisleep): Removed.
23135 (grub_machine_init): Call grub_tsc_init.
23136
23137 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
23138 get_time_ms() implementation.
23139
23140 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
23141 (ieee1275_get_time_ms): New function.
23142 (grub_machine_init): Install get_time_ms() implementation.
23143
23144 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
23145 (grub_machine_init): Call grub_tsc_init().
23146 (grub_millisleep): Removed.
bf06a93f 23147
9c2ff3ee 23148 * kern/ieee1275/init.c (grub_millisleep): Removed.
23149 (grub_machine_init): Install ieee1275_get_time_ms()
23150 implementation.
23151 (ieee1275_get_time_ms): New function.
23152 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
23153 real work.
23154
9ec92aaf 231552008-08-05 Marco Gerards <marco@gnu.org>
23156
23157 * disk/ata.c: Include <grub/pci.h>.
23158 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
23159 (grub_ata_initialize): Rewritten.
23160 (grub_ata_device_initialize): New function.
23161
8d23f507 231622008-08-04 Pavel Roskin <proski@gnu.org>
23163
23164 * kern/main.c: Include grub/mm.h.
23165
5e15ee3d 231662008-08-04 Robert Millan <rmh@aybabtu.com>
23167
23168 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
23169 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
23170 corruption problem).
23171
a9053f8f 231722008-08-04 Robert Millan <rmh@aybabtu.com>
23173
23174 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
23175 warnings introduced in my last commit.
23176
dd19c7d7 231772008-08-03 Robert Millan <rmh@aybabtu.com>
23178
23179 Make PCI available on all i386 architectures.
23180
23181 * include/grub/i386/pc/pci.h: Move from here ...
23182 * include/grub/i386/pci.h: ... to here.
23183
23184 * include/grub/i386/pc/pci.h: Remove.
23185 * include/grub/i386/efi/pci.h: Remove.
23186 * include/grub/x86_64/efi/pci.h: Remove.
23187
23188 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
23189 `<grub/cpu/pci.h>'.
23190
23191 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
23192 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
23193 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
23194
23195 * conf/i386-ieee1275.rmk: Likewise.
23196
e14a6184 231972008-08-03 Robert Millan <rmh@aybabtu.com>
23198
23199 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
23200 (grub_console_setcursor): Make it possible to set cursor off.
23201
52768e37 232022008-08-03 Robert Millan <rmh@aybabtu.com>
23203
23204 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
23205 of modules instead of assuming which platform provides what.
23206 * util/update-grub.in: Likewise.
23207
2d52f57f 232082008-08-03 Robert Millan <rmh@aybabtu.com>
23209
23210 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
23211 instead of `grub_install_dos_part' to determine whether a drive needs
23212 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 23213 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 23214
2a5cd121 232152008-08-02 Robert Millan <rmh@aybabtu.com>
23216
23217 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
23218
93808428 232192008-08-02 Robert Millan <rmh@aybabtu.com>
23220
23221 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
23222 of informational grub_dprintf() calls.
23223
3bd0a12a 232242008-08-02 Robert Millan <rmh@aybabtu.com>
23225
23226 * disk/memdisk.c (memdisk_size): Don't initialize.
23227 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
23228
23229 * include/grub/i386/pc/kernel.h
23230 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
23231 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
23232 (grub_memdisk_image_size, grub_arch_memdisk_addr)
23233 (grub_arch_memdisk_size): Remove.
23234
23235 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
23236 field (was only used to transfer a constant). Add `type' field to
23237 support multiple module types.
23238 (grub_module_iterate): New function.
23239
23240 * kern/device.c (grub_device_open): Do not hide error messages
23241 when grub_disk_open() fails. Use grub_print_error() instead.
23242
23243 * kern/i386/pc/init.c (grub_arch_modules_addr)
23244 (grub_arch_memdisk_size): Remove functions.
23245 (grub_arch_modules_addr): Return the module address in high memory
23246 (now that it isn't copied anymore).
23247
23248 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
23249 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
23250 decompression routine (grub_total_module_size already includes that
23251 now). Don't copy modules back to low memory.
23252
23253 * kern/main.c: Include `<grub/mm.h>'.
23254 (grub_load_modules): Split out (and use) ...
23255 (grub_module_iterate): ... this function, which iterates through
23256 module objects and runs a hook.
23257 Comment out grub_mm_init_region() call, as it would cause non-ELF
23258 modules to be overwritten.
23259
23260 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
23261 the memdisk image in its own region, make it part of the module list.
23262 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
23263 (main): Parse --memdisk|-m option, and pass user-provided path as
23264 parameter to generate_image().
23265 (add_segments): Pass `memdisk_path' down to load_modules().
23266 (load_modules): Embed memdisk image in module section when requested.
23267 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
23268 `header.type' instead of `header.offset'.
23269
23270 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
23271 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
23272 (memdisk_mod_LDFLAGS): New variables.
23273 * conf/i386-coreboot.rmk: Likewise.
23274 * conf/i386-ieee1275.rmk: Likewise.
23275
a927cc73 232762008-08-02 Robert Millan <rmh@aybabtu.com>
23277
23278 * loader/i386/pc/multiboot.c (playground, forward_relocator)
23279 (backward_relocator): New variables. Used to allocate and relocate
23280 the payload, respectively.
23281 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 23282 address, install the appropriate relocator code in each bound of
a927cc73 23283 the payload, and set the entry point such that
23284 grub_multiboot_real_boot() will jump to one of them.
23285
23286 * kern/i386/loader.S (grub_multiboot_payload_size)
23287 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23288 (grub_multiboot_payload_entry_offset): New variables.
23289 (grub_multiboot_real_boot): Set cpu context to what the relocator
23290 expects, and jump to the relocator instead of the payload.
23291
23292 * include/grub/i386/loader.h (grub_multiboot_payload_size)
23293 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23294 (grub_multiboot_payload_entry_offset): Export.
23295
b15d8a0c 232962008-08-01 Bean <bean123ch@gmail.com>
23297
23298 * normal/menu_entry.c (editor_getline): Don't return the original
23299 string as result, as it will be released by lexer once it has done
23300 using it.
23301
cdfb3d22 233022008-08-01 Robert Millan <rmh@aybabtu.com>
23303
23304 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
23305 within menuentries, not before them.
23306 util/grub.d/10_hurd.in: Likewise.
23307
9175e93d 233082008-08-01 Bean <bean123ch@gmail.com>
23309
23310 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
23311 (bufio_mod_SOURCES): New macro.
23312 (bufio_mod_CFLAGS): Likewise.
23313 (bufio_mod_LDFLAGS): Likewise.
23314
23315 * include/grub/bufio.h: New file.
23316
23317 * io/bufio.c: Likewise.
23318
23319 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
23320 (grub_video_reader_png): Use grub_buffile_open to open file.
23321
23322 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
23323 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
23324
23325 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
23326 (grub_video_reader_tga): Use grub_buffile_open to open file.
23327
23328 * font/manager.c: Include <grub/bufio.h>.
23329 (add_font): Use grub_buffile_open to open file.
23330
3d8383e7 233312008-07-31 Robert Millan <rmh@aybabtu.com>
23332
23333 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
23334 ELF segments, use a macro for arbitrarily accessing any of them instead
23335 of preparing a pointer that allows access to one at a time.
23336 (grub_multiboot_load_elf64): Likewise.
23337
16e641b6 233382008-07-31 Bean <bean123ch@gmail.com>
23339
23340 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
23341 GRUB_KERNEL_MACHINE_DATA_END.
23342
59198b72 233432008-07-30 Robert Millan <rmh@aybabtu.com>
23344
23345 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
23346 Increase from 0x50 to 0x60.
23347 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
23348 use UUIDs to identify the root drive for them. If that's not
23349 possible, abort.
23350 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
23351 check, for cross-disk installs.
23352
ae88bca3 233532008-07-30 Robert Millan <rmh@aybabtu.com>
23354
23355 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
23356 is non-empty, use it to set the `prefix' environment variable instead
23357 of the usual approach.
23358 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
23359 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
23360 environment variable instead of dummy make_install_device().
23361
23362 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
23363 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 23364 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 23365
23366 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
23367 New variable reference.
23368 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
23369 New macro. Defines offset of `grub_prefix' within startup.S (relative
23370 to `start').
23371 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
23372 section within startup.S (relative to `start').
23373 * include/grub/i386/coreboot/kernel.h: Likewise.
23374
23375 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
23376 Overwrite grub_prefix with its contents, at the beginning of the
23377 first segment.
23378 (main): Understand -p|--prefix.
23379
14f41dd1 233802008-07-30 Robert Millan <rmh@aybabtu.com>
23381
23382 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
23383
4ca049a3 233842008-07-30 Robert Millan <rmh@aybabtu.com>
23385
23386 * term/i386/pc/vga_text.c (grub_console_cls): Use
23387 grub_console_gotoxy() to go back to beginning of the screen.
23388 Found by Patrick Georgi <patrick.georgi@coresystems.de>
23389
2921d337 233902008-07-29 Christian Franke <franke@computer.org>
23391
23392 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23393 Add conversion of emulated mount points on Cygwin.
23394
b609876d 233952008-07-29 Christian Franke <franke@computer.org>
23396
23397 * util/update-grub.in: Add a check for admin
23398 group on Cygwin.
23399 Remove old `grub.cfg.new' before creation.
23400 Add `-f' to `mv' to handle the different filesystem
23401 semantics of Windows.
23402
e93e4679 234032008-07-29 Bean <bean123ch@gmail.com>
23404
23405 * normal/main.c (get_line): Fix buffer overflow bug.
23406
41694fd0 234072008-07-28 Robert Millan <rmh@aybabtu.com>
23408
23409 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
23410 (struct grub_apple_header): New struct. Describes the layout of
23411 the partmap header.
23412 (apple_partition_map_iterate): Check the header magic as well as the
23413 partition magic (which was already being checked).
23414
cfd0b4e6 234152008-07-28 Pavel Roskin <proski@gnu.org>
23416
23417 * genmk.rb: Add a warning to the beginning of the output that
23418 it's a generated file and should not be edited.
23419
93cce016 234202008-07-28 Robert Millan <rmh@aybabtu.com>
23421
23422 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23423 with the same number are found, just use issue a warning with
23424 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 23425
cd1df915 234262008-07-27 Robert Millan <rmh@aybabtu.com>
23427
23428 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
23429 information.
23430
b70a8427 234312008-07-27 Bean <bean123ch@gmail.com>
23432
23433 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
23434 (grub_fat_find_dir): Ignore case when comparing filename.
23435
8f5e379f 234362008-07-27 Bean <bean123ch@gmail.com>
23437
23438 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
23439 smallino, as it's more descriptive, and i8count can be confused with
23440 the other field count.
23441 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
23442 inode type.
23443
a85cd5a0 234442008-07-27 Bean <bean123ch@gmail.com>
23445
23446 * commands/crc.c: New file.
23447
23448 * lib/crc.c: Likewise.
23449
23450 * include/grub/lib/crc.h: Likewise.
23451
23452 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
23453
23454 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
23455 (hexdump): Move this function to ...
23456
23457 * lib/hexdump.c: ... here.
23458
23459 * include/grub/hexdump.h: Renamed to ...
23460
23461 * include/grub/lib/hexdump.h: ... this.
23462
23463 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
23464
23465 * util/grub-editenv.c: Likewise.
23466
23467 * include/envblk.h: Renamed to ...
23468
23469 * include/lib/envblk.h: ... this.
23470
23471 * util/envblk.c: Renamed to ...
23472
23473 * lib/envblk.c: ... this.
23474
23475 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
23476 lib/hexdump.c.
23477 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
23478 (pkglib_MODULES): Add crc.mod.
23479 (hexdump_mod_SOURCES): Add lib/hexdump.c.
23480 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
23481 (crc_mod_SOURCES): New macro.
23482 (crc_mod_CFLAGS): Likewise.
23483 (crc_mod_LDFLAGS): Likewise.
23484
23485 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
23486
23487 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23488
23489 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23490
23491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23492
23493 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23494
c298def0 234952008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 23496
23497 * commands/help.c: Include <grub/term.h>.
23498 (TERM_WIDTH): Removed. Updated all users.
23499
cc349fb3 235002008-07-27 Pavel Roskin <proski@gnu.org>
23501
23502 * util/getroot.c (find_root_device): Rephrase a comment to avoid
23503 spurious warnings about a comment within a comment.
23504
9051607e 235052008-07-25 Robert Millan <rmh@aybabtu.com>
23506
23507 * util/getroot.c (find_root_device): Skip devices that match
23508 /dev/dm-[0-9]. This lets the real device be found for any type of
23509 abstraction (LVM, EVMS, RAID..).
23510 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
23511 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
23512 device is found first, find_root_device() will now skip it.
23513
01453bfc 235142008-07-24 Pavel Roskin <proski@gnu.org>
23515
23516 * include/grub/types.h: Use __builtin_bswap32() and
23517 __builtin_bswap64() with gcc 4.3 and newer.
23518
6af9849f 235192008-07-24 Christian Franke <franke@computer.org>
23520
3a0fa256 23521 * util/i386/pc/grub-install.in: If `--debug' is specified,
23522 pass `--verbose' to grub-setup.
23523 Abort script if make_system_path_relative_to_its_root() fails.
23524
7810e747 235252008-07-24 Bean <bean123ch@gmail.com>
23526
23527 * configure.ac: Fixed a bug caused by the previous cygwin patch,
23528 variable `target_platform' should be `platform'.
23529
42290e17 235302008-07-24 Bean <bean123ch@gmail.com>
23531
51cc5193 23532 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 23533 (grub_png_init_fixed_block): New function.
23534 (grub_png_decode_image_data): Handle fixed huffman code compression.
23535
2a8a80e4 235362008-07-24 Bean <bean123ch@gmail.com>
23537
23538 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
23539 (grub_pe2elf_SOURCES): New macro.
23540 (CLEANFILES): Add grub-pe2elf.
23541
23542 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
23543 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
23544 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
23545 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
23546 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
23547 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
23548 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
23549 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
23550 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
23551 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
23552 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
23553 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
23554 (GRUB_PE32_DT_FUNCTION): Likewise.
23555 (GRUB_PE32_REL_I386_DIR32): Likewise.
23556 (GRUB_PE32_REL_I386_REL32): Likewise.
23557 (grub_pe32_symbol): New structure.
23558 (grub_pe32_reloc): Likewise.
23559
23560 * util/grub-pe2elf.c: New file.
23561
23562 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
23563 start symbol in non pc platform.
23564
23565 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
23566
23567 The following patches are from Christian Franke.
23568
23569 * include/grub/dl.h: Remove .previous, gas supports this only
23570 for ELF format.
23571
23572 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
23573 Remove .type, gas supports this only for ELF format.
23574
23575 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
23576 nullbytes in symbol table. This fixes an infinite loop if table is
23577 zero filled.
23578
23579 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
23580 TARGET_IMG_LDFLAGS and EXEEXT.
23581
23582 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
23583 TARGET_IMG_LDFLAGS_AC.
23584 (grub_CHECK_STACK_ARG_PROBE): New function.
23585
23586 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
23587
23588 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
23589
23590 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
23591 to set TARGET_IMG_LD* accordingly.
23592 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
23593 Add call to grub_CHECK_STACK_ARG_PROBE.
23594 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
23595
23596 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
23597
23598 * genmk.rb: Add EXEEXT to CLEANFILES.
23599
12ccdb75 236002008-07-23 Robert Millan <rmh@aybabtu.com>
23601
23602 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
23603 define the codes for arrows and lines used for the menu).
23604 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
23605 as well.
23606
23607 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
23608 fonts, because the latter are too slow.
23609
18eeaf04 236102008-07-21 Bean <bean123ch@gmail.com>
23611
23612 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
23613 a20. Run keyboard test last, as it will cause macbook to halt.
23614
b095e2ad 236152008-07-18 Pavel Roskin <proski@gnu.org>
23616
23617 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
23618 load foreign architecture modules correctly anyway. Keep
23619 support for loading host architecture modules, whether we
23620 compile them or not.
23621
737feb35 236222008-07-17 Pavel Roskin <proski@gnu.org>
23623
3f4ce737 23624 * configure.ac: Use -m32 or -m64 regardless of whether we had to
23625 change target_cpu. The compiler default can mismatch target_cpu
23626 in any case.
23627
4ad2d049 23628 * disk/efi/efidisk.c: Fix format warnings on x86_64.
23629 * kern/efi/efi.c: Likewise.
23630
f6130a12 23631 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
23632 target compiler is functional.
23633 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
23634 are set up.
23635
58393a2d 23636 * configure.ac: Default to efi platform for x86_64-apple. Allow
23637 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
23638 adjustments from the rest, only do them if target is not
23639 explicitly given. Merge other adjustments with the final sanity
23640 check. Remove an extraneous check for supported CPU. Be
23641 specific which CPU and which platform is not supported.
23642
737feb35 23643 * configure.ac: Default to pc platform for x86_64.
23644
546f966a 236452008-07-17 Robert Millan <rmh@aybabtu.com>
23646
23647 Partial LinuxBIOS -> Coreboot rename.
23648
23649 * conf/i386-linuxbios.rmk: Renamed to ...
23650 * conf/i386-coreboot.rmk: ... this.
23651 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
23652 * configure.ac: Accept "coreboot" as input platform (but maintain
23653 compatibility with "linuxbios").
23654 * include/grub/i386/linuxbios: Renamed to ...
23655 * include/grub/i386/coreboot: ... this.
23656
20011694 236572008-07-17 Bean <bean123ch@gmail.com>
23658
23659 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 23660 (appleldr_mod_SOURCE): New variable.
20011694 23661 (appleldr_mod_CFLAGS): Likewise.
23662 (appleldr_mod_LDFLAGS): Likewise.
23663 (pci_mod_SOURCES): Likewise.
23664 (pci_mod_CFLAGS): Likewise.
23665 (pci_mod_LDFLAGS): Likewise.
23666 (lspci_mod_SOURCES): Likewise.
23667 (lspci_mod_CFLAGS): Likewise.
23668 (lspci_mod_LDFLAGS): Likewise.
23669
23670 * conf/x86_64-efi.rmk: New file.
23671
23672 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
23673 macro.
23674 (grub_efidisk_write): Likewise.
23675
23676 * include/efi/api.h (efi_call_0): New macro.
23677 (efi_call_1): Likewise.
23678 (efi_call_2): Likewise.
23679 (efi_call_3): Likewise.
23680 (efi_call_4): Likewise.
23681 (efi_call_5): Likewise.
23682 (efi_call_6): Likewise.
23683
23684 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
23685 grub_rescue_cmd_chainloader.
23686
23687 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
23688 (grub_pe32_optional_header): Change some fields based on i386 or
23689 x86_64 platform.
23690 (GRUB_PE32_PE32_MAGIC): Likewise.
23691
23692 * include/grub/efi/uga_draw.h: New file.
23693
23694 * include/grub/elf.h (STN_ABS): New constant.
23695 (R_X86_64_NONE): Relocation constant for x86_64.
23696 (R_X86_64_64): Likewise.
23697 (R_X86_64_PC32): Likewise.
23698 (R_X86_64_GOT32): Likewise.
23699 (R_X86_64_PLT32): Likewise.
23700 (R_X86_64_COPY): Likewise.
23701 (R_X86_64_GLOB_DAT): Likewise.
23702 (R_X86_64_JUMP_SLOT): Likewise.
23703 (R_X86_64_RELATIVE): Likewise.
23704 (R_X86_64_GOTPCREL): Likewise.
23705 (R_X86_64_32): Likewise.
23706 (R_X86_64_32S): Likewise.
23707 (R_X86_64_16): Likewise.
23708 (R_X86_64_PC16): Likewise.
23709 (R_X86_64_8): Likewise.
23710 (R_X86_64_PC8): Likewise.
23711
23712 * include/grub/i386/efi/pci.h: New file.
23713
23714 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
23715 Change it value based on platform.
23716 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
23717 (GRUB_E820_RAM): Likewise.
23718 (GRUB_E820_RESERVED): Likewise.
23719 (GRUB_E820_ACPI): Likewise.
23720 (GRUB_E820_NVS): Likewise.
23721 (GRUB_E820_EXEC_CODE): Likewise.
23722 (GRUB_E820_MAX_ENTRY): Likewise.
23723 (grub_e820_mmap): New structure.
23724 (linux_kernel_header): Change the efi field according to different
23725 kernel version, also field from linux_kernel_header.
23726
23727 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
23728
23729 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
23730 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
23731 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
23732 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
23733 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
23734 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
23735 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
23736 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
23737 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
23738 (GRUB_PCI_ADDR_IO_MASK): Likewise.
23739
23740 * include/grub/x86_64/efi/kernel.h: New file.
23741
23742 * include/grub/x86_64/efi/loader.h: Likewise.
23743
23744 * include/grub/x86_64/efi/machine.h: Likewise.
23745
23746 * include/grub/x86_64/efi/pci.h: Likewise.
23747
23748 * include/grub/x86_64/efi/time.h: Likewise.
23749
23750 * include/grub/x86_64/linux.h: Likewise.
23751
23752 * include/grub/x86_64/setjmp.h: Likewise.
23753
23754 * include/grub/x86_64/time.h: Likewise.
23755
23756 * include/grub/x86_64/types.h: Likewise.
23757
23758 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
23759 GRUB_TARGET_SIZEOF_VOID_P.
23760
23761 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
23762 (grub_efi_locate_handle): Likewise.
23763 (grub_efi_open_protocol): Likewise.
23764 (grub_efi_set_text_mode): Likewise.
23765 (grub_efi_stall): Likewise.
23766 (grub_exit): Likewise.
23767 (grub_reboot): Likewise.
23768 (grub_halt): Likewise.
23769 (grub_efi_exit_boot_services): Likewise.
23770 (grub_get_rtc): Likewise.
23771
23772 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
23773 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
23774 (grub_efi_allocate_pages): Wrap efi calls.
23775 (grub_efi_free_pages): Wrap efi calls.
23776 (grub_efi_get_memory_map): Wrap efi calls.
23777
23778 * kern/x86_64/dl.c: New file.
23779
23780 * kern/x86_64/efi/callwrap.S: Likewise.
23781
23782 * kern/x86_64/efi/startup.S: Likewise.
23783
23784 * loader/efi/appleloader.c: Likewise.
23785
23786 * loader/efi/chainloader.c (cmdline): New variable.
23787 (grub_chainloader_unload): Wrap efi calls.
23788 (grub_chainloader_boot): Likewise.
23789 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
23790 command line.
23791
23792 * loader/efi/chainloader_normal.c (chainloader_command):
23793 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
23794 command line.
23795
23796 * loader/i386/efi/linux.c (allocate_pages): Change allocation
23797 method.
23798 (grub_e820_add_region): New function.
23799 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
23800 booting.
23801 (grub_find_video_card): New function.
23802 (grub_linux_setup_video): New function.
23803 (grub_rescue_cmd_linux): Probe for video information.
23804
23805 * normal/x86_64/setjmp.S: New file.
23806
23807 * term/efi/console.c (map_char): New function.
23808 (grub_console_putchar): Map unicode char.
23809 (grub_console_checkkey): Wrap efi calls.
23810 (grub_console_getkey): Likewise.
23811 (grub_console_getwh): Likewise.
23812 (grub_console_gotoxy): Likewise.
23813 (grub_console_cls): Likewise.
23814 (grub_console_setcolorstate): Likewise.
23815 (grub_console_setcursor): Likewise.
23816
23817 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
23818
59652a20 238192008-07-16 Pavel Roskin <proski@gnu.org>
23820
ef294055 23821 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
23822 format strings.
23823
59652a20 23824 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
23825 pointer, not an integer. This fixes a warning and prevents
23826 precision loss on 64-bit systems.
23827 (relocate_addresses): Remove unneeded cast.
23828
afc3b5d7 238292008-07-15 Pavel Roskin <proski@gnu.org>
23830
506b2b3e 23831 * kern/i386/ieee1275/init.c: Include grub/cache.h.
23832
62ead89c 23833 * term/ieee1275/ofconsole.c: Disable code unused on i386.
23834
c4cd51d7 23835 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
23836 Fix comparison between signed and unsigned.
23837
0d3d8f28 23838 * include/grub/i386/ieee1275/console.h: Declare
23839 grub_console_init() and grub_console_fini().
23840
8804b286 23841 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
23842 It's empty and unused.
23843
ee01cf35 23844 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
23845 beginning to avoid warnings with some compilers.
23846
afc3b5d7 23847 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
23848 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
23849
e4e8eaa5 238502008-07-14 Pavel Roskin <proski@gnu.org>
23851
407aceb4 23852 * kern/env.c (grub_register_variable_hook): Don't copy empty
23853 string, it leaks memory. Pass "" to grub_env_set(), it should
23854 handle constant strings.
23855
e4e8eaa5 23856 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
23857 * commands/cmp.c (grub_cmd_cmp): Likewise.
23858 * kern/dl.c (grub_dl_flush_cache): Likewise.
23859 (grub_dl_load_core): Likewise.
23860 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
23861 (grub_elf64_load_phdrs): Likewise.
23862
d4e2dad3 238632008-07-13 Pavel Roskin <proski@gnu.org>
23864
23865 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
23866 between signed and unsigned.
23867 (LzmaEnc_Finish): Fix warning about an unused parameter.
23868
aa24b516 238692008-07-13 Bean <bean123ch@gmail.com>
23870
23871 * Makefile.in (enable_lzo): New rule.
23872
23873 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
23874
23875 * configure.ac (ENABLE_LZO): New option --enable-lzo.
23876
23877 * boot/i386/pc/lnxboot.S: #include <config.h>.
23878
23879 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 23880 its value according to the compression algorithm used, lzo or lzma.
aa24b516 23881
23882 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
23883 compression algorithm according to configure macro.
23884
23885 * kern/i386/pc/startup.S (codestart): Likewise.
23886
23887 * kern/i386/pc/lzma_decode.S: New file.
23888
23889 * include/grub/lib/LzFind.h: Likewise.
23890
23891 * include/grub/lib/LzHash.h: Likewise.
23892
23893 * include/grub/lib/LzmaDec.h: Likewise.
23894
23895 * include/grub/lib/LzmaEnc.h: Likewise.
23896
23897 * include/grub/lib/LzmaTypes.h: Likewise.
23898
23899 * lib/LzFind.c: Likewise.
23900
23901 * lib/LzmaDec.c: Likewise.
23902
23903 * lib/LzmaEnc.c: Likewise.
23904
4ae821ac 239052008-07-13 Bean <bean123ch@gmail.com>
23906
23907 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
23908 (grub_ext4_extent_header): New structure.
23909 (grub_ext4_extent): Likewise.
23910 (grub_ext4_extent_idx): Likewise.
23911 (grub_ext4_find_leaf): New function.
23912 (grub_ext2_read_block): Handle extents.
23913
9a745147 239142008-07-12 Robert Millan <rmh@aybabtu.com>
23915
23916 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
23917
d49a4cf6 239182008-07-11 Robert Millan <rmh@aybabtu.com>
23919
23920 * util/grub.d/40_custom.in: New file. Example on how to add custom
23921 entries to /etc/grub.d.
23922 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
23923 40_custom (implicitly, by merging all the grub.d rules).
23924
947414b4 239252008-07-11 Pavel Roskin <proski@gnu.org>
23926
0059cf6f 23927 * commands/read.c (grub_getline): Fix invalid memory access.
23928 Don't add newline to the variable value.
23929
947414b4 23930 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
23931 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
23932 (serial_hw_get_port): Check validity of the port number.
23933 (grub_cmd_serial): Check return value of serial_hw_get_port().
23934
62a02d00 239352008-07-07 Pavel Roskin <proski@gnu.org>
23936
23937 * boot/i386/pc/diskboot.S (notification_string): Replace
23938 "Loading kernel" with just "loading". This is shorter, less
23939 confusing and saves a few bytes for possible future changes.
23940
3e5581b0 239412008-07-05 Pavel Roskin <proski@gnu.org>
23942
ea387a48 23943 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
23944 size for ATAPI devices, they are undefined. Output sector
23945 number in decimal form.
23946
3e5581b0 23947 * disk/ata.c: Use named constants for status bits.
23948
fdecb8fd 239492008-07-04 Pavel Roskin <proski@gnu.org>
23950
bcd35b90 23951 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
23952 grub_addr_t before casting it to the void pointer to fix a
23953 warning. Non-addressable regions are discarded earlier.
23954 (grub_arch_modules_addr): Cast _end to grub_addr_t.
23955 * kern/i386/linuxbios/table.c: Include grub/misc.h.
23956 (check_signature): Don't shadow table_header.
23957 (grub_linuxbios_table_iterate): Cast numeric constants to
23958 grub_linuxbios_table_header_t.
23959 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
23960 grub_stop().
23961
af58ab3d 23962 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
23963 prevent warnings.
23964
1759aa57 23965 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
23966 pointer, which can cause warnings. Support 64-bit addresses.
23967
fdecb8fd 23968 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
23969 of sizeof(long). This fixes PowerPC image generation on x86_64.
23970
8516d2a8 239712008-07-04 Robert Millan <rmh@aybabtu.com>
23972
23973 This fixes a performance issue when pc & gpt partmap iterators
23974 didn't abort iteration even after our hook found what it was
fe987087 23975 looking for (often causing expensive probes of non-existent drives).
8516d2a8 23976
23977 Some callers relied on previous buggy behaviour, since they would
34c44600 23978 raise an error when their own hooks caused early abortion of its
8516d2a8 23979 iteration.
23980
23981 * kern/device.c (grub_device_open): Improve error message.
23982 * disk/lvm.c (grub_lvm_open): Likewise.
23983 * disk/raid.c (grub_raid_open): Likewise.
23984
23985 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
23986 when hook requests it, independently of grub_errno.
23987 (pc_partition_map_probe): Do not fail when find_func() caused
23988 early abortion of pc_partition_map_iterate().
23989
23990 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
23991 when hook requests it, independently of grub_errno.
23992 (gpt_partition_map_probe): Do not fail when find_func() caused
23993 early abortion of gpt_partition_map_iterate().
23994
23995 * kern/partition.c (grub_partition_iterate): Abort parent iteration
23996 when hook requests it, independently of grub_errno. Do not fail when
23997 part_map_iterate_hook() caused early abortion of p->iterate().
23998
23999 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
24000 when grub_partition_iterate() returned with non-zero.
24001
277d0de9 240022008-07-03 Pavel Roskin <proski@gnu.org>
24003
24004 * disk/ata.c (grub_ata_pio_write): Check status before writing,
24005 like we do in grub_ata_pio_read().
24006 (grub_ata_readwrite): Always write individual sectors. Fix the
24007 sector count for the remainder.
24008 (grub_ata_write): Enable writing to ATA devices. Correctly
24009 report error for ATAPI devices.
24010
d4c9b428 240112008-07-02 Pavel Roskin <proski@gnu.org>
24012
e43fc690 24013 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
24014 warning.
24015
f707af42 24016 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
24017 for every read sector, we already increment it for the whole
24018 batch. This fixes reading more than 256 sectors at once.
24019
11e16b15 24020 * util/grub-editenv.c (cmd_info): Cast argument to long
24021 explicitly. ptrdiff_t reduces to int on i386.
24022
cbabfdd4 24023 * util/grub-editenv.c (main): Be specific which parameter is
24024 missing.
24025
b8fbce0a 24026 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
24027 (memdisk): Make memdisk_orig_addr a pointer.
24028
c9c8e606 24029 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
24030 for file offsets, use grub_off_t instead. Fix printf format
24031 warnings.
24032
ca62e598 24033 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
24034 there. Real unexpected warnings should not drown in the noise
24035 about known problems.
24036
ce8d1766 24037 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
24038 grub_disk_addr_t for memory addresses.
24039
00c7a56a 24040 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
24041 explicitly to fix a warning.
24042
08d3ef09 24043 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
24044
cb71ba20 24045 * Makefile.in (MODULE_LDFLAGS): New variable.
24046 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
24047 the linker accepts --build-id=none.
24048 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
24049 MODULE_LDFLAGS.
24050 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
24051
d4c9b428 24052 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
24053 those in Linux XFS code. Provide a way to access 64-bit parent
24054 inode.
24055 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
24056 the end of struct grub_xfs_dir_header.
24057
d4156eee 240582008-07-02 Bean <bean123ch@gmail.com>
24059
24060 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
24061 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24062 and GRUB_IEEE1275_FLAG_NO_ANSI.
24063
24064 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
24065 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24066 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
24067
24068 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
24069 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
24070
24071 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
24072 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
24073
24074 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
24075 esc sequence on non ANSI terminal.
24076 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
24077
24078 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
24079 beginning of file.
24080
2270f77b 240812008-07-02 Bean <bean123ch@gmail.com>
24082
24083 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
24084 (grub_editenv_SOURCES): New variable.
24085 (pkglib_MODULES): Add loadenv.mod.
24086 (loadenv_mod_SOURCES): New variable.
24087 (loadenv_mod_CFLAGS): Likewise.
24088 (loadenv_mod_LDFLAGS): Likewise.
24089
24090 * include/grub/envblk.h: New file.
24091
24092 * util/envblk.c: New file.
24093
24094 * util/grub-editenv.c: New file.
24095
24096 * commands/loadenv.c: New file.
24097
0e9e51ec 240982008-07-01 Pavel Roskin <proski@gnu.org>
24099
d89b7634 24100 * include/multiboot2.h (struct multiboot_tag_module): Use char,
24101 not unsigned char. This fixes warnings and is consistent with
24102 other tags.
24103
bf1835b1 24104 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
24105
8222a04b 24106 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
24107
6a42d99d 24108 * term/tparm.c (analyze): Always set *popcount.
24109
10b159d1 24110 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
24111 cast to fix a warning.
24112
b8789f6c 24113 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
24114 cast to suppress a warning.
24115
29d7e38a 24116 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
24117 grub_fshelp_read_file() expects.
24118
f341f669 24119 * fs/fat.c: Fix UUID calculation on big-endian systems. We
24120 write uuid as a 32-bit value in CPU byte order, so declare and
24121 use it as such.
24122
0e9e51ec 24123 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
24124 long if the format specifier expects it.
24125 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
24126 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24127 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
24128 long to fix a warning.
24129 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
24130 grub_dprintf() arguments to fix warnings.
24131
3aefa857 241322008-06-30 Pavel Roskin <proski@gnu.org>
24133
56c7668b 24134 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
24135 install_bsd_part immediately before core.img is embedded or
24136 modified on disk. This fixes core.img verification if core.img
24137 cannot be embedded.
24138
3aefa857 24139 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
24140 core_path to calculate the blocklist.
24141 Patch from Javier Martín <lordhabbit@gmail.com>
24142
5444088d 241432008-06-29 Robert Millan <rmh@aybabtu.com>
24144
24145 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
24146 block to disk block.
24147 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
24148 Patch from Niels Böhm <bitbucket@arcor.de>
24149
674835c8 241502008-06-29 Robert Millan <rmh@aybabtu.com>
24151
24152 * util/update-grub_lib.in (font_path): Search for fonts in
24153 /boot/grub first, which is more likely to be readable (we aren't
24154 deciding where fonts live, just looking for them).
24155
f527dbc8 241562008-06-26 Pavel Roskin <proski@gnu.org>
24157
6c2d8df6 24158 * util/biosdisk.c (read_device_map): Don't leave dead map
24159 entries for devices failing stat() check.
24160
f527dbc8 24161 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
24162 core_path_dev for the core.img path on the target device.
24163
aebe3d13 241642008-06-26 Robert Millan <rmh@aybabtu.com>
24165
24166 * disk/fs_uuid.c: New file.
24167 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
24168 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
24169 (fs_uuid_mod_LDFLAGS): New variables.
24170 * include/grub/disk.h (grub_disk_dev_id): Add
24171 `GRUB_DISK_DEVICE_UUID_ID'.
24172 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
24173 implement iterate().
24174
37aaf354 241752008-06-26 Robert Millan <rmh@aybabtu.com>
24176
24177 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
24178 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
24179 Linux image includes no initrd.
24180
25ff262a 241812008-06-21 Javier Martín <lordhabbit@gmail.com>
24182
24183 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
24184 call to resolve the core image location that effectively appended the
24185 name twice.
24186
76a2bd44 241872008-06-21 Robert Millan <rmh@aybabtu.com>
24188
24189 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
24190 call from here ...
24191
24192 * util/grub.d/10_hurd.in: ... to here ...
24193 * util/grub.d/10_linux.in: ... and here.
24194
650e1c79 241952008-06-19 Robert Millan <rmh@aybabtu.com>
24196
fe987087 24197 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 24198 after it has been set by grub_machine_set_prefix().
24199
6ce63911 242002008-06-19 Robert Millan <rmh@aybabtu.com>
24201
24202 * commands/search.c (search_label, search_fs_uuid, search_file): Print
24203 search result when not saving to variable, not the other way around.
24204 When saving to variable, abort iteration as soon as a match is found.
24205
73940cec 242062008-06-19 Robert Millan <rmh@aybabtu.com>
24207
24208 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
24209 check for partition that provides /boot/grub. Its logic is flawed,
24210 as it prevents prepare_grub_to_access_device() from being called
24211 multiple times.
24212
3c62a39d 242132008-06-19 Robert Millan <rmh@aybabtu.com>
24214
24215 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
24216 "insmod" command directly when abstraction modules are needed,
fe987087 24217 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 24218 since it had already been processed).
24219
47395a42 242202008-06-19 Pavel Roskin <proski@gnu.org>
24221
24222 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
24223 changed. This is needed in case GRUB_LIBDIR changes.
24224 * conf/i386-ieee1275.rmk: Likewise.
24225 * conf/i386-linuxbios.rmk: Likewise.
24226 * conf/i386-pc.rmk: Likewise.
24227 * conf/powerpc-ieee1275.rmk: Likewise.
24228
a145ac2d 242292008-06-18 Pavel Roskin <proski@gnu.org>
24230
24231 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
24232 kernel_elf_symlist.c to symlist.c for consistency with other
24233 architectures. Update all users.
24234 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
24235
7847c51e 242362008-06-18 Robert Millan <rmh@aybabtu.com>
24237
24238 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
24239 it in prefix.
24240
24241 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
24242 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
24243 a RAID device, run setup() for all members independently on whether
24244 LVM abstraction is being used.
24245 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
24246 If grub-mkimage has set `*install_dos_part == -2', don't override this
24247 value.
24248 Perform *install_dos_part adjustments independently on whether
24249 we're embedding or not.
24250 Clarify error message when image is too big for embedding.
24251 Remove duplicate *install_dos_part stanza.
24252
b23e5644 242532008-06-17 Robert Millan <rmh@aybabtu.com>
24254
24255 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
24256 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
24257 variables.
24258 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
24259 values in grub_ofconsole_normal_color and
24260 grub_ofconsole_highlight_color (they're not directly related to
24261 background and foreground).
24262 (grub_ofconsole_setcolorstate): Extract background and foreground
24263 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
24264
0aac2f79 242652008-06-17 Robert Millan <rmh@aybabtu.com>
24266
24267 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
24268 /boot/grub for the check in last commit, not /boot (they could be
24269 different partitions).
24270
3cca7ef3 242712008-06-16 Robert Millan <rmh@aybabtu.com>
24272
24273 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
24274 asked to setup access for the same partition that provides /boot,
24275 don't bother using UUIDs since our root already has the value we
24276 want.
24277
347396d8 242782008-06-16 Robert Millan <rmh@aybabtu.com>
24279
24280 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
24281 I2O devices.
24282 Patch from Sven Mueller <sven@debian.org>.
24283
991477f8 242842008-06-16 Robert Millan <rmh@aybabtu.com>
24285
24286 * util/update-grub.in: Check for $EUID instead of $UID.
24287 Reported by Vincent Zweije.
24288
d31a32a1 242892008-06-16 Bean <bean123ch@gmail.com>
24290
fe987087 24291 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 24292 (grub_ext2_read_block): Likewise.
24293 (grub_ext2_read_inode): Likewise.
24294 (grub_ext2_mount): Likewise.
24295 (grub_ext2_close): Likewise.
24296 (grub_ext3_get_journal): Removed.
24297
fe987087 24298 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 24299 (grub_reiserfs_read_symlink): Likewise.
24300 (grub_reiserfs_mount): Likewise.
24301 (grub_reiserfs_open): Likewise.
24302 (grub_reiserfs_read): Likewise.
24303 (grub_reiserfs_close): Likewise.
24304 (grub_reiserfs_get_journal): Removed.
24305
24306 * fs/fshelp.c (grub_fshelp_read): Removed.
24307 (grub_fshelp_map_block): Likewise.
24308
24309 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
24310 (grub_fshelp_journal): Likewise.
24311 (grub_fshelp_read): Likewise.
24312 (grub_fshelp_map_block): Likewise.
24313
3540a760 243142008-06-16 Pavel Roskin <proski@gnu.org>
24315
24316 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
24317 floating point anymore.
24318 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
24319
95614c84 243202008-06-15 Pavel Roskin <proski@gnu.org>
24321
24322 * commands/ls.c (grub_ls_list_files): Use integer calculations
24323 for human readable format, avoid floating point use.
24324 * kern/misc.c (grub_ftoa): Remove.
24325 (grub_vsprintf): Remove floating point support.
24326
50465dd6 243272008-06-15 Robert Millan <rmh@aybabtu.com>
24328
fe6b695a 24329 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 24330 devices.
24331 Reported by Max Vozeler.
24332
a9207284 243332008-06-15 Robert Millan <rmh@aybabtu.com>
24334
24335 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
24336 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
24337 skipped later.
24338 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
24339 the beginning of the prefix.
24340
24341 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
24342 It is assumed that if we have a memdisk, grub-mkimage has set
24343 grub_prefix to include the "(memdisk)" drive in it.
24344
a7cbd45a 243452008-06-15 Robert Millan <rmh@aybabtu.com>
24346
24347 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
24348 Initialize keyboard controller after registering the terminal, so that
24349 grub_printf() can be called from grub_keyboard_controller_init().
24350
21cf716a 243512008-06-15 Robert Millan <rmh@aybabtu.com>
24352
24353 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
24354 extent-btree which is written as big endian on disk.
24355 Reported by Alain Greppin <al@chilibi.org>.
24356
23a64d8e 243572008-06-14 Robert Millan <rmh@aybabtu.com>
24358
24359 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
24360 * util/i386/pc/grub-install.in (modules): Likewise.
24361
d687651c 243622008-06-13 Pavel Roskin <proski@gnu.org>
24363
24364 * commands/ls.c (grub_ls_list_files): Fix format warnings.
24365
dfe9ddd4 243662008-06-13 Bean <bean123ch@gmail.com>
24367
24368 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
24369
24370 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
24371
24372 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
24373 to indicate sparse block.
24374
16ae7781 243752008-06-12 Pavel Roskin <proski@gnu.org>
24376
e6d1a308 24377 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
24378 number, grub_fshelp_read() does it for us.
24379
16ae7781 24380 * fs/fshelp.c (grub_fshelp_read): New function. Implement
24381 linear disk read with journal translation.
24382 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
24383 * include/grub/fshelp.h: Declare grub_fshelp_read().
24384
40fd3a2b 243852008-06-09 Pavel Roskin <proski@gnu.org>
24386
24387 * fs/minix.c (grub_minix_mount): Handle error reading
24388 superblock.
24389
f5679726 243902008-06-08 Robert Millan <rmh@aybabtu.com>
24391
24392 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
24393 don't append the RAID prefix afterwards.
24394 Reported by Clint Adams.
24395
ce525529 243962008-06-08 Robert Millan <rmh@aybabtu.com>
24397
24398 Based on description from Pavel:
24399 * kern/disk.c (grub_disk_check_range): Rename to ...
24400 (grub_disk_adjust_range): ... this. Add a comment explaining the
24401 tasks performed by this function.
24402
ad4936a0 244032008-06-08 Robert Millan <rmh@aybabtu.com>
24404
24405 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
24406 `num_serial' (for consistency with other variables).
24407 (struct grub_ntfs_data): Add `uuid' member.
24408 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
24409 (grub_ntfs_uuid): New function.
24410 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
24411
dc20b0f9 244122008-06-07 Pavel Roskin <proski@gnu.org>
24413
24414 * util/biosdisk.c (open_device): Revert last change to the
24415 function, it broke installation. The sector needs to be
24416 different dependent on which device is opened.
24417
c5e3cfba 244182008-06-06 Robert Millan <rmh@aybabtu.com>
24419
24420 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
24421 rest of GRUB, and breakage doesn't happen if its value were modified.
24422
24423 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24424 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
24425 a constant (same value).
24426 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
24427 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
24428
26a1f8c4 244292008-06-06 Robert Millan <rmh@aybabtu.com>
24430
24431 * util/biosdisk.c (open_device): Do not modify sector offset when
24432 accessing a partition. kern/disk.c already handles this for us.
24433
25d6b327 244342008-06-06 Robert Millan <rmh@aybabtu.com>
24435
24436 * util/grub-emu.c (grub_machine_init): Move code in this function from
24437 here ...
24438 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
24439 segfault in case grub_printf() is called).
24440
24441 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
24442 grub_probe. Update all users not to explicitly add it again.
24443 (grub_device): New variable; contains corresponding device for grubdir.
24444 (fs_module, partmap_module, devabstraction_module): Pass
24445 `--device ${grub_device}' to grub_probe to avoid traversing /dev
24446 every time.
24447
9ece62fb 244482008-06-05 Robert Millan <rmh@aybabtu.com>
24449
24450 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
24451 is found, print it (same layout as with labels).
24452
1ad36d37 244532008-06-04 Robert Millan <rmh@aybabtu.com>
24454
24455 * util/biosdisk.c (get_drive): Rename to ...
24456 (find_grub_drive): ... this. Update all users.
24457
24458 (get_os_disk): Rename to ...
24459 (convert_system_partition_to_system_disk): ... this. Update all users.
24460
24461 (find_drive): Rename to ...
24462 (find_system_device): ... this. Update all users.
24463
e6a30859 244642008-06-04 Robert Millan <rmh@aybabtu.com>
24465
24466 * util/biosdisk.c (get_os_disk): Handle IDA devices.
24467 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24468 (make_device_map): Likewise.
24469
00c108a4 244702008-06-01 Robert Millan <rmh@aybabtu.com>
24471
24472 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
24473 before dereferencing it.
24474
24475 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
24476 union with fat12/fat16-specific ones. Add some new fields, including
24477 `num_serial' for both versions.
24478 (struct grub_fat_data): Add `uuid' member.
24479 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
24480 names. Initialize `data->uuid' using `num_serial'.
24481 (grub_fat_uuid): New function.
24482 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
24483
24484 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
24485 (grub_reiserfs_uuid): New function.
24486 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
24487 member.
24488
24489 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
24490 (grub_xfs_uuid): New function.
24491 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
24492
1385c5bb 244932008-06-01 Robert Millan <rmh@aybabtu.com>
24494
24495 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
24496 code that is backward compatible with pre-uuid search command.
24497
c682dfd7 244982008-05-31 Robert Millan <rmh@aybabtu.com>
24499
24500 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
24501 floppies after everything else, to ensure floppy drive isn't accessed
24502 unnecessarily (patch from Bean).
24503
b7db5d47 245042008-05-31 Robert Millan <rmh@aybabtu.com>
24505
24506 * commands/search.c (search_label, search_fs_uuid, search_file): Do
24507 not print device names when we were asked to set a variable.
24508
6e037aa9 245092008-05-31 Robert Millan <rmh@aybabtu.com>
24510
24511 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
24512 using "cursor-on" and "cursor-off" commands (understood at least by
24513 the Open Firmware flavour on OLPC).
24514
41305bc8 245152008-05-31 Michael Gorven <michael@gorven.za.net>
24516
24517 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
24518 on and off sequences.
24519
69ba137e 245202008-05-31 Robert Millan <rmh@aybabtu.com>
24521
24522 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
24523 * util/update-grub.in: Likewise.
24524
520ae21b 245252008-05-30 Pavel Roskin <proski@gnu.org>
24526
24527 * util/biosdisk.c (linux_find_partition): Simplify logic and
24528 make the code more universal. Keep special processing for
24529 devfs, but use a simple rule for all other devices. If the
24530 device ends with a number, append 'p' and the partition number.
24531 Otherwise, append only the partition number.
24532
5786569b 245332008-05-30 Robert Millan <rmh@aybabtu.com>
24534
24535 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
24536 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
24537 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
24538 the `root' parameter to Linux.
24539
51500452 245402008-05-30 Robert Millan <rmh@aybabtu.com>
24541
24542 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
24543 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
24544 --fs_uuid with --fs-uuid.
24545 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
24546 all filesystems support them).
24547
811d3878 245482008-05-30 Robert Millan <rmh@aybabtu.com>
24549
24550 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 24551 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 24552
cab63c95 245532008-05-30 Robert Millan <rmh@aybabtu.com>
24554
24555 * util/grub.d/00_header.in: Remove obsolete comment referencing
24556 convert_system_path_to_grub_path().
24557 * util/update-grub.in: Likewise.
24558 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
24559 (convert_system_path_to_grub_path): Add a warning message explaining
24560 that this function is deprecated. Rely on is_path_readable_by_grub()
24561 for the readability checks.
24562 (font_path): Use is_path_readable_by_grub() for the readability
24563 check rather than convert_system_path_to_grub_path().
24564
972e2f7a 245652008-05-30 Robert Millan <rmh@aybabtu.com>
24566
24567 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
24568 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
24569 converting it first.
24570 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
24571 grub.cfg for access to font file, and afterwards call it again to set
24572 the root device.
24573
62191274 245742008-05-30 Robert Millan <rmh@aybabtu.com>
24575
24576 * commands/search.c (options): Add --fs_uuid option.
24577 (search_fs_uuid): New function.
24578 (grub_cmd_search): Fix --set argument passing.
24579 Use search_fs_uuid() when requested via --fs_uuid.
24580 (grub_search_init): Update help message.
24581 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
24582 and redeclare it as an array of 16-bit words.
24583 (grub_ext2_uuid): New function.
24584 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
24585 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
24586 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
24587 (GRUB_DEVICE_BOOT_UUID): New variables.
24588 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
24589 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
24590 whenever possible.
24591 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
24592 just assume `root' variable has the right value.
24593 * util/grub.d/10_linux.in: Likewise.
24594 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
24595 via PRINT_FS_UUID.
24596 (main): Recognise `-t fs_uuid' argument.
24597
01b73ec8 245982008-05-30 Robert Millan <rmh@aybabtu.com>
24599
24600 * util/biosdisk.c (map): Redefine structure to hold information
24601 about GRUB drive name.
fe6b695a 24602 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 24603 drive names.
24604 (call_hook): Remove.
24605 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
24606 member. Assume drive has partitions.
24607 (grub_util_biosdisk_open): Access device names via `.device' struct
24608 member.
24609 (open_device): Likewise.
24610 (find_drive): Likewise.
24611 (read_device_map): Adjust map[] usage to match the new struct
24612 definition. Don't check for duplicates (still possible, but not cheap
24613 anymore).
24614 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
24615 (make_device_name): Remove assumption of BIOS-like drive names.
24616
22f16596 246172008-05-30 Pavel Roskin <proski@gnu.org>
24618
24619 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
24620 compiling execute.c doesn't need grub_script.tab.h anymore.
24621 (normal/command.c_DEPENDENCIES): Likewise.
24622 (normal/function.c_DEPENDENCIES): Likewise.
24623 * conf/i386-ieee1275.rmk: Likewise.
24624 * conf/i386-linuxbios.rmk: Likewise.
24625 * conf/i386-pc.rmk: Likewise.
24626 * conf/powerpc-ieee1275.rmk: Likewise.
24627 * conf/sparc64-ieee1275.rmk: Likewise.
24628
528ad8f2 246292008-05-29 Pavel Roskin <proski@gnu.org>
24630
d1dff95d 24631 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
24632 when scanning metadata for volume group name.
24633
528ad8f2 24634 * include/grub/script.h: Don't include grub_script.tab.h. It's
24635 a generated file, which may only be included from the files with
24636 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
24637 use union YYSTYPE, as the later allows forward declaration.
24638 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
24639
47248e08 246402008-05-29 Robert Millan <rmh@aybabtu.com>
24641
24642 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
24643 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
24644 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
24645 (grub_console_checkkey): Add grub_dprintf() call to report unknown
24646 scan codes.
24647
ee632529 246482008-05-29 Robert Millan <rmh@aybabtu.com>
24649
24650 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
24651 control key combinations.
24652
eee96e08 246532008-05-29 Robert Millan <rmh@aybabtu.com>
24654
24655 * util/powerpc/ieee1275/grub-install.in: Move from here ...
24656 * util/ieee1275/grub-install.in: ... to here.
24657 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
24658 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
24659 (grub_install_SOURCES): Likewise.
24660
da9a6a94 246612008-05-29 Robert Millan <rmh@aybabtu.com>
24662
24663 * fs/affs.c: Update copyright year.
24664 * fs/ext2.c: Likewise.
24665 * fs/fshelp.c: Likewise.
24666 * fs/hfsplus.c: Likewise.
24667 * fs/ntfs.c: Likewise.
24668 * fs/xfs.c: Likewise.
24669 * include/grub/fshelp.h: Likewise.
24670 * util/grub-mkdevicemap.c: Likewise.
24671
12e65f3a 246722008-05-28 Robert Millan <rmh@aybabtu.com>
24673
24674 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
24675 might need to be fatfs to support some firmware implementations
24676 (e.g. OFW or EFI).
24677
23023641 246782008-05-28 Robert Millan <rmh@aybabtu.com>
24679
24680 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
24681 devices.
24682 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24683 (make_device_map): Likewise.
24684
887d2619 246852008-05-20 Bean <bean123ch@gmail.com>
24686
24687 * fs/fshelp.c (grub_fshelp_map_block): New function.
24688 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
24689 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
24690
24691 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
24692 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
24693 (grub_fshelp_journal): New structure.
24694 (grub_fshelp_map_block): New function prototype.
24695 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
24696 (grub_fshelp_map_block): Likewise.
24697
24698 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
24699 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
24700 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
24701 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
24702 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
24703 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
24704 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
24705 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
24706 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
24707 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
24708 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
24709 (grub_ext2_sblock): New members for journal support.
24710 (grub_ext3_journal_header): New structure.
24711 (grub_ext3_journal_revoke_header): Likewise.
24712 (grub_ext3_journal_block_tag): Likewise.
24713 (grub_ext3_journal_sblock): Likewise.
24714 (grub_fshelp_node): New members logfile and journal.
24715 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
24716 grub_fshelp_map_block to get real block number.
24717 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
24718 number.
24719 (grub_ext2_read_inode): Likewise.
24720 (grub_ext3_get_journal): New function.
24721 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
24722 (grub_ext2_close): Release memory used by journal.
24723
24724 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
24725 (REISERFS_MAGIC_DESC_BLOCK): New macro.
24726 (grub_reiserfs_transaction_header): Renamed to
24727 grub_reiserfs_description_block, replace field data with real_blocks.
24728 (grub_reiserfs_commit_block): New structure.
24729 (grub_reiserfs_data): New member journal.
24730 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
24731 number.
24732 (grub_reiserfs_read_symlink): Likewise.
24733 (grub_reiserfs_iterate_dir): Likewise.
24734 (grub_reiserfs_open): Likewise.
24735 (grub_reiserfs_read): Likewise.
24736 (grub_reiserfs_get_journal): New function.
24737 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
24738 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
24739 using grub_reiserfs_get_journal.
24740 (grub_reiserfs_close): Release memory used by journal.
24741
24742 * fs/affs.c (grub_affs_read_block): Change block type to
24743 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
24744
24745 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
24746
24747 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
24748
24749 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
24750
24751 * fs/udf.c (grub_udf_read_block): Change block type to
24752 grub_disk_addr_t. Use type cast to avoid warning.
24753
24754 * fs/xfs.c (grub_xfs_read_block): Likewise.
24755
b7c6bed5 247562008-05-16 Christian Franke <franke@computer.org>
24757
24758 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
24759 to ensure that break with ESC will always work.
24760 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
24761 Remove ESC from keyboard queue.
24762
eedf167f 247632008-05-16 Christian Franke <franke@computer.org>
24764
24765 * util/biosdisk.c: [__CYGWIN__] Add includes.
24766 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
24767 (get_os_disk): Move variable declarations to OS specific
24768 parts to avoid warning.
24769 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
24770 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
24771 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
24772 Cygwin.
24773 * util/getroot.c: [__CYGWIN__] Add includes.
24774 (strip_extra_slashes): Fix "/" case.
24775 [__CYGWIN__] (get_win32_path): New function.
24776 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
24777 [__CYGWIN__] (find_root_device): Disable.
24778 [__CYGWIN__] (get_bootsec_serial): New function.
24779 [__CYGWIN__] (find_cygwin_root_device): Likewise.
24780 [__linux__] (grub_guess_root_device): Add early returns to simplify
24781 structure.
24782 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
24783 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
24784 check for Linux only.
24785
a079699e 247862008-05-15 Bean <bean123ch@gmail.com>
24787
24788 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
24789 keyboard hang problem in apple's intel mac.
24790
1cf4059a 247912008-05-09 Robert Millan <rmh@aybabtu.com>
24792
24793 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
24794 devices.
24795 * util/grub-mkdevicemap.c (get_virtio_disk_name)
24796 (make_device_map): Likewise.
24797 Reported by Aurelien Jarno <aurel32@debian.org>
24798
ed759390 247992008-05-07 Ian Campbell <ijc@hellion.org.uk>
24800
24801 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
24802 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
24803 (make_device_map): Output entries for xvd type disks.
24804
b56c4eaa 248052008-05-07 Robert Millan <rmh@aybabtu.com>
24806
24807 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
24808 devices.
24809 * util/grub-mkdevicemap.c (get_cciss_disk_name)
24810 (make_device_map): Likewise.
24811 Reported by Roland Dreier <rdreier@cisco.com>
24812
7f8866ed 248132008-05-07 Robert Millan <rmh@aybabtu.com>
24814
24815 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
24816 grub_strstr() call. Correct a few mistakes in failure path handling.
24817
b0346e0f 248182008-05-06 Robert Millan <rmh@aybabtu.com>
24819
24820 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24821 Do not print a trailing slash (therefore, the root directory is an
24822 empty string).
24823 (convert_system_path_to_grub_path): Do not remove trailing slash
24824 from make_system_path_relative_to_its_root() output.
24825
24826 * util/i386/pc/grub-install.in: Add trailing slash to output from
24827 make_system_path_relative_to_its_root().
24828
6cf12cbd 248292008-05-06 Robert Millan <rmh@aybabtu.com>
24830
24831 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
24832 ensures that output lines aren't intermangled with those sent to
24833 stderr (via grub_util_info()).
24834 * util/grub-probe.c (grub_refresh): Likewise.
24835 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
24836
0fbb3117 248372008-05-05 Christian Franke <franke@computer.org>
24838
24839 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
24840 Add Cygwin device names.
24841 (get_ide_disk_name) [__CYGWIN__]: Likewise.
24842 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
24843 (check_device): Return error instead of success on empty name.
24844 (make_device_map): Move label inside linux specific code to
24845 prevent compiler warning.
24846
8124cdb7 248472008-04-30 Robert Millan <rmh@aybabtu.com>
24848
24849 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
24850 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
24851 first boot option.
24852 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
24853
094c01d0 248542008-04-29 Robert Millan <rmh@aybabtu.com>
24855
24856 * docs/grub.cfg: New file (example GRUB configuration).
24857
f4b1fc02 248582008-04-26 Robert Millan <rmh@aybabtu.com>
24859
329ce2a5 24860 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
24861 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
24862 and `disk/ieee1275/nand.c'.
f4b1fc02 24863
25f16ec1 248642008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 24865
25f16ec1 24866 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
24867 i386-linuxbios.
24868
24869 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
24870 change the buffer size to 4096 for cdrom device.
24871
24872 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
24873 and nand.mod.
24874 (_linux_mod_SOURCES): New variable.
24875 (_linux_mod_CFLAGS): Likewise.
24876 (_linux_mod_LDFLAGS): Likewise.
24877 (linux_mod_SOURCES): Likewise.
24878 (linux_mod_CFLAGS): Likewise.
24879 (linux_mod_LDFLAGS): Likewise.
24880 (nand_mod_SOURCES): Likewise.
24881 (nand_mod_CFLAGS): Likewise.
24882 (nand_mod_LDFLAGS): Likewise.
24883
24884 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
24885 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
24886 type property. (nand device in olpc don't have this property)
24887
24888 * include/grub/disk.h (grub_disk_dev_id): New macro
24889 GRUB_DISK_DEVICE_NAND_ID.
24890
24891 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
24892 function prototype.
24893 (grub_rescue_cmd_initrd): Likewise.
24894
24895 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
24896 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
24897 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 24898
25f16ec1 24899 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
24900 GRUB_MACHINE_IEEE1275 is defined.
24901
24902 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
24903 Use NESTED_FUNC_ATTR attribute on the hook parameter.
24904
24905 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
24906 on nested function heap_init.
24907 (grub_upper_mem): New variable for i386-ieee1275.
24908 (grub_get_extended_memory): New function for i386-ieee1275.
24909 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
24910
24911 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
24912 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
24913 property.
f19dbdb7 24914
25f16ec1 24915 * loader/i386/ieee1275/linux.c: New file.
24916
24917 * loader/i386/ieee1275/linux_normal.c: New file.
24918
24919 * disk/ieee1275/nand.c: New file.
24920
e89d61e9 249212008-04-18 Thomas Schwinge <tschwinge@gnu.org>
24922
24923 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
24924 value.
24925 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
24926
602566f6 249272008-04-18 Robert Millan <rmh@aybabtu.com>
24928
24929 Restructures early code path on ieee1275 to unify grub_main() as
24930 the first C function that is executed in every platform.
24931
24932 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
24933 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
24934 cmain().
24935 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
24936 * kern/ieee1275/cmain.c (cmain): Rename to ...
24937 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
24938 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
24939 at the beginning.
24940
57490c2b 249412008-04-18 Robert Millan <rmh@aybabtu.com>
24942
24943 * util/update-grub.in: Fix syntax error when setting
24944 `GRUB_PRELOAD_MODULES'.
24945 Reported by Stephane Chazelas <stephane@artesyncp.com>
24946
1977517d 249472008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
24948
24949 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
24950 section into account, newer toolchains generate unique build ids
24951 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 24952 we want build ids to be preserved
1977517d 24953 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
24954 far from other sections don't cause the raw binary images grow
24955 size
24956
bfb1f1a2 249572008-04-15 Robert Millan <rmh@aybabtu.com>
24958
24959 * disk/lvm.c: Update copyright year.
24960 * kern/misc.c: Likewise.
24961
01979850 249622008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24963
24964 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 24965 there is no memory left for physical volume name.
01979850 24966
0a1150e2 249672008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24968
24969 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
24970 volume name mapping to support bigger than 9 character names properly.
24971
82ead3fe 249722008-04-13 Robert Millan <rmh@aybabtu.com>
24973
24974 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
24975 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
24976
e54a72f5 249772008-04-13 Christian Franke <franke@computer.org>
24978
24979 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
24980 to create a floppy emulation boot CD when non emulation mode
24981 does not work.
24982 Enable Joliet CD filesystem extension.
24983
9fe86034 249842008-04-13 Robert Millan <rmh@aybabtu.com>
24985
24986 * kern/misc.c (grub_strncat): Fix off-by-one error.
24987 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
24988
24989 * kern/env.c (grub_env_context_close): Clear current context, not
24990 previous one.
24991 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
24992
24993 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
24994
7ceeee39 249952008-04-13 Robert Millan <rmh@aybabtu.com>
24996
24997 Improve robustness when handling LVM.
24998
24999 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 25000 (and leave `*p' unmodified).
7ceeee39 25001 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
25002 through it.
25003 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
25004 iterating through it.
25005 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
25006 through it.
fe6b695a 25007 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 25008 when due) on each grub_lvm_getvalue() or grub_strstr() call.
25009 Don't assume `vg->pvs != NULL' when iterating through it.
25010
58cd3d85 250112008-04-13 Robert Millan <rmh@aybabtu.com>
25012
25013 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
25014 * genmk.rb (partmap): New variable.
25015 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
25016 (#{partmap}): New target rule.
25017 * genpartmaplist.sh: New file.
25018 * Makefile.in (pkglib_DATA): Add partmap.lst.
25019 (partmap.lst): New target rule.
25020 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
25021 modules (including all partition maps), instead of preloading them.
25022
78b51059 250232007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
25024
25025 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
25026 `linux-boot-prober' (if installed) to detect other operating
25027 systems which are installed on the computer and add them to
25028 the boot menu.
25029 * conf/common.rmk: Build and install 30_os-prober.
25030
a91627b4 250312008-04-12 Robert Millan <rmh@aybabtu.com>
25032
25033 * kern/powerpc/ieee1275/init.c: Move from here ...
25034 * kern/ieee1275/init.c: ... to here. Update all users.
25035
25036 * kern/powerpc/ieee1275/cmain.c: Move from here ...
25037 * kern/ieee1275/cmain.c: ... to here. Update all users.
25038
25039 * kern/powerpc/ieee1275/openfw.c: Move from here ...
25040 * kern/ieee1275/openfw.c: ... to here. Update all users.
25041
25042 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
25043 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
25044
322562ea 250452008-04-10 Pavel Roskin <proski@gnu.org>
25046
25047 * configure.ac: Always use "_cv_" in cache variables for
25048 compatibility with Autoconf 2.62.
25049
a02a73c5 250502008-04-07 Robert Millan <rmh@aybabtu.com>
25051
25052 Revert grub/machine/init.h addition by Pavel (since it breaks on
25053 i386-ieee1275 and others):
25054 * util/i386/pc/misc.c: Remove grub/machine/init.h.
25055 * util/powerpc/ieee1275/misc.c: Likewise.
25056
25c024b1 250572008-04-07 Robert Millan <rmh@aybabtu.com>
25058
25059 * util/grub-probe.c (probe): Improve error message.
25060
3cbd2f98 250612008-04-07 Robert Millan <rmh@aybabtu.com>
25062
25063 * util/biosdisk.c (read_device_map): Skip devices that don't exist
25064 (this prevents the presence of a bogus entry from ruining the whole
25065 thing).
25066
87a297bf 250672008-04-06 Pavel Roskin <proski@gnu.org>
25068
36747a62 25069 * util/biosdisk.c: Include grub/util/biosdisk.h.
25070 * util/grub-fstest.c (execute_command): Make static.
25071 * util/grub-mkdevicemap.c (check_device): Likewise.
25072 * util/i386/pc/misc.c: Include grub/machine/init.h.
25073 * util/powerpc/ieee1275/misc.c: Likewise.
25074 * util/lvm.c: Include grub/util/lvm.h.
25075 * util/misc.c: Include grub/kernel.h, grub/misc.h and
25076 grub/cache.h.
25077 * util/raid.c: Include grub/util/raid.h.
25078 (grub_util_getdiskname): Make static.
25079
87a297bf 25080 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
25081 grub_hostfs_fini(), as they are called from grub_init_all() and
25082 grub_fini_all() respectively. This fixes an infinite loop in
25083 grub-fstest due to double registration of hostfs.
25084 Reported by Christian Franke <Christian.Franke@t-online.de>
25085
f6ce7629 250862008-04-05 Pavel Roskin <proski@gnu.org>
25087
25088 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
25089 all 8 functions. Otherwise, probe function 0 only.
25090
070e49e4 250912008-04-04 Pavel Roskin <proski@gnu.org>
25092
8b088a4c 25093 * commands/lspci.c (grub_lspci_iter): Print the bus number
25094 correctly.
25095
4f657021 25096 * commands/lspci.c (grub_pci_classes): Fix typos.
25097 (grub_lspci_iter): Don't print func twice. Print vendor ID
25098 before device ID, as it's normally done.
25099
070e49e4 25100 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
25101 Fix signedness warnings.
25102 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
25103 Likewise.
25104 * util/ieee1275/get_disk_name.c: Include config.h so that
25105 _GNU_SOURCE is defined and getline() is declared. Mark an
25106 unused argument as such. Fix a signedness warning.
25107
ba7328dc 251082008-04-02 Pavel Roskin <proski@gnu.org>
25109
26887f22 25110 * genkernsyms.sh.in: Use more robust assignments for CC and
25111 srcdir. Quote srcdir.
25112 * gensymlist.sh.in: Likewise. Assert at the compile time that
25113 the symbol table is not empty.
25114
ba7328dc 25115 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
25116 * fs/cpio.c (grub_cpio_read): Likewise.
25117
0f582c6b 251182008-04-01 Pavel Roskin <proski@gnu.org>
25119
4b6e1995 25120 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
25121 * disk/host.c (grub_host_open): Likewise.
25122 * disk/loopback.c (grub_loopback_open): Likewise.
25123 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
25124 disk->id as in disk/host.c, not a multi-character constant.
25125
828a2768 25126 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
25127 later is obsolete, potentially dangerous and sets a bad example.
25128 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
25129 * util/misc.c (grub_util_get_image_size): Likewise.
25130
2bb4fb47 25131 * disk/loopback.c (options): Improve help for "--partitions".
25132
0f582c6b 25133 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
25134 options to align them with the short options, e.g. "echo -e".
25135
a33224e0 251362008-03-31 Bean <bean123ch@gmail.com>
25137
25138 * video/reader/png.c (grub_png_data): New member is_16bit and
25139 image_data.
25140 (grub_png_decode_image_header): Detect 16 bit png image.
25141 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
25142 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
25143 (grub_video_reader_png): Release memory occupied by image_data.
25144
25145 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
25146 4096 bytes.
25147 (grub_nfs_mount): Skip the test for sector per cluster.
25148
25149 * include/grub/ntfs.h (MAX_SPC): Removed.
25150
86cb4f54 251512008-03-31 Bean <bean123ch@gmail.com>
25152
25153 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
25154 (grub_probe_SOURCES): Add fs/afs.c.
25155 (grub_fstest_SOURCES): Likewise.
25156 (afs_mod_SOURCES): New variable.
25157 (afs_mod_CFLAGS): Likewise.
25158 (afs_mod_LDFLAGS): Likewise.
25159
25160 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
25161 (grub_emu_SOURCES): Likewise.
25162
25163 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25164
25165 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25166
25167 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25168
25169 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25170
25171 * fs/afs.c: New file.
25172
17c74c21 251732008-03-30 Pavel Roskin <proski@gnu.org>
25174
4cb68e89 25175 * disk/host.c: Include grub/misc.h to fix a warning.
25176 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
25177 warnings about implicit declarations.
25178
8790bb04 25179 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
25180 variable.
25181 * include/grub/i386/loader.h: Change declaration of
25182 grub_linux_boot() to match what grub_loader_set() expects.
25183 * util/getroot.c (grub_guess_root_device): Return const char* to
25184 fix a warning.
25185 * util/grub-probe.c (probe): Fix a warning about uninitialized
25186 abstraction_name variable.
25187 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
25188 second argument as unused to fix a warning.
25189
9a3f3296 25190 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
25191 missing grub_error() call.
25192
0ecef90d 25193 * util/update-grub_lib.in: Define datarootdir, since Autoconf
25194 2.60 and newer uses it to define datadir.
25195
0bf6d401 25196 * commands/sleep.c: Fix warning about implicit declaration.
25197 * disk/memdisk.c: Likewise.
25198 * loader/aout.c: Likewise.
25199 * loader/i386/bsd_normal.c: Likewise.
25200 * util/grub-probe.c: Likewise.
25201
7cdacf97 25202 * commands/i386/cpuid.c (has_longmode): Make static.
25203 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
25204 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
25205
17c74c21 25206 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
25207 GDT. This is more robust, as %ds can change.
25208 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
25209 calling real_to_prot().
25210 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
25211
80a3e68b 252122008-03-28 Pavel Roskin <proski@gnu.org>
25213
25214 * kern/i386/pc/startup.S: Assert that uncompressed functions
25215 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
25216 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
25217 code, as they push parts of the code (error handlers) beyond
25218 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
25219 code as correctness and size.
25220
77bcd272 252212008-03-28 Pavel Roskin <proski@gnu.org>
25222
25223 * kern/i386/pc/startup.S
25224 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
25225 data block address to the real mode, keep offset minimal. This
25226 works around a bug in AWARD BIOS on old Athlon systems, which
25227 makes CD detection hang.
25228
c5dfd43b 252292008-03-26 Pavel Roskin <proski@gnu.org>
25230
25231 * normal/color.c (grub_parse_color_name_pair): Make `name' a
25232 const.
25233 * include/grub/normal.h: Add grub_parse_color_name_pair()
25234 declaration.
25235
bf962df2 252362008-03-24 Bean <bean123ch@gmail.com>
25237
25238 * disk/i386/pc/biosdisk.c (cd_start): Removed.
25239 (cd_count): Removed.
25240 (cd_drive): New variable.
25241 (grub_biosdisk_get_drive): Don't check for (cdN) device.
25242 (grub_biosdisk_call_hook): Likewise.
25243 (grub_biosdisk_iterate): Change cdrom detection method.
25244 (grub_biosdisk_open): Replace cd_start with cd_drive.
25245 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
25246 detect cdrom device.
25247
25248 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
25249 Removed.
25250 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
25251 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
25252 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
25253 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
25254 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
25255 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
25256 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
25257 (grub_biosdisk_cdrp): New structure.
25258 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
25259
25260 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
25261
25262 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
25263 device.
25264
25265 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
25266 New function.
25267
68e7fc7a 252682008-03-20 Robert Millan <rmh@aybabtu.com>
25269
25270 Remove 2 TiB limit in ata.mod.
25271 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
25272 (grub_ata_dumpinfo): Print sector count with 0x%llx.
25273 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
25274 grub_uint64_t instead of grub_uint32_t.
25275
38ad2cf5 252762008-03-05 Bean <bean123ch@gmail.com>
25277
25278 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
25279 (grub_multiboot): Set boot device.
25280
25281 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
25282
2b89344e 252832008-03-02 Bean <bean123ch@gmail.com>
25284
25285 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
25286 symlink_buffer.
25287
87a95d1f 252882008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
25289
25290 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
25291 texinfo.tex.
25292
25293 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
25294 modified.
25295
25296 * docs/fdl.texi: New file.
f19dbdb7 25297
87a95d1f 25298 * docs/mdate-sh: New file. Copied from gnulib.
25299 * docs/texinfo.tex: Likewise.
25300
25301 * config.guess: Updated from gnulib.
25302 * install-sh: Likewise.
25303
7dc15d8e 253042008-02-28 Robert Millan <rmh@aybabtu.com>
25305
25306 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
25307 (aout_mod_SOURCES): New variable.
25308 (aout_mod_CFLAGS): Likewise.
25309 (aout_mod_LDFLAGS): Likewise.
25310
25311 * conf/i386-ieee1275.rmk: Likewise.
25312
b00ab696 253132008-02-28 Robert Millan <rmh@aybabtu.com>
25314
25315 * util/update-grub.in: Reorganise terminal validity check. Accept
25316 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
25317 Based on suggestion by Franklin PIAT.
25318
79ca2d78 253192008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
25320
25321 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
25322 function.
25323 * util/getroot.c (grub_util_check_block_device): New function that
25324 returns the given argument if it is a block device and returns NULL else.
25325 * util/grub-probe.c (argument_is_device): New variable.
25326 (probe): Promote device_name from a variable to an argument. Receive
25327 device_name from grub_util_check_block_device() if path is NULL and from
25328 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 25329 (options): Introduce new parameter '-d, --device'.
79ca2d78 25330 (main): Add description of the new parameter to the help screen.
25331 Rename path variable to argument. Set argument_is_device if the '-d'
25332 option is given. Pass argument to probe() depending on
25333 argument_is_device.
25334
0d16e571 253352008-02-24 Bean <bean123ch@gmail.com>
25336
25337 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
25338 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
25339 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
25340 (GRUB_ISO9660_VOLDESC_PART): Likewise.
25341 (GRUB_ISO9660_VOLDESC_END): Likewise.
25342 (grub_iso9660_primary_voldesc): New member escape.
25343 (grub_iso9660_data): New member joliet.
25344 (grub_iso9660_convert_string): New function.
25345 (grub_iso9660_mount): Detect joliet extension.
25346 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
25347 (grub_iso9660_iso9660_label): Likewise.
25348
25349 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
25350 (grub_setup_SOURCES): Add fs/udf.c.
25351 (grub_fstest_SOURCES): Likewise.
25352 (udf_mod_SOURCES): New variable.
25353 (udf_mod_CFLAGS): Likewise.
25354 (udf_mod_LDFLAGS): Likewise.
25355
25356 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
25357 (grub_emu_SOURCES): Likewise.
25358
25359 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25360
25361 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25362
25363 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25364
25365 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25366
25367 * fs/udf.c: New file.
25368
8a594a17 253692008-02-24 Robert Millan <rmh@aybabtu.com>
25370
25371 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
25372 (normal/lexer.c_DEPENDENCIES): New variables.
25373 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25374 (normal/lexer.c_DEPENDENCIES): Likewise.
25375 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
25376 (normal/lexer.c_DEPENDENCIES): Likewise.
25377 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
25378 (normal/lexer.c_DEPENDENCIES): Likewise.
25379 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25380 (normal/lexer.c_DEPENDENCIES): Likewise.
25381 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25382 (normal/lexer.c_DEPENDENCIES): Likewise.
25383
2dc33c03 253842008-02-23 Robert Millan <rmh@aybabtu.com>
25385
25386 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
25387 since they were intended to be in hex. This didn't break previously
25388 because of a bug in gpt_partition_map_iterate() (see below).
25389
25390 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
25391 when checking the validity of GPT header.
25392 Remove `partno', since it always provides the same information as `i'.
25393
f6f4cfb0 253942008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
25395
25396 * include/grub/efi/time.h: Fix a wrong comment.
25397
79ff665f 253982008-02-19 Pavel Roskin <proski@gnu.org>
25399
25400 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
25401 message.
25402
d38e24c2 254032008-02-19 Bean <bean123ch@gmail.com>
25404
25405 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
25406 (aout_mod_SOURCES): New variable.
25407 (aout_mod_CFLAGS): Likewise.
25408 (aout_mod_LDFLAGS): Likewise.
25409 (_bsd_mod_SOURCES): New variable.
25410 (_bsd_mod_CFLAGS): Likewise.
25411 (_bsd_mod_LDFLAGS): Likewise.
25412 (bsd_mod_SOURCES): New variable.
25413 (bsd_mod_CFLAGS): Likewise.
25414 (bsd_mod_LDFLAGS): Likewise.
25415
25416 * include/grub/aout.h: New file.
25417
25418 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
25419
25420 * include/grub/i386/bsd.h: New file.
25421
25422 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
25423 to make it public.
25424
25425 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
25426 function is called, so that it's possible to change it inside the hook.
25427 (grub_elf64_load): Likewise.
25428 (grub_elf_file): Don't close the file if elf header is not found.
25429 (grub_elf_close): Close the file if grub_elf_file fails (The new
25430 grub_elf_file won't close it).
25431 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
25432 (grub_elf64_size): Likewise.
25433
25434 * kern/i386/loader.S (grub_unix_real_boot): New function.
25435
25436 * loader/aout.c: New file.
25437
25438 * loader/i386/bsd.c: New file.
25439
25440 * loader/i386/bsd_normal.c: New file.
25441
25442 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
25443
25444 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 25445 can test other formats.
d38e24c2 25446
b93bdb0f 254472008-02-19 Robert Millan <rmh@aybabtu.com>
25448
25449 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
25450 (grub_gpt_partition_type_empty): Redefine with macro from
25451 `<grub/gpt_partition.h>'.
25452 (gpt_partition_map_iterate): Adjust partition type comparison.
25453
25454 Export `entry' as partmap-specific `part.data' struct.
25455 (grub_gpt_header, grub_gpt_partentry): Move from here ...
25456
25457 * include/grub/gpt_partition.h (grub_gpt_header)
25458 (grub_gpt_partentry): ... to here (new file).
25459
25460 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
25461
25462 (grub_gpt_partition_type_bios_boot): New const variable, defined
25463 with macro from `<grub/gpt_partition.h>'.
25464
25465 (setup): Replace `first_start' with `embed_region', which keeps
25466 track of the embed region (and is partmap-agnostic).
25467
25468 Replace find_first_partition_start() with find_usable_region(),
25469 which finds a usable region for embedding using partmap-specific
25470 knowledge (supports PC/MSDOS and GPT).
25471
25472 Fix all assumptions that the embed region start at sector 1, using
25473 `embed_region.start' from now on. Similarly, use `embed_region.end'
25474 rather than `first_start' to calculate available size.
25475
25476 In grub_util_info() message, replace "into after the MBR" with an
25477 indication of the specific sector our embed region starts at.
25478
66cb40f6 254792008-02-19 Robert Millan <rmh@aybabtu.com>
25480
25481 * DISTLIST: Replace `commands/ieee1275/halt.c' and
25482 `commands/ieee1275/reboot.c' with `commands/halt.c' and
25483 `commands/reboot.c'.
25484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25485 (halt_mod_SOURCES): Likewise.
25486 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25487 (halt_mod_SOURCES): Likewise.
25488
b7202015 254892008-02-17 Christian Franke <franke@computer.org>
25490
25491 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
25492
32b0fc49 254932008-02-17 Robert Millan <rmh@aybabtu.com>
25494
25495 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25496 set `first_start' to 0 for non-PC/MSDOS partition maps.
25497
aca63502 254982008-02-16 Robert Millan <rmh@aybabtu.com>
25499
25500 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25501 do not assume partition map is PC/MSDOS before performing checks that
25502 are specific to that layout.
25503
0de8be86 255042008-02-13 Robert Millan <rmh@aybabtu.com>
25505
25506 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
25507 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
25508 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
25509
c3db8364 255102008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
25511
25512 * configure.ac: Only a cosmetic change on the handling of
25513 -fno-stack-protector.
25514
f714229e 255152008-02-12 Alexandre Boeglin <alex@boeglin.org>
25516
c3db8364 25517 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
25518 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
25519 reboot.c.
f714229e 25520 (grub_install_SOURCES): Add halt.mod and reboot.mod.
25521 (halt_mod_SOURCES): New variable.
25522 (halt_mod_CFLAGS): Likewise.
25523 (halt_mod_LDFLAGS): Likewise.
25524 (reboot_mod_SOURCES): Likewise.
25525 (reboot_mod_CFLAGS): Likewise.
25526 (reboot_mod_LDFLAGS): Likewise.
25527
c3db8364 25528 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
25529 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
25530 reboot.c.
f714229e 25531 (halt_mod_SOURCES): Likewise.
25532 (reboot_mod_SOURCES): Likewise.
25533
c3db8364 25534 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
25535 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 25536 (reboot_mod_SOURCES): Likewise.
25537
25538 * commands/i386/pc/reboot.c: merge this file ...
25539
25540 * commands/ieee1275/reboot.c: ... and this file ...
25541
25542 * commands/reboot.c: ... to this file.
c3db8364 25543 Add some precompiler directive to include the correct header for
25544 each machine.
f714229e 25545
25546 * commands/ieee1275/halt.c: move this file ...
25547
25548 * commands/halt.c: ... to here.
c3db8364 25549 Add some precompiler directive to include the correct header for
25550 each machine.
f714229e 25551
25552 * include/grub/efi/efi.h (grub_reboot): New function declaration.
25553 (grub_halt): Likewise.
25554
25555 * kern/efi/efi.c (grub_reboot): New function.
25556 (grub_halt): Likewise.
25557
c74493e0 255582008-02-12 Robert Millan <rmh@aybabtu.com>
25559
25560 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
25561 /dev (like it is done for /dev/mapper). This doesn't provide support
25562 for EVMS, but at least it is now easy to identify the problem when it
25563 arises.
25564
d0db4b04 255652008-02-11 Robert Millan <rmh@aybabtu.com>
25566
25567 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
25568 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
25569 comparing it with -1, not 0.
25570
bf748642 255712008-02-10 Robert Millan <rmh@aybabtu.com>
25572
25573 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
25574 `disk/lvm.c'.
25575 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25576 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25577
25578 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
25579 `disk/lvm.c' to the end of the list.
25580 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25581 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25582
b5db202a 255832008-02-10 Robert Millan <rmh@aybabtu.com>
25584
25585 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
25586 grub_print_error() instead. This will let user know why we're entering
25587 rescue mode.
25588 Based on suggestions from Sam Morris.
25589
83abee31 255902008-02-10 Alexandre Boeglin <alex@boeglin.org>
25591
25592 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
25593 on remaining N args, instead of "--" arg N times.
25594
78d5a08b 255952008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
25596
25597 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
25598 (fill_with_default_glyph): Changed to use unknown_glyph for fill
25599 pattern for unknown glyphs.
25600
68807e5f 256012008-02-09 Robert Millan <rmh@aybabtu.com>
25602
25603 * configure.ac: Probe for `help2man'.
25604 * Makefile.in (builddir): New variable.
25605 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
25606 or otherwise add a few flags/options to it.
25607 (install-local): For every executable utility or script that is
25608 installed, invoke $(HELP2MAN) to install a manpage based on --help
25609 output.
25610
25611 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
25612 that it doesn't prevent --help from working in build tree.
25613
25614 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
25615 with `bug-grub@gnu.org'.
25616 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
25617 * util/update-grub.in (usage): New function.
25618 Implement proper argument check, with support for --help and --version
25619 (as well as existing -y).
25620
256212008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 25622
25623 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
25624 avoid overwriting previous output.
25625 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
25626
c1962162 256272008-02-09 Robert Millan <rmh@aybabtu.com>
25628
25629 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
25630 drawing the menu.
25631
3dac2e3f 256322008-02-09 Robert Millan <rmh@aybabtu.com>
25633
25634 * commands/sleep.c: New file.
25635 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
25636 (sleep_mod_SOURCES): New variable.
25637 (sleep_mod_CFLAGS): Likewise.
25638 (sleep_mod_LDFLAGS): Likewise.
25639
7a634e08 256402008-02-09 Robert Millan <rmh@aybabtu.com>
25641
25642 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
25643 situations in which we can deduce the RAID size and the superblock
25644 doesn't match it.
25645
b92f0c18 256462008-02-09 Robert Millan <rmh@aybabtu.com>
25647
25648 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
25649 and return a grub_diskmemberlist_t composed of LVM physical volumes.
25650 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
25651
25652 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
25653 and return a grub_diskmemberlist_t composed of physical array members.
25654 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
25655
25656 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
25657 prototype.
25658 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
25659 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
25660 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
25661
25662 * util/grub-probe.c (probe): Move partmap probing code from here ...
25663 (probe_partmap): ... to here.
25664 (probe): Use probe_partmap() once for the disk we're probing, and
25665 additionally, when such disk contains a memberlist() struct member,
25666 once for each disk that is contained in the structure returned by
25667 memberlist().
25668
91a4bf68 256692008-02-09 Robert Millan <rmh@aybabtu.com>
25670
25671 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
25672 environment variable to 'all' in order to obtain debug output from
25673 non-util/ code.
25674 * util/i386/pc/grub-setup.c (main): Likewise.
25675
a96f9caa 256762008-02-08 Robert Millan <rmh@aybabtu.com>
25677
25678 * disk/raid.c (grub_raid_scan_device): Check for
25679 `array->device[sb.this_disk.number]' rather than for
25680 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 25681 guaranteed to be accessible.
a96f9caa 25682
b37a9222 256832008-02-08 Robert Millan <rmh@aybabtu.com>
25684
25685 * disk/raid.c: Update copyright.
25686 * fs/cpio.c: Likewise.
25687 * include/grub/raid.h: Likewise.
25688 * loader/i386/pc/multiboot.c: Likewise.
25689 * util/hostfs.c: Likewise.
25690
5626aee1 256912008-02-08 Robert Millan <rmh@aybabtu.com>
25692
25693 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
25694 to a grub_disk_t array.
25695 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
25696 `device[x]'.
25697 (grub_raid_scan_device): Replace `device[x].name' accesses with
25698 `device[x]->name'. Simplify initialization of `array->device[x]'.
25699
554f0187 257002008-02-08 Robert Millan <rmh@aybabtu.com>
25701
25702 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
25703 grub_dprintf() calls.
25704 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
25705 error message.
25706
1ec8425d 257072008-02-07 Christian Franke <franke@computer.org>
25708
25709 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
25710 instead of fseek and ftell to support large files.
25711 (grub_hostfs_read): Likewise.
25712
f2156fda 257132008-02-07 Robert Millan <rmh@aybabtu.com>
25714
25715 Patch from Jeroen Dekkers.
25716 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 25717 failure, since successfully reading all array members might not be
f2156fda 25718 required.
25719
9216e0e7 257202008-02-06 Robert Millan <rmh@aybabtu.com>
25721
25722 * util/grub-probe.c (probe): Simplify partmap probing (with the
25723 assumption that the first word up to the underscore equals to
25724 the module name).
25725
b0dfd29a 257262008-02-06 Christian Franke <franke@computer.org>
25727
25728 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
25729 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
25730 last block of a cpio or tar stream.
25731 Check for "TRAILER!!!" instead of any empty data
25732 block to detect last block of a cpio stream.
25733 (grub_cpio_dir): Fix constness of variable np.
25734 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
25735 cpio or tar trailer is detected. This fixes a crash
25736 on open of a non existing file.
25737
c32865bf 257382008-02-05 Bean <bean123ch@gmail.com>
25739
25740 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
25741 address of entry.
25742 (grub_multiboot_load_elf64): Likewise.
25743 (grub_multiboot): Initialize mbi structure.
25744
25745 * util/grub-fstest.c: Don't include unused header file script.h.
25746
fe6b695a 25747 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 25748 of file.
25749 (grub_fstest_SOURCES): Likewise.
25750
409480b7 257512008-02-05 Robert Millan <rmh@aybabtu.com>
25752
25753 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
25754 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
25755 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
25756 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
25757
25758 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
25759 (translation_table): Replace hardcoded values with macros
25760 provided by `<grub/term.h>'.
25761
25762 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
25763 (keyboard_map): Correct/add a few values, with macros provided
25764 by `<grub/term.h>'.
25765 (keyboard_map_shift): Zero values that don't differ from their
25766 `keyboard_map' equivalents.
25767 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
25768 Discard the second scan code that is always sent by Caps lock.
25769 Only use `keyboard_map_shift' when it provides a non-zero value,
25770 otherwise fallback to `keyboard_map'.
25771
99fadbaa 257722008-02-04 Bean <bean123ch@gmail.com>
25773
25774 * Makefile.in (enable_grub_fstest): New variable.
25775
25776 * conf/common.rmk (grub_fstest_init.lst): New rule.
25777 (grub_fstest_init.h): Likewise.
25778 (grub_fstest_init.c): Likewise.
25779 (util/grub-fstest.c_DEPENDENCIES): New variable.
25780 (grub_fstest_SOURCES): Likewise.
25781
25782 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
25783
25784 * util/grub-fstest.c: New file.
25785
bf567c50 257862008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25787
25788 Make grub-setup handle a separate root device.
f19dbdb7 25789
bf567c50 25790 * util/i386/pc/grub-setup.c (setup): Always open the root device,
25791 so that the root device can be compared with the destination
25792 device.
25793 When embedding the core image, if the root and destination devices
25794 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
25795 0xFF.
25796 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 25797
9be6b98b 257982008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25799
25800 Add support for having a grub directory in a different drive. This
25801 is still only the data handling part.
f19dbdb7 25802
9be6b98b 25803 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
25804 (codestart): Save %dh in GRUB_ROOT_DRIVE.
25805 (grub_root_drive): New variable.
25806
25807 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
25808 instead of GRUB_BOOT_DRIVE to construct a device name. Set
25809 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
25810 as it was.
25811
25812 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
25813
25814 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
25815 macro.
25816 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
25817
25818 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
25819 is bogus, because PXE booting does not specify any drive
25820 correctly.
25821
25822 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
25823 am not sure if this is really correct.
25824
25825 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
25826 is always identical to the boot drive when booting from a CD.
25827
25828 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
25829 longer.
25830 (root_drive): New variable.
25831 (real_start): Unconditionally set %dh to ROOT_DRIVE.
25832 (setup_sectors): Push %dx right after popping it, because %dh will
25833 be modified later.
25834 (copy_buffer): Restore %dx.
25835
e0ca0677 258362008-02-03 Robert Millan <rmh@aybabtu.com>
25837
25838 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
25839 use `cdboot.img' for cdrom images.
25840
3b3f6629 258412008-02-03 Robert Millan <rmh@aybabtu.com>
25842
25843 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
25844 only setup gfxterm when `font' command has succeeded.
25845
d42b3672 258462008-02-03 Robert Millan <rmh@aybabtu.com>
25847
25848 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
25849 (grub_rescue_cmd_multiboot_loader)
25850 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
25851
fa370ea6 258522008-02-03 Pavel Roskin <proski@gnu.org>
25853
e0c5dacb 25854 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 25855 %edx and %esi from stack only after grub_gate_a20() is called.
25856 grub_gate_a20() clobbers %edx.
25857
f2a76e1d 258582008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25859
25860 * configure.ac (AC_INIT): Bumped to 1.96.
25861
25862 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
25863 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
25864 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
25865 video/readers/png.c.
25866
90fd32d1 258672008-02-03 Bean <bean123ch@gmail.com>
9be665dd 25868
25869 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
25870 (cdboot_img_SOURCES): New variable.
25871 (cdboot_img_ASFLAGS): New variable.
25872 (cdboot_img_LDFLAGS): New variable.
25873
25874 * boot/i386/pc/cdboot.S: New file.
25875
25876 * disk/i386/pc/biosdisk.c (cd_start): New variable.
25877 (cd_count): Likewise.
25878 (grub_biosdisk_get_drive): Add support for cd device.
25879 (grub_biosdisk_call_hook): Likewise.
25880 (grub_biosdisk_iterate): Likewise.
25881 (grub_biosdisk_open): Likewise.
25882 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
25883 (grub_biosdisk_rw): Support reading from cd device.
25884 (GRUB_MOD_INIT): Iterate cd devices.
25885
25886 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
25887 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
25888 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
25889
25890 * kern/i386/pc/init.c (make_install_device): Check for cd device.
25891
4020aa53 258922008-02-02 Robert Millan <rmh@aybabtu.com>
25893
25894 * commands/read.c: New file.
25895 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
25896 (read_mod_SOURCES): New variable.
25897 (read_mod_CFLAGS): Likewise.
25898 (read_mod_LDFLAGS): Likewise.
25899
e03a1132 259002008-02-02 Robert Millan <rmh@aybabtu.com>
25901
25902 * normal/main.c (grub_normal_execute): Check for `menu->size' when
25903 determining whether menu has to be displayed.
25904
58c69220 259052008-02-02 Marco Gerards <marco@gnu.org>
25906
25907 * bus/pci.c: New file.
25908
25909 * include/grub/pci.h: Likewise.
25910
25911 * include/grub/i386/pc/pci.h: Likewise.
25912
25913 * commands/lspci.c: Likewise.
25914
25915 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
25916 `lspci.mod'.
25917 (pci_mod_SOURCES): New variable.
25918 (pci_mod_CFLAGS): Likewise.
25919 (pci_mod_LDFLAGS): Likewise.
25920 (lspci_mod_SOURCES): Likewise.
25921 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 25922 (lspci_mod_LDFLAGS): Likewise.
58c69220 25923
c004e1b4 259242008-02-02 Bean <bean123ch@gmail.com>
25925
25926 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
25927 (grub_ufs_get_file_block): Fix indirect block calculation problem.
25928
25929 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
25930 (grub_xfs_btree_node): New structure.
25931 (grub_xfs_btree_root): New structure.
25932 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
25933 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
25934 (GRUB_XFS_EXTENT_BLOCK): Likewise.
25935 (GRUB_XFS_EXTENT_SIZE): Likewise.
25936 (grub_xfs_read_block): Support btree format type.
25937 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
25938 Use directory block as basic unit.
25939
25940 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
25941
25942 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
25943 __attribute__ ((__regparm__ (1))).
25944
f95562bf 259452008-02-01 Robert Millan <rmh@aybabtu.com>
25946
25947 Correct a mistake in previous commit.
25948
25949 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
25950 top.
25951 (normal/command.c_DEPENDENCIES): New variable.
25952
7d31f41f 259532008-02-01 Robert Millan <rmh@aybabtu.com>
25954
25955 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
25956 top.
25957 (normal/command.c_DEPENDENCIES): New variable.
25958 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
25959 * conf/i386-ieee1275.rmk: Likewise.
25960 * conf/i386-linuxbios.rmk: Likewise.
25961 * conf/i386-pc.rmk: Likewise.
25962 * conf/sparc64-ieee1275.rmk: Likewise.
25963 * conf/powerpc-ieee1275.rmk: Likewise.
25964 (grub_emu_SOURCES): Add `fs/fshelp.c'.
25965
25966 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
25967
60b6be74 259682008-02-01 Robert Millan <rmh@aybabtu.com>
25969
25970 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
25971 call at beginning of function.
25972
078522ab 259732008-01-31 Pavel Roskin <proski@gnu.org>
25974
25975 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 25976 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
25977 (grub_mkrescue_SOURCES): Likewise.
078522ab 25978 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
25979
ccaa8a5f 259802008-01-30 Robert Millan <rmh@aybabtu.com>
25981
25982 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
25983 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
25984 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
25985 (grub_probe_SOURCES): ... to here.
25986
25987 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
25988 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
25989 * conf/i386-ieee1275.rmk: Likewise.
25990 * conf/i386-linuxbios.rmk: Likewise.
25991 * conf/powerpc-ieee1275.rmk: Likewise.
25992
ae5a9cd7 259932008-01-30 Tristan Gingold <gingold@free.fr>
25994
25995 * kern/rescue.c: Silently accept empty lines.
25996
70bc2ef2 259972008-01-29 Bean <bean123ch@gmail.com>
25998
25999 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
26000 (real_code_2): Code cleanup and change comment style.
26001 (move_memory): Avoid using 32-bit address mode.
26002
6a4d50ea 260032008-01-29 Bean <bean123ch@gmail.com>
26004
26005 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
26006 (png_mod_SOURCES): New variable.
26007 (png_mod_CFLAGS): Likewise.
26008 (png_mod_LDFLAGS): Likewise.
26009
26010 * video/readers/png.c: New file.
26011
11cc30ac 260122008-01-28 Robert Millan <rmh@aybabtu.com>
26013
26014 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
26015 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
26016 `ifndef GRUB_MOD_GAP' hack.
26017 * util/elf/grub-mkimage.c (add_segments): Likewise.
26018
3abc589f 260192008-01-27 Robert Millan <rmh@aybabtu.com>
26020
26021 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
26022 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 26023 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 26024
e1907778 260252008-01-27 Robert Millan <rmh@aybabtu.com>
26026
26027 Get grub-emu to build again (including parallel builds).
26028
26029 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
26030 Split into ...
26031 (util/grub-emu.c_DEPENDENCIES): ... this, ...
26032 (normal/execute.c_DEPENDENCIES): ... this, ...
26033 (grub-emu_DEPENDENCIES): ... and this.
26034
26035 * conf/i386-efi.rmk: Likewise.
26036 * conf/i386-linuxbios.rmk: Likewise.
26037 * conf/i386-ieee1275.rmk: Likewise.
26038 * conf/powerpc-ieee1275.rmk: Likewise.
26039 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
26040
2216b101 260412008-01-27 Robert Millan <rmh@aybabtu.com>
26042
26043 * NEWS: Add a few items.
26044
f75172d9 260452008-01-27 Robert Millan <rmh@aybabtu.com>
26046
26047 Fix parallel builds with grub-emu. Based on earlier commit for
26048 grub-probe and grub-setup.
26049
26050 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26051 (util/grub-emu.c_DEPENDENCIES): ... this.
26052 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26053 (util/grub-emu.c_DEPENDENCIES): ... this.
26054 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26055 (util/grub-emu.c_DEPENDENCIES): ... this.
26056 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26057 (util/grub-emu.c_DEPENDENCIES): ... this.
26058 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26059 (util/grub-emu.c_DEPENDENCIES): ... this.
26060
3f51de77 260612008-01-27 Pavel Roskin <proski@gnu.org>
26062
26063 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
26064 to create a gap between _end and the modules added to the image
26065 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
26066 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
26067 * util/elf/grub-mkimage.c (add_segments): Likewise.
26068
2033f53e 260692008-01-26 Pavel Roskin <proski@gnu.org>
26070
26071 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
26072 just return an error.
26073
22da1f6f 260742008-01-26 Bean <bean123ch@gmail.com>
26075
26076 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
26077 (grub_reiserfs_get_item): Save offset of the next item.
26078 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
26079
2a9525e6 260802008-01-25 Robert Millan <rmh@aybabtu.com>
26081
26082 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
26083 make all filesystem sources appear together (possibly fixing omissions
26084 while at it).
26085 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26086 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26087 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26089
26090 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
26091 add `kern/file.c'.
26092 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
26093 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26094 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
26095 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26096
26097 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
26098 (probe): Add a sanity check to make sure of our ability to read
26099 requested files when probing for filesystem type.
26100
26101 * genmk.rb: Update copyright year (2007).
26102
26103 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
26104 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
26105 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
26106 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
26107 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
26108 : Remove function prototypes.
26109
b95f71b5 261102008-01-25 Robert Millan <rmh@aybabtu.com>
26111
26112 Revert my previous commits (based on wrong assumption of how grub_errno
26113 works).
26114
fe6b695a 26115 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 26116 * kern/file.c (grub_file_open): Likewise.
26117
d08bbb49 261182008-01-24 Pavel Roskin <proski@gnu.org>
26119
26120 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
26121 that hang if GRUB tries to setup colors.
26122 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
26123 colors for firmwares that don't support it.
26124 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
26125 Recognize Open Hack'Ware, set flags to work around its
26126 limitations.
26127
605e36ed 261282008-01-24 Robert Millan <rmh@aybabtu.com>
26129
26130 * kern/file.c (grub_file_open): Do not account previous failures of
26131 unrelated functions when grub_errno is checked for.
26132 Reported by Oleg Strikov.
26133
bac332a1 261342008-01-24 Bean <bean123ch@gmail.com>
26135
26136 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
26137 (grub_ufs_sblock): New member volume name.
26138 (grub_ufs_find_file): Fix string copy bug.
26139 (grub_ufs_label): Implement this function properly.
26140
26141 * fs/hfs.c (grub_hfs_cnid_type): New enum.
26142 (grub_hfs_iterate_records): Use the correct file number for extents
26143 and catalog file. Fix problem in next index calculation.
26144 (grub_hfs_find_node): Replace recursive function call with loop.
26145 (grub_hfs_iterate_dir): Replace recursive function call with loop.
26146
15c80c09 261472008-01-23 Robert Millan <rmh@aybabtu.com>
26148
26149 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
26150 `<grub/symbol.h>' and `<grub/multiboot.h>'.
26151 (grub_multiboot2_real_boot): New function prototype.
26152
26153 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
26154 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
26155
26156 * kern/i386/ieee1275/init.c (grub_os_area_addr)
26157 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
26158
305338fd 261592008-01-23 Robert Millan <rmh@aybabtu.com>
26160
26161 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
26162 #ifdef'ed out grub_printf().
26163
3ea52685 261642008-01-23 Robert Millan <rmh@aybabtu.com>
26165
26166 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
26167 grub_dprintf calls, since they make "debug=all" mode unusable.
26168 (grub_console_checkkey): Likewise.
26169
5882ae4b 261702008-01-23 Robert Millan <rmh@aybabtu.com>
26171
26172 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26173 `term/i386/pc/at_keyboard.c'.
26174 (pkglib_MODULES): Add `serial.mod'.
26175 (serial_mod_SOURCES): New variable.
26176 (serial_mod_CFLAGS): Likewise.
26177 (serial_mod_LDFLAGS): Likewise.
26178
26179 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
26180 `<grub/powerpc/ieee1275/console.h>'.
26181 (grub_keyboard_controller_init): New function prototype.
26182 (grub_console_checkkey): Likewise.
26183 (grub_console_getkey): Likewise.
26184
26185 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
26186 keyboard on i386.
26187
26188 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
26189 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
26190
06ab5303 261912008-01-23 Robert Millan <rmh@aybabtu.com>
26192
26193 * kern/i386/pc/init.c (make_install_device): When memdisk image is
26194 present, "(memdisk)/boot/grub" becomes the default prefix.
26195
26196 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
26197 a memdisk tarball with all the modules. Add --overlay=DIR option that
26198 allows users to overlay additional files into the image.
26199
dbb475a4 262002008-01-23 Robert Millan <rmh@aybabtu.com>
26201
26202 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
26203 and `machine/memory.h'.
26204 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
26205 (_multiboot_mod_SOURCES): New variable.
26206 (_multiboot_mod_CFLAGS): Likewise.
26207 (_multiboot_mod_LDFLAGS): Likewise.
26208 (multiboot_mod_SOURCES): Likewise.
26209 (multiboot_mod_CFLAGS): Likewise.
26210 (multiboot_mod_LDFLAGS): Likewise.
26211
26212 * include/grub/i386/ieee1275/loader.h: New file.
26213
26214 * include/grub/i386/ieee1275/machine.h: Likewise.
26215
26216 * include/grub/i386/ieee1275/memory.h: Likewise.
26217
26218 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
26219 variable declaration.
26220 (grub_os_area_size): Likewise.
26221
26222 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
26223 (grub_lower_mem, grub_upper_mem): New variables.
26224 (grub_stop_floppy): New function (just to make
26225 grub_multiboot2_real_boot() happy).
26226
26227 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
26228 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
26229 (grub_stop): New function.
26230 Include `"../realmode.S"' and `"../loader.S"'.
26231
26232 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
26233 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
26234
26235 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
26236 rely on grub_multiboot2_real_boot() for final boot.
26237
25638629 262382008-01-22 Robert Millan <rmh@aybabtu.com>
26239
26240 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
26241 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
26242 device that doesn't look like an SD card.
26243 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26244 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
26245 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
26246 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
26247 found.
26248
9dad816d 262492008-01-22 Robert Millan <rmh@aybabtu.com>
26250
26251 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
26252 avoid claiming over our own code.
26253
34842f2d 262542008-01-22 Bean <bean123ch@gmail.com>
26255
26256 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
26257 (jpeg_mod_SOURCES): New variable.
26258 (jpeg_mod_CFLAGS): Likewise.
26259 (jpeg_mod_LDFLAGS): Likewise.
26260
26261 * video/readers/jpeg.c : New file.
26262
44023a28 262632008-01-22 Bean <bean123ch@gmail.com>
26264
26265 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
26266 there are no more items.
26267
bc2d8ac6 262682008-01-21 Robert Millan <rmh@aybabtu.com>
26269
26270 * kern/mm.c (grub_mm_init_region): Improve debug message.
26271
261bd4bc 262722008-01-21 Robert Millan <rmh@aybabtu.com>
26273
26274 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
26275 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
26276 address.
26277 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
26278 a C macro.
26279 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
26280 Indicates start of upper memory.
26281 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
26282 (generate_image): Abort when image size is big enough to corrupt
26283 upper memory.
26284
26285 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
26286 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
26287 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26288 instead of hardcoding 0xA0000.
26289 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
26290 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26291 instead of hardcoding 0xA0000.
26292
f970b55e 262932008-01-21 Robert Millan <rmh@aybabtu.com>
26294
26295 * disk/memdisk.c (memdisk_size): New variable.
26296 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
26297 `memdisk_size'.
26298 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
26299 image to dynamic memory.
26300 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
26301 `memdisk_size'. Free memdisk block.
26302
1a8b0526 263032008-01-21 Robert Millan <rmh@aybabtu.com>
26304
26305 Fix detection of very small filesystems (like tar).
26306
26307 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
26308 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
26309 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
26310 a problem with this disk).
26311
6e9b4aab 263122008-01-21 Robert Millan <rmh@aybabtu.com>
26313
26314 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
26315 on grub_biosdisk_rw_standard() error.
26316
0d8837b2 263172008-01-21 Robert Millan <rmh@aybabtu.com>
26318
26319 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
26320 recent changes.
26321 * kern/elf.c: Likewise.
26322 * kern/ieee1275/ieee1275.c: Likewise.
26323 * kern/powerpc/ieee1275/openfw.c: Likewise.
26324 * term/ieee1275/ofconsole.c: Likewise.
26325
ffd36e34 263262008-01-21 Robert Millan <rmh@aybabtu.com>
26327
26328 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
26329
3f0093d0 26330 * include/grub/kernel.h (grub_arch_memdisk_addr)
26331 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 26332
3f0093d0 26333 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
26334 (grub_arch_memdisk_size): ... to here.
ffd36e34 26335
6c391b21 263362008-01-21 Robert Millan <rmh@aybabtu.com>
26337
26338 Mostly based on bugfix from Bean.
26339
26340 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
26341 attribute with hook() parameter.
26342 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
26343 declaration.
26344 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
26345 attribute with hook() parameter.
26346 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
26347 declaration.
26348
55a581dc 263492008-01-21 Robert Millan <rmh@aybabtu.com>
26350
26351 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
26352 (pkglib_MODULES): Add `memdisk.mod'.
26353 (memdisk_mod_SOURCES): New variable.
26354 (memdisk_mod_CFLAGS): Likewise.
26355 (memdisk_mod_LDFLAGS): Likewise.
26356
26357 * disk/memdisk.c: New file.
26358
26359 * include/grub/disk.h (grub_disk_dev_id): Add
26360 `GRUB_DISK_DEVICE_MEMDISK_ID'.
26361
26362 * include/grub/i386/pc/kernel.h
26363 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
26364 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
26365 (grub_kernel_image_size): New variable declaration.
26366 (grub_total_module_size): Likewise.
26367 (grub_memdisk_image_size): Likewise.
26368
26369 * include/grub/i386/pc/memory.h
26370 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
26371
26372 * include/grub/kernel.h: Include `<grub/symbol.h>'.
26373 (grub_arch_memdisk_addr): New variable declaration.
26374 (grub_arch_memdisk_size): Likewise.
26375
26376 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
26377 (grub_arch_memdisk_size): Likewise.
26378
26379 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
26380 (codestart): Replace hardcoded `0x100000' with
26381 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
26382
26383 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
26384 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
26385 not NULL, append the contents of the file it refers to, at the end of
26386 the compressed kernel image. Initialize `grub_memdisk_image_size'
26387 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
26388 (options): Add "memdisk"|'m' option.
26389 (main): Parse --memdisk|-m option, and pass user-provided path as
26390 parameter to generate_image().
26391
3d7f54c9 263922008-01-20 Robert Millan <rmh@aybabtu.com>
26393
26394 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
26395 grub_dprintf() calls from here ...
26396 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
26397
0bf74728 263982008-01-20 Robert Millan <rmh@aybabtu.com>
26399
26400 Fix detection of "real mode" when /options/real-mode? doesn't exist.
26401
26402 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
26403 declaration.
26404 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
26405 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
26406 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 26407 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 26408 property).
26409 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
26410 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
26411
33bf70a7 264122008-01-19 Robert Millan <rmh@aybabtu.com>
26413
fe6b695a 26414 Get rid of confusing function (superseded by
33bf70a7 26415 `grub_ieee1275_get_integer_property')
26416 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
26417 prototype.
26418 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
26419 function.
26420 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
26421 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 26422 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 26423
e2da7d26 264242008-01-19 Robert Millan <rmh@aybabtu.com>
26425
26426 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
26427 command after "shut-down", since implementations differ on which
26428 the command for halt is.
26429
59f1fd8d 264302008-01-19 Robert Millan <rmh@aybabtu.com>
26431
26432 * include/grub/i386/linuxbios/console.h: Add header protection.
26433 (grub_keyboard_controller_init): New function prototype.
26434 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
26435 (KEYBOARD_COMMAND_READ): Likewise.
26436 (KEYBOARD_COMMAND_WRITE): Likewise.
26437 (KEYBOARD_SCANCODE_SET1): Likewise.
26438 (grub_keyboard_controller_write): New function.
26439 (grub_keyboard_controller_read): Likewise.
26440 (grub_keyboard_controller_init): Likewise.
26441
26442 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
26443 (grub_console_init): On coreboot/LinuxBIOS, call
26444 grub_keyboard_controller_init().
26445
5f5a7c15 264462008-01-19 Robert Millan <rmh@aybabtu.com>
26447
26448 PowerPC changes provided by Pavel Roskin.
26449
26450 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
26451 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
26452 don't rely on cmain() doing it.
26453 * kern/i386/ieee1275/startup.S (_start): Store %eax in
26454 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
26455
1210e168 264562008-01-16 Robert Millan <rmh@aybabtu.com>
26457
26458 * include/grub/i386/linuxbios/memory.h
26459 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
26460 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
26461 receive `table_header' as argument. Instead, probe for it in the
26462 known memory ranges where it can be present.
26463 (grub_available_iterate): Do not pass a fixed `table_header' address
26464 to grub_linuxbios_table_iterate().
26465
3d04eab8 264662008-01-15 Robert Millan <rmh@aybabtu.com>
26467
26468 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
26469 * conf/i386-ieee1275.rmk: New file.
26470 * include/grub/i386/ieee1275/console.h: Likewise.
26471 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
26472 * include/grub/i386/ieee1275/kernel.h: Likewise.
26473 * include/grub/i386/ieee1275/time.h: Likewise.
26474 * kern/i386/ieee1275/init.c: Likewise.
26475 * kern/i386/ieee1275/startup.S: Likewise.
26476
d1bc1b73 264772008-01-15 Robert Millan <rmh@aybabtu.com>
26478
26479 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
26480 when pointers are 32-bit (but still do set it to one when they are
26481 64-bit).
26482
66a65807 264832008-01-15 Robert Millan <rmh@aybabtu.com>
26484
26485 * include/grub/ieee1275/ieee1275.h
26486 (grub_ieee1275_get_integer_property): New function prototype.
26487
26488 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
26489 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 26490 grub_ieee1275_get_property() to handle endianness.
66a65807 26491
26492 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
26493 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 26494 where appropriate.
66a65807 26495 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
26496 (grub_map): Likewise.
26497 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
26498
a83ccafd 264992008-01-15 Bean <bean123ch@gmail.com>
26500
26501 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
26502 (grub_script_execute_cmdline): Reset grub_errno.
26503
26504 * normal/main.c (read_config_file): Reset grub_errno.
26505
26506 * normal/parse.y (script_init): New.
26507 (script): Move function and menuentry here.
26508 (delimiter): New.
26509 (command): Add delimiter at the end of command.
26510 (commands): Adjust to match the new command.
26511 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 26512 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 26513 (if): Use the new commands.
26514
26515 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
26516
df6ecfc6 265172008-01-15 Robert Millan <rmh@aybabtu.com>
26518
26519 * normal/menu.c (run_menu): Move timeout message from here ...
26520 (print_timeout): ... to here.
26521 (run_menu): Use print_timeout() once during initial draw to print
26522 the whole message, and again in every clock tick to update only
26523 the number of seconds.
26524
87ae25eb 265252008-01-15 Robert Millan <rmh@aybabtu.com>
26526
26527 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
26528 actual size of `available' from grub_ieee1275_get_property(), and
26529 restrict parsing to that bound.
26530
47bf09a4 265312008-01-15 Christian Franke <franke@computer.org>
26532
26533 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
26534 (argp_program_version): Remove variable.
26535 (argp_program_bug_address): Likewise.
26536 (options): Convert from struct argp_option to struct option.
26537 (struct arguments): Remove.
26538 (parse_opt): Remove.
26539 (usage): New function.
26540 (main): Replace struct args members by simple variables.
26541 Replace argp_parse() by getopt_long().
26542 Add switch to evaluate options.
26543 Add missing "(...)" around root_dev in prefix string.
26544
c86f1469 265452008-01-14 Robert Millan <rmh@aybabtu.com>
26546
26547 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
26548 for grub_ieee1275_exit(), in order to improve portability.
26549
e622c559 265502008-01-14 Robert Millan <rmh@aybabtu.com>
26551
26552 * util/grub.d/10_linux.in (prefix): Define.
26553 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
26554
44cb1ec8 265552008-01-13 Pavel Roskin <proski@gnu.org>
26556
26557 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
26558 grub_errno if no errors have been detected.
26559
1eb8c802 265602008-01-12 Robert Millan <rmh@aybabtu.com>
26561
26562 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
26563 (grub_util_get_dev_abstraction): New function prototype.
26564
26565 * util/getroot.c: Include `<grub/util/getroot.h>'
26566 (grub_util_get_grub_dev): Move detection of abstraction type to ...
26567 (grub_util_get_dev_abstraction): ... here (new function).
26568
26569 * util/grub-probe.c: Convert PRINT_* to an enum. Add
26570 `PRINT_ABSTRACTION'.
26571 (probe): Probe for abstraction type when requested.
26572 (main): Understand `--target=abstraction'.
26573
26574 * util/i386/efi/grub-install.in: Add abstraction module to core
26575 image when it is found to be necessary.
26576 * util/i386/pc/grub-install.in: Likewise.
26577 * util/powerpc/ieee1275/grub-install.in: Likewise.
26578
26579 * util/update-grub_lib.in (font_path): Return system path without
26580 converting to GRUB path.
26581 * util/update-grub.in: Convert system path returned by font_path()
26582 to a GRUB path. Use `grub-probe -t abstraction' to determine what
26583 abstraction module is needed for loading fonts (if any). Export
26584 that as `GRUB_PRELOAD_MODULES'.
26585 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
26586 insmod commands).
26587
52bd3de9 265882008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
26589
26590 Remove some unused code from reiserfs.
f19dbdb7 26591
52bd3de9 26592 * fs/reiserfs.c (struct grub_reiserfs_key)
26593 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
26594 (struct grub_reiserfs_node_body): Removed.
26595 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26596 Likewise.
26597 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26598 Likewise.
26599 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26600 Likewise.
26601 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26602 Likewise.
26603 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26604 Likewise.
26605 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
26606 Likewise.
26607 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26608 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26609 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26610
2f80039d 266112008-01-10 Robert Millan <rmh@aybabtu.com>
26612
26613 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
26614 Determines if a file is garbage left by packaging systems, etc.
26615 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
26616 for processing /etc/grub.d scripts.
26617 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
26618 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
26619 as a condition for processing Linux images.
26620
87888032 266212008-01-10 Pavel Roskin <proski@gnu.org>
26622
26623 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
26624 to compile reiserfs.c on PowerPC.
26625
7e54fced 266262008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 26627
26628 * kern/device.c (grub_device_iterate): Do not abort device iteration
26629 when one of the devices cannot be opened.
26630 * kern/disk.c (grub_disk_open): Do not account previous failures of
26631 unrelated functions when grub_errno is checked for.
26632
5aa541e6 266332008-01-08 Robert Millan <rmh@aybabtu.com>
26634
26635 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
26636 `! grub_linux_is_bzimage', change order of address comparison to make
26637 it more intuitive, and improve "too big zImage" error message.
26638
7076340d 266392008-01-08 Robert Millan <rmh@aybabtu.com>
26640
26641 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
26642 `$(update-grub_DATA)'.
26643 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
26644 targets.
26645
9ca70333 266462008-01-07 Robert Millan <rmh@aybabtu.com>
26647
26648 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
26649 which instruction is modified by grub-setup during installation
26650 (since it wasn't obvious by only looking at this file).
26651
38ccf575 266522008-01-07 Robert Millan <rmh@aybabtu.com>
26653
26654 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
26655 listing actual TODO items.
26656
f5db4291 266572008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26658
868967cf 26659 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
26660 correctly.
26661 (grub_reiserfs_get_key_offset): Likewise.
26662 (grub_reiserfs_set_key_offset): Likewise.
26663 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 26664 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 26665
26666 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
26667 better to remove the bitfield version completely.
f19dbdb7 26668
868967cf 266692008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 26670
f5db4291 26671 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
26672 allocated from the heap, due to the fshelp implementation.
26673 (grub_reiserfs_dir): Free NODE, due to the same reason.
26674
492e6d9d 266752008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26676
26677 Mostly from Vincent Pelletier:
f19dbdb7 26678
492e6d9d 26679 * fs/reiserfs.c: New file.
f19dbdb7 26680
492e6d9d 26681 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
26682 (reiserfs_mod_SOURCES): New variable.
26683 (reiserfs_mod_CFLAGS): Likewise.
26684 (reiserfs_mod_LDFLAGS): Likewise.
26685
26686 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
26687 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
26688 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
26689 normal/color.c.
26690
9ce3e7c1 266912008-01-06 Robert Millan <rmh@aybabtu.com>
26692
26693 * normal/color.c: Remove `<grub/env.h>'.
26694
f3b58148 266952008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
26696
26697 * include/grub/normal.h: Include <grub/env.h>.
26698
7ac3bcfa 266992008-01-05 Robert Millan <rmh@aybabtu.com>
26700
26701 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
26702 usage example with `(hd0,1)'.
fb358190 26703 Reported by Samuel Thibault.
7ac3bcfa 26704
c8ee99d7 267052008-01-05 Robert Millan <rmh@aybabtu.com>
26706
26707 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
26708 (grub_linux_boot_zimage): Rename to ...
26709 (grub_linux_boot): ... this.
26710 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
26711 (grub_linux_boot_zimage): Conditionalize zImage copy.
26712
26713 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
26714 (grub_linux_boot_bzimage): Remove prototype.
26715 (grub_linux_boot_zimage): Rename to ...
26716 (grub_linux_boot): ... this.
26717
26718 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
26719 (grub_linux_boot): Remove function.
26720
0ece25b1 267212008-01-05 Robert Millan <rmh@aybabtu.com>
26722
26723 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
26724 (grub_env_write_color_highlight): Likewise.
26725 (grub_wait_after_message): Likewise.
26726
26727 * normal/color.c: New file.
26728
26729 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26730 (normal_mod_DEPENDENCIES): Likewise.
26731
26732 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26733 (normal_mod_DEPENDENCIES): Likewise.
26734
26735 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26736 (normal_mod_DEPENDENCIES): Likewise.
26737
26738 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26739 (normal_mod_DEPENDENCIES): Likewise.
26740
26741 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
26742 for waiting after a message is printed.
26743 * normal/main.c (read_config_file): Likewise.
26744 (grub_normal_init): Register grub_env_write_color_normal() and
26745 grub_env_write_color_highlight() hooks. Mark `color_normal' and
26746 `color_highlight' variables as global.
26747
26748 * normal/menu.c (grub_wait_after_message): New function.
26749 (grub_color_menu_normal): New variable. Replaces ...
26750 (GRUB_COLOR_MENU_NORMAL): ... this macro.
26751 (grub_color_menu_highlight): New variable. Replaces ...
26752 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
26753 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
26754 `GRUB_TERM_COLOR_STANDARD'.
26755 (print_message): Use `grub_setcolorstate' to reload colors. Rename
26756 `normal_code' and `highlight_code' to `old_color_normal' and
26757 `old_color_highlight', respectively.
26758 (grub_menu_init_page): Update colors when drawing the menu, based on
26759 `menu_color_normal' and `menu_color_highlight' variables.
26760 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
26761 a message is printed.
26762
182dd4e5 267632008-01-05 Robert Millan <rmh@aybabtu.com>
26764
26765 * kern/env.c (grub_env_context_open): Propagate hooks for global
26766 variables to new context.
26767
26768 * kern/main.c (grub_set_root_dev): Export `root' variable.
26769
ddf8f6ad 267702008-01-05 Robert Millan <rmh@aybabtu.com>
26771
26772 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 26773 discs unconditionally, since udev and others have options to provide
ddf8f6ad 26774 them.
26775
d8b43d9b 267762008-01-05 Robert Millan <rmh@aybabtu.com>
26777
26778 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
26779
2bff2de3 267802008-01-04 Christian Franke <franke@computer.org>
26781
26782 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
26783 of eisa_mmap.
26784
97eab917 267852008-01-03 Pavel Roskin <proski@gnu.org>
26786
26787 * kern/i386/linuxbios/init.c: Put "void" to all function
26788 declarations with no arguments.
26789 * kern/powerpc/ieee1275/init.c: Likewise.
26790 * term/i386/pc/at_keyboard.c: Likewise.
26791 * term/i386/pc/vga_text.c: Likewise.
26792 * util/grub-mkdevicemap.c: Likewise.
26793
b9416d00 267942008-01-02 Robert Millan <rmh@aybabtu.com>
26795
26796 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
26797 message when loaded image is out of bounds.
26798 (grub_multiboot_load_elf64): Likewise.
26799
92695df9 268002008-01-02 Pavel Roskin <proski@gnu.org>
26801
26802 * util/grub.d/10_linux.in: Try version without ".old" when
26803 looking for initrd. It's better to use initrd from the newer
26804 kernel of the same version than no initrd at all.
26805
d98d9cad 268062008-01-01 Robert Millan <rmh@aybabtu.com>
26807
26808 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
26809
dbfdce36 268102008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
26811
f19dbdb7 26812 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 26813 grub_video_get_active_render_target.
26814 (grub_video_adapter): Added unmap_color and get_active_render_target.
26815
f19dbdb7 26816 * video/video.c: Added grub_video_unmap_color and
dbfdce36 26817 grub_video_get_active_render_target.
26818 (grub_video_get_info): Changed method to accept NULL pointer as an
26819 argument to allow detection of active video adapter.
26820
26821 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
26822 grub_video_vbe_unmap_color_int.
26823 Added grub_video_vbe_unmap_color and
26824 grub_video_vbe_get_active_render_target.
26825 (grub_video_vbe_adapter): Added unmap_color and
26826 get_active_render_target.
26827
f19dbdb7 26828 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 26829 with grub_video_vbe_unmap_color_int.
26830
26831 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
26832 (DEFAULT_NORMAL_COLOR): Likewise.
26833 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
26834 (DEFAULT_FG_COLOR): Removed.
26835 (DEFAULT_BG_COLOR): Likewise.
26836 (DEFAULT_CURSOR_COLOR): Changed value.
26837 (grub_virtual_screen): Added standard_color_setting,
26838 normal_color_setting, highlight_color_setting and term_color.
26839 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
26840 (bitmap_width): Added.
26841 (bitmap_height): Likewise.
26842 (bitmap): Likewise.
26843 (set_term_color): Likewise.
26844 (grub_virtual_screen_setup): Changed to use new terminal coloring
26845 settings.
26846 (grub_gfxterm_init): Added init for bitmap.
26847 (grub_gfxterm_fini): Added destroy for bitmap.
26848 (redraw_screen_rect): Updated to use background bitmap and new
26849 terminal coloring.
26850 (scroll_up): Added optimization for case when there is no bitmap.
26851 (grub_gfxterm_cls): Fixed to use correct background color.
26852 (grub_virtual_screen_setcolorstate): Changed to use new terminal
26853 coloring.
26854 (grub_virtual_screen_setcolor): Likewise.
26855 (grub_virtual_screen_getcolor): Added.
26856 (grub_gfxterm_background_image_cmd): Likewise.
26857 (grub_video_term): Added setcolor and getcolor.
26858 (MOD_INIT): Added registration of background_image command.
26859 (MOD_TERM): Added unregistration for background_image command.
26860
c3c20931 268612007-12-30 Pavel Roskin <proski@gnu.org>
26862
26863 * loader/multiboot_loader.c: Fix multiboot command
26864 unregistration. Fix all typos in the word "multiboot".
26865
df266716 268662007-12-29 Pavel Roskin <proski@gnu.org>
94239199 26867
26868 * util/grub.d/10_linux.in: Refactor search for initrd. Add
26869 support for initrd names used in Fedora.
26870
fc6e896c 268712007-12-26 Bean <bean123ch@gmail.com>
26872
26873 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
26874 (cpio_mod_SOURCES): New variable.
26875 (cpio_mod_CFLAGS): Likewise.
26876 (cpio_mod_LDFLAGS): Likewise.
26877
26878 * fs/cpio.c: New file.
26879
26880 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
26881
26882 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26883
26884 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26885
26886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26887
533110ad 268882007-12-25 Robert Millan <rmh@aybabtu.com>
26889
26890 * include/grub/term.h (struct grub_term): Add `getcolor' function.
26891 (grub_getcolor): New function.
26892
26893 * kern/term.c (grub_getcolor): New function.
26894 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
26895 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
26896 (print_entry): Set normal and highlight colors to
26897 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
26898 respectively, before printing and restore them to old
26899 values afterwards.
26900 (grub_menu_init_page): Likewise. Fill an additional colored space
26901 that would otherwise be left blank.
26902
26903 * term/efi/console.c (grub_console_getcolor): New function.
26904 (struct grub_console_term.getcolor): New variable.
26905 * term/i386/pc/console.c (grub_console_getcolor): New function.
26906 (struct grub_console_term.getcolor): New variable.
26907 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
26908 (struct grub_console_term.getcolor): New variable.
26909
26910 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
26911 (struct grub_console_term.setcolor): Remove variable.
26912 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
26913 (struct grub_console_term.setcolor): Remove variable.
26914 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
26915 (struct grub_console_term.setcolor): Remove variable.
26916 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
26917 (struct grub_console_term.setcolor): Remove variable.
26918
4931827f 269192007-12-25 Robert Millan <rmh@aybabtu.com>
26920
26921 * configure.ac: Search for possible unifont.hex locations, and
26922 define UNIFONT_HEX if found.
26923
26924 * Makefile.in (UNIFONT_HEX): Define variable.
26925 (DATA): Rename to ...
26926 (PKGLIB): ... this. Update all users.
26927 (PKGDATA): New variable.
26928 (pkgdata_IMAGES): Rename to ...
26929 (pkglib_IMAGES): ... this. Update all users.
26930 (pkgdata_MODULES): Rename to ...
26931 (pkglib_MODULES): ... this. Update all users.
26932 (pkgdata_PROGRAMS): Rename to ...
26933 (pkglib_PROGRAMS): ... this. Update all users.
26934 (pkgdata_DATA): Rename to ...
26935 (pkglib_DATA): ... this. Update all users.
26936 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
26937 (unicode.pff, ascii.pff): New rules.
26938 (all-local): Add `$(PKGDATA)' dependency.
26939 (install-local): Process `$(PKGDATA)'.
26940
26941 * util/update-grub_lib.in (font_path): Search for *.pff files in
26942 a few more locations, including `${pkgdata}'.
26943
57e57e31 269442007-12-23 Robert Millan <rmh@aybabtu.com>
26945
26946 Patch from Bean <bean123ch@gmail.com>:
26947 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
26948 `size'.
26949
4bc72aa9 269502007-12-21 Bean <bean123ch@gmail.com>
26951
26952 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
26953 (ntfscomp_mod_SOURCES): New variable.
26954 (ntfscomp_mod_CFLAGS): Likewise.
26955 (ntfscomp_mod_LDFLAGS): Likewise.
26956
26957 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
26958 (grub_probe_SOURCES): Likewise.
26959 (grub_emu_SOURCES): Likewise.
26960
26961 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26962 (grub_emu_SOURCES): Likewise.
26963
26964 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26965 (grub_emu_SOURCES): Likewise.
26966
26967 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26968 (grub_emu_SOURCES): Likewise.
26969
26970 * fs/ntfs.c (grub_ntfscomp_func): New variable.
26971 (read_run_list): Renamed to grub_ntfs_read_run_list.
26972 (decomp_nextvcn): Moved to ntfscomp.c.
26973 (decomp_getch): Likewise.
26974 (decomp_get16): Likewise.
26975 (decomp_block): Likewise.
26976 (read_block): Likewise.
26977 (read_data): Partially moved to ntfscomp.c.
26978 (fixup): Change unsigned to grub_uint16_t.
26979 (read_mft): Change unsigned long to grub_uint32_t.
26980 (read_attr): Likewise.
26981 (read_data): Likewise.
26982 (read_run_data): Likewise.
26983 (read_run_list): Likewise.
26984 (read_mft): Likewise.
26985
26986 * fs/ntfscomp.c: New file.
26987
26988 * include/grub/ntfs.h: New file.
26989
af680a87 269902007-12-16 Robert Millan <rmh@aybabtu.com>
26991
26992 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
26993 IDE disk check, since Linux is known to support 20 IDE disks.
26994 Reported by Colin Watson.
26995
84be7599 269962007-12-15 Bean <bean123ch@gmail.com>
26997
26998 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
26999 (lnxboot_img_SOURCES): New variable.
27000 (lnxboot_img_ASFLAGS): Likewise.
27001 (lnxboot_img_LDFLAGS): Likewise.
27002
27003 * boot/i386/pc/lnxboot.S: New file.
27004
6af9db01 270052007-11-24 Pavel Roskin <proski@gnu.org>
27006
27007 * configure.ac: Test if '--build-id=none' is supported by the
27008 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
27009 objcopy to generate incorrect binary files (binutils
27010 2.17.50.0.18-1 as shipped by Fedora 8).
27011 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
27012 linking, so that build ID doesn't break the test.
27013
7361cfe6 270142007-11-24 Pavel Roskin <proski@gnu.org>
27015
27016 * include/grub/i386/time.h: use "void" in the argument list
27017 of grub_cpu_idle().
27018 * include/grub/powerpc/time.h: Likewise.
27019 * include/grub/sparc64/time.h: Likewise.
27020
1593e10c 270212007-11-18 Christian Franke <franke@computer.org>
27022
27023 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
27024 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
27025 This fixes the problem that function keys did not work in grub-emu.
27026
3b8db1a8 270272007-11-18 Christian Franke <franke@computer.org>
27028
27029 * disk/host.c (grub_host_open): Remove attribute unused from
27030 name parameter. Add check for "host". This fixes the problem
27031 that grub-emu does not find partitions.
27032
2e29408d 270332007-11-18 Christian Franke <franke@computer.org>
27034
27035 * util/hostfs.c (is_dir): New function.
27036 (grub_hostfs_dir): Handle missing dirent.d_type case.
27037 (grub_hostfs_read): Add missing fseek().
27038 (grub_hostfs_label): Clear label pointer. This fixes a crash
27039 of grub-emu on "ls (host)".
27040
398cd047 270412007-11-18 Christian Franke <franke@computer.org>
27042
27043 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
27044 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
27045 to 64 bit boundary by default.
27046
c405c391 270472007-11-18 Bean <bean123ch@gmail.com>
27048
27049 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
27050 (hexdump_mod_SOURCES): New variable.
27051 (hexdump_mod_CFLAGS): Likewise.
27052 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 27053
c405c391 27054 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27055
27056 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27057
27058 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27059
27060 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27061
27062 * include/grub/hexdump.h: New file.
27063
27064 * commands/hexdump.c: New file.
27065
5cced7fd 270662007-11-10 Robert Millan <rmh@aybabtu.com>
27067
27068 * commands/i386/pc/play.c (beep_off): Switch order of arguments
27069 in grub_outb() calls.
27070 (beep_on): Likewise.
27071
8b714eb0 270722007-11-10 Christian Franke <franke@computer.org>
27073
27074 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
27075 (grub_menu_run): Likewise.
27076
ce0f1839 270772007-11-10 Robert Millan <rmh@aybabtu.com>
27078
27079 * include/grub/i386/efi/machine.h: New file.
27080 * include/grub/i386/linuxbios/machine.h: Likewise.
27081 * include/grub/i386/pc/machine.h: Likewise.
27082 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27083 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27084
27085 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
27086 (serial_hw_io_addr): New variable.
27087 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
27088 instead of `(unsigned short *) 0x400'.
27089
270c237d 270902007-11-10 Bean <bean123ch@gmail.com>
27091
27092 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
27093
a87783bf 270942007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27095
27096 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
27097 (vga_mod_SOURCES): Added.
27098 (vga_mod_CFLAGS): Likewise.
27099 (vga_mod_LDFLAGS): Likewise.
27100
27101 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
27102 grub_outb() calls.
27103 (set_map_mask): Likewise.
27104 (set_read_map): Likewise.
27105 (set_read_address): Likewise.
27106 (vga_font): Removed variable.
27107 (get_vga_glyph): Removed function.
27108 (invalidate_char): Likewise.
27109 (write_char): Changed to use grub_font_get_glyph() for font
27110 information.
27111 (grub_vga_putchar): Likewise.
27112 (grub_vga_getcharwidth): Likewise.
27113
6433b448 271142007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27115
27116 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
27117 flags.
27118 (pxeboot_img_LDFLAGS): Likewise.
27119 (diskboot_img_LDFLAGS): Likewise.
27120 (kernel_img_LDFLAGS): Likewise.
27121
49178511 271222007-11-06 Robert Millan <rmh@aybabtu.com>
27123
27124 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
27125 in grub_outb() calls.
27126 (serial_hw_init): Likewise.
27127
53b052de 271282007-11-05 Robert Millan <rmh@aybabtu.com>
27129
27130 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
27131 spaces. Skip non-regular files.
27132
5ab33bba 271332007-11-05 Robert Millan <rmh@aybabtu.com>
27134
27135 * kern/disk.c (grub_disk_firmware_fini)
27136 (grub_disk_firmware_is_tainted): New variables.
27137
27138 * include/grub/disk.h (grub_disk_firmware_fini)
27139 (grub_disk_firmware_is_tainted): Likewise.
27140
27141 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
27142 (grub_disk_biosdisk_fini): ... to here.
27143 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
27144 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
27145 is set. Register grub_disk_biosdisk_fini() in
27146 `grub_disk_firmware_fini'.
27147
27148 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
27149 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
27150 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
27151 to finish existing firmware disk interface.
27152
27153 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
27154 (ata_mod_SOURCES): New variable.
27155 (ata_mod_CFLAGS): Likewise.
27156 (ata_mod_LDFLAGS): Likewise.
27157
0149ab7c 271582007-11-05 Robert Millan <rmh@aybabtu.com>
27159
27160 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
27161 (grub_ata_wait): Reimplement using grub_millisleep().
27162
27163 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
27164 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
27165
be7ac41e 271662007-11-03 Marco Gerards <marco@gnu.org>
27167
27168 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
27169 (CRTC_ADDR_PORT): New macro.
27170 (CRTC_DATA_PORT): Likewise.
27171 (CRTC_CURSOR): Likewise.
27172 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27173 (CRTC_CURSOR_ADDR_LOW): Likewise.
27174 (update_cursor): New function.
27175 (grub_console_real_putchar): Call `update_cursor'.
27176 (grub_console_gotoxy): Likewise.
27177 (grub_console_cls): Set the default color when clearing the
27178 screen.
27179 (grub_console_setcursor): Implemented.
27180
bb06ab2e 271812007-11-03 Marco Gerards <marco@gnu.org>
27182
27183 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
27184 become activate.
27185 (grub_ata_pio_write): Likewise.
27186
27187 (grub_atapi_identify): Wait after issuing an ATA command.
27188 (grub_atapi_packet): Likewise.
27189 (grub_ata_identify): Likewise.
27190 (grub_ata_readwrite): Likewise.
27191
cf8f780b 271922007-11-03 Marco Gerards <marco@gnu.org>
27193
27194 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
27195 (grub_ata_pio_write): Likewise.
27196 (grub_ata_readwrite): Use `grub_error', instead of
27197 returning `grub_errno'.
27198
ed649e54 271992007-11-03 Marco Gerards <marco@gnu.org>
27200
27201 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
27202 grub_ata_pio_write once for every single sector, instead of for
27203 multiple sectors.
27204
ca25d8f0 272052007-10-31 Robert Millan <rmh@aybabtu.com>
27206
27207 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
27208
27209 * conf/i386-linuxbios.rmk: New file.
27210
27211 * kern/i386/pc/hardware.c: Likewise.
27212 * term/i386/pc/at_keyboard.c: Likewise.
27213 * term/i386/pc/vga_text.c: Likewise.
27214
27215 * include/grub/i386/linuxbios/boot.h: Likewise.
27216 * include/grub/i386/linuxbios/console.h: Likewise.
27217 * include/grub/i386/linuxbios/init.h: Likewise.
27218 * include/grub/i386/linuxbios/kernel.h: Likewise.
27219 * include/grub/i386/linuxbios/loader.h: Likewise.
27220 * include/grub/i386/linuxbios/memory.h: Likewise.
27221 * include/grub/i386/linuxbios/serial.h: Likewise.
27222 * include/grub/i386/linuxbios/time.h: Likewise.
27223
27224 * kern/i386/linuxbios/init.c: Likewise.
27225 * kern/i386/linuxbios/startup.S: Likewise.
27226 * kern/i386/linuxbios/table.c: Likewise.
27227
e911ecc1 272282007-10-31 Marco Gerards <marco@gnu.org>
27229
27230 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
27231 (ata_mod_SOURCES): New variable.
27232 (ata_mod_CFLAGS): Likewise.
27233 (ata_mod_LDFLAGS): Likewise.
27234
27235 * disk/ata.c: New file.
27236
27237 * include/grub/disk.h (grub_disk_dev_id): Add
27238 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 27239
7f66d0e0 272402007-10-31 Robert Millan <rmh@aybabtu.com>
27241
27242 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
27243 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
27244
27245 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
27246 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
27247
27248 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
27249 `<grub/types.h>'.
27250
27251 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
27252
5cd7dd46 272532007-10-27 Robert Millan <rmh@aybabtu.com>
27254
3236ca65 27255 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 27256
2ebfc90f 272572007-10-22 Robert Millan <rmh@aybabtu.com>
27258
27259 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
27260 `"../realmode.S"'.
27261 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
27262
73fcb0f3 272632007-10-22 Robert Millan <rmh@aybabtu.com>
27264
27265 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
27266 (pkgdata_MODULES): Add `biosdisk.mod'.
27267 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
27268 variables.
27269
27270 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
27271 (grub_biosdisk_init): Replace with ...
27272 (GRUB_MOD_INIT(biosdisk)): ... this.
27273 (grub_biosdisk_fini): Replace with ...
27274 (GRUB_MOD_FINI(biosdisk)): ... this.
27275
27276 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
27277 (grub_machine_init): Remove call to grub_biosdisk_init().
27278 (grub_machine_fini): Remove call to grub_machine_fini().
27279
27280 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
27281
3381d274 272822007-10-22 Robert Millan <rmh@aybabtu.com>
27283
27284 * include/grub/time.h: New file.
27285 * include/grub/i386/time.h: Likewise.
27286 * include/grub/powerpc/time.h: Likewise.
27287 * include/grub/sparc64/time.h: Likewise.
27288
27289 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
27290 instances to ...
27291 (KERNEL_MACHINE_TIME_HEADER): ... this.
27292 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27293 instances to ...
27294 (KERNEL_MACHINE_TIME_HEADER): ... this.
27295 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27296 instances to ...
27297 (KERNEL_MACHINE_TIME_HEADER): ... this.
27298
27299 * kern/i386/efi/init.c: Include `<grub/time.h>'.
27300 (grub_millisleep): New function.
27301 * kern/i386/pc/init.c: Include `<grub/time.h>'.
27302 (grub_millisleep): New function.
27303 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
27304 Remove `grub/machine/time.h' include.
27305 (grub_millisleep): New function.
27306 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
27307 Remove `grub/machine/time.h' include.
27308 (grub_millisleep): New function.
27309
27310 * include/grub/misc.h (grub_div_roundup): New function.
27311
27312 * kern/misc.c: Include `<grub/time.h>'.
27313 (grub_millisleep_generic): New function.
27314
27315 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
27316 Add `time.h'.
27317 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
27318 Add `time.h'.
27319 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
27320 `machine/time.h'. Add `time.h'.
27321 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27322
a39a0312 273232007-10-21 Robert Millan <rmh@aybabtu.com>
27324
27325 * include/grub/misc.h (grub_max): New function.
27326
2aad70e2 273272007-10-21 Robert Millan <rmh@aybabtu.com>
27328
27329 * util/misc.c (grub_util_info): Call fflush() before returning.
27330
54b71c4b 273312007-10-20 Robert Millan <rmh@aybabtu.com>
27332
27333 * genmk.rb (Image): Copy `extra_flags' from here ...
27334 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
27335
27336 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
27337 to `argc' and `args' arguments.
27338
a979f513 273392007-10-17 Robert Millan <rmh@aybabtu.com>
27340
27341 * kern/i386/loader.S: New file.
27342
27343 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
27344 * kern/i386/loader.S (grub_linux_prot_size)... to here.
27345 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
27346 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
27347 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
27348 * kern/i386/loader.S (grub_linux_real_addr)... to here.
27349 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
27350 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
27351 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
27352 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
27353 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
27354 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
27355 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
27356 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
27357
27358 * kern/i386/realmode.S: New file.
27359
27360 * kern/i386/pc/startup.S (protstack): Moved from here ...
27361 * kern/i386/realmode.S (protstack)... to here.
27362 * kern/i386/pc/startup.S (gdt): Moved from here ...
27363 * kern/i386/realmode.S (gdt)... to here.
27364 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
27365 * kern/i386/realmode.S (prot_to_real)... to here.
27366
27367 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
27368 `kern/i386/realmode.S'.
27369
825fc8fd 273702007-10-17 Robert Millan <rmh@aybabtu.com>
27371
27372 * include/grub/i386/loader.h: New file.
27373
27374 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
27375 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27376 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27377 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27378 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
27379 * include/grub/i386/loader.h (grub_linux_prot_size)
27380 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27381 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27382 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27383 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
27384
27385 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
27386
e179b2f4 273872007-10-15 Robert Millan <rmh@aybabtu.com>
27388
27389 * normal/misc.c (grub_normal_print_device_info): Do not probe for
27390 filesystem when dev->disk is unset.
27391 Do probe for filesystem even when dev->disk->has_partitions is set.
27392 In case a filesystem is found, always report it.
27393 In case it isn't, if dev->disk->has_partitions is set, report that
27394 a partition table was found instead of reporting that no filesystem
27395 could be identified.
27396
5db82af6 273972007-10-12 Robert Millan <rmh@aybabtu.com>
27398
27399 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
27400 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
27401
68f6ac74 27402 * include/grub/types.h (grub_host_to_target16): New macro.
27403 (grub_host_to_target32): Likewise.
27404 (grub_host_to_target64): Likewise.
27405 (grub_target_to_host16): Likewise.
27406 (grub_target_to_host32): Likewise.
27407 (grub_target_to_host64): Likewise.
5db82af6 27408
27409 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27410 Renamed from to ...
27411 (GRUB_MOD_ALIGN): ...this. Update all users.
27412
68f6ac74 27413 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
27414 grub_host_to_target32.
27415 Replace grub_be_to_cpu32 with grub_target_to_host32.
27416 (load_modules): Likewise.
27417 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
27418 Replace grub_be_to_cpu32 with grub_target_to_host32.
27419 Replace grub_cpu_to_be16 with grub_host_to_target16.
27420 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 27421
3cf497cc 274222007-10-12 Robert Millan <rmh@aybabtu.com>
27423
27424 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
27425 * util/elf/grub-mkimage.c: ... here.
27426
27427 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
27428 `util/powerpc/ieee1275/grub-mkimage.c'.
27429
c8cc3692 274302007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 27431
c8cc3692 27432 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
27433 and make it easier to figure out.
27434 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
27435 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
27436 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
27437 leave us with less than HEAP_MIN_SIZE total heap.
27438 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 27439
5c58b791 274402007-10-03 Robert Millan <rmh@aybabtu.com>
27441
27442 * include/grub/i386/io.h: New file.
27443 * commands/i386/pc/play.c (inb): Removed.
27444 (outb): Removed.
27445 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27446 with grub_outb().
afcd2ef8 27447 * term/i386/pc/serial.c (inb): Removed.
27448 (outb): Removed.
27449 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27450 with grub_outb().
27451 * term/i386/pc/vga.c (inb): Removed.
27452 (outb): Removed.
27453 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27454 with grub_outb().
5c58b791 27455
1a477ed6 274562007-10-02 Robert Millan <rmh@aybabtu.com>
27457
27458 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
27459 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27460 Reported by Marcin Kurek.
27461
6b5d80fa 274622007-09-07 Robert Millan <rmh@aybabtu.com>
27463
27464 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
27465 SmartFirmware version updates (as released by Sven Luther), and avoid
27466 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
27467 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
27468 known broken.
27469
5618afbf 274702007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27471
27472 From Hitoshi Ozeki:
27473 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
27474 when merging two regions.
27475
6139dcd9 274762007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27477
508e39ee 27478 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
27479 * normal/completion.c (grub_normal_do_completion): Likewise.
27480 Reported by Hitoshi Ozeki.
27481
274822007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 27483
6139dcd9 27484 Do not use devices at boot in chainloading.
f19dbdb7 27485
6139dcd9 27486 * loader/i386/pc/chainloader.c (boot_drive): New variable.
27487 (boot_part_addr): Likewise.
27488 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
27489 with BOOT_DRIVE and BOOT_PART_ADDR.
27490 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
27491 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
27492
38da6516 274932007-08-29 Robert Millan <rmh@aybabtu.com>
27494
27495 Patch from Simon Peter <dn.tlp@gmx.net>:
27496 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
27497 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
27498 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
27499 util/i386/pc/grub-setup.c_DEPENDENCIES.
27500 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
27501 util/grub-probe.c_DEPENDENCIES.
27502 * conf/powerpc-ieee1275.rmk: Likewise.
27503
29d0928c 275042007-08-28 Robert Millan <rmh@aybabtu.com>
27505
27506 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
27507 to tell grub-mkdevicemap how to name devices.
27508 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
27509 feature).
27510
27511 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
27512 util/i386/get_disk_name.c.
27513 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
27514 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
27515 util/ieee1275/get_disk_name.c.
27516
27517 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
27518
27519 * DISTLIST: Add util/i386/get_disk_name.c and
27520 util/ieee1275/get_disk_name.c.
27521
27522 * util/grub-mkdevicemap.c: Replace device naming logic with
27523 grub_util_get_disk_name() calls.
27524
5a0d3cca 275252007-08-20 Robert Millan <rmh@aybabtu.com>
27526
27527 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
27528 (so that it works for both plural and singular quantities).
27529
8b72db2f 275302007-08-05 Robert Millan <rmh@aybabtu.com>
27531
27532 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
27533 so that [xz] isn't taken into account when determining order.
27534
352466bf 275352007-08-02 Marco Gerards <marco@gnu.org>
27536
27537 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
27538 `include/multiboot2.h', `include/grub/elfload.h',
27539 `include/multiboot.h', `include/grub/multiboot.h',
27540 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
27541 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
27542 `kern/elf.c', `loader/multiboot_loader.c',
27543 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
27544 `loader/i386/pc/multiboot2.c',
27545 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
27546 `util/i386/pc/grub-mkrescue.in'. Remove
27547 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
27548 `include/grub/i386/pc/util/biosdisk.h' and
27549 `include/grub/powerpc/ieee1275/multiboot.h'.
27550
8f096014 275512007-08-02 Bean <bean123ch@gmail.com>
27552
27553 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
27554 (ntfs_mod_SOURCES): New variable.
27555 (ntfs_mod_CFLAGS): Likewise.
27556 (ntfs_mod_LDFLAGS): Likewise.
27557
27558 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
27559 (grub_probe_SOURCES): Likewise.
27560 (grub_emu_SOURCES): Likewise.
27561
27562 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27563 (grub_emu_SOURCES): Likewise.
27564
27565 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27566 (grub_emu_SOURCES): Likewise.
f19dbdb7 27567
8f096014 27568 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
27569
27570 * fs/ntfs.c: New file.
27571
9959f7db 275722007-08-02 Bean <bean123ch@gmail.com>
27573
27574 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
27575
27576 * file.h (grub_file): Likewise.
27577
27578 * fshelp.h (grub_fshelp_read_file): Likewise.
27579
27580 * util/i386/pc/grub-setup.c (setup): Likewise.
27581 (save_first_sector): Likewise.
27582 (save_blocklists): Likewise.
f19dbdb7 27583
9959f7db 27584 * fs/affs.c (grub_affs_read_file): Likewise.
27585
27586 * fs/ext2.c (grub_ext2_read_file): Likewise.
27587
27588 * fs/fat.c (grub_fat_read_data): Likewise.
27589
27590 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
27591
27592 * fs/hfs.c (grub_hfs_read_file): Likewise.
27593
27594 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27595
27596 * fs/jfs.c (grub_jfs_read_file): Likewise.
27597
27598 * fs/minix.c (grub_minix_read_file): Likewise.
27599
27600 * fs/sfs.c (grub_sfs_read_file): Likewise.
27601
27602 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 27603
9959f7db 27604 * fs/xfs.c (grub_xfs_read_file): Likewise.
27605
27606 * command/blocklist.c (read_blocklist): Likewise.
27607 (print_blocklist): Likewise.
27608
0a203f83 276092007-08-02 Marco Gerards <marco@gnu.org>
27610
27611 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
27612 `util/hostfs.c'.
27613
27614 * disk/host.c: New file.
27615
27616 * util/hostfs.c: Likewise.
27617
27618 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
27619 return `GRUB_ERR_BAD_FS'.
27620 * fs/sfs.c (grub_sfs_mount): Likewise.
27621 * fs/xfs.c (grub_xfs_mount): Likewise.
27622
27623 * include/grub/disk.h (enum grub_disk_dev_id): Add
27624 `GRUB_DISK_DEVICE_HOST_ID'.
27625
27626 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
27627
e5dfe777 276282007-07-24 Jerone Young <jerone@gmail.com>
27629
f19dbdb7 27630 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 27631 modules for compilation.
27632 * conf/powerpc-ieee1275.rmk: Likewise.
27633
27634 * include/multiboot.h: Move multiboot definitions to one file. Rename
27635 many definitions to not get grub specific.
27636 * include/multiboot2.h: Create header with multiboot 2 definitions.
27637 * include/grub/multiboot.h: Header for grub specific function
27638 prototypes and definitions.
27639 * include/grub/multiboot2.h: Likewise.
27640 * include/grub/multiboot_loader.h: Likewise.
27641 * include/grub/i386/pc/multiboot.h: Removed.
27642 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
27643
27644 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
27645 and 2 to allow for one multiboot and module commands.
27646 * loader/multiboot2.c: Add multiboot2 functionality.
27647 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
27648 and definition names.
27649 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
27650 2 functions.
27651 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
27652 ieee1275 specific multiboot2 code.
27653
27654 * kern/i386/pc/startup.S: Change headers and definition names for
27655 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
27656
daf0f0ba 276572007-07-22 Robert Millan <rmh@aybabtu.com>
27658
27659 * geninitheader.sh: Process file specified in first parameter rather
27660 than hardcoding grub_modules_init.lst.
fe6b695a 27661 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 27662 than hardcoding grub_modules_init.h.
27663
27664 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
27665 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
27666 grub_probe_init.[ch] and grub_setup_init.[ch].
27667
27668 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
27669 grub_modules_init.h with grub_emu_init.h.
27670 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
27671 grub_probe_init.[ch] files.
27672 * conf/i386-efi.rmk: Likewise.
27673 * conf/i386-pc.rmk: Likewise.
27674 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
27675 grub_setup_init.[ch] files.
27676
27677 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
27678 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
27679 to initialize modules rather than a list of hardcoded functions.
27680 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
27681 grub_init_all() to initialize modules rather than a list of hardcoded
27682 functions.
27683
54cdc1cc 276842007-07-22 Robert Millan <rmh@aybabtu.com>
27685
27686 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27687 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
27688
ad0686cc 276892007-07-22 Robert Millan <rmh@aybabtu.com>
27690
27691 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
27692 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
27693 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
27694 flag when running on SmartFirmware.
27695 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
27696 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
27697 was set.
27698
27699 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27700 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
27701 rather than decreasing it.
27702
27703 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
27704 there's not enough space to do it, fail in the same way as when it
27705 can't be done because there are no partitions.
27706
27707 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
27708 when nvsetenv failed.
27709
969c02ec 277102007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27711
27712 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
27713 because this rule is automatically generated.
27714 (grub-mkrescue): Removed for the same reason as above.
27715
5a79f472 277162007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27717
27718 Migrate to GNU General Public License Version 3.
f19dbdb7 27719
5a79f472 27720 * COPYING: Replaced with the plain text version of GPLv3.
27721
27722 * config.guess: Updated from gnulib.
27723 * config.sub: Likewise.
27724
27725 * geninit.sh: Output a GPLv3 copyright notice.
27726 * geninitheader.sh: Likewise.
27727 * genmodsrc.sh: Likewise.
27728 * gensymlist.sh.in: Likewise.
27729
27730 * boot/i386/pc/boot.S: Upgraded to GPLv3.
27731 * boot/i386/pc/diskboot.S: Likewise.
27732 * boot/i386/pc/pxeboot.S: Likewise.
27733 * commands/blocklist.c: Likewise.
27734 * commands/boot.c: Likewise.
27735 * commands/cat.c: Likewise.
27736 * commands/cmp.c: Likewise.
27737 * commands/configfile.c: Likewise.
27738 * commands/echo.c: Likewise.
27739 * commands/help.c: Likewise.
27740 * commands/ls.c: Likewise.
27741 * commands/search.c: Likewise.
27742 * commands/terminal.c: Likewise.
27743 * commands/test.c: Likewise.
27744 * commands/videotest.c: Likewise.
27745 * commands/i386/cpuid.c: Likewise.
27746 * commands/i386/pc/halt.c: Likewise.
27747 * commands/i386/pc/play.c: Likewise.
27748 * commands/i386/pc/reboot.c: Likewise.
27749 * commands/i386/pc/vbeinfo.c: Likewise.
27750 * commands/i386/pc/vbetest.c: Likewise.
27751 * commands/ieee1275/halt.c: Likewise.
27752 * commands/ieee1275/reboot.c: Likewise.
27753 * commands/ieee1275/suspend.c: Likewise.
27754 * disk/loopback.c: Likewise.
27755 * disk/lvm.c: Likewise.
27756 * disk/raid.c: Likewise.
27757 * disk/efi/efidisk.c: Likewise.
27758 * disk/i386/pc/biosdisk.c: Likewise.
27759 * disk/ieee1275/ofdisk.c: Likewise.
27760 * font/manager.c: Likewise.
27761 * fs/affs.c: Likewise.
27762 * fs/ext2.c: Likewise.
27763 * fs/fat.c: Likewise.
27764 * fs/fshelp.c: Likewise.
27765 * fs/hfs.c: Likewise.
27766 * fs/hfsplus.c: Likewise.
27767 * fs/iso9660.c: Likewise.
27768 * fs/jfs.c: Likewise.
27769 * fs/minix.c: Likewise.
27770 * fs/sfs.c: Likewise.
27771 * fs/ufs.c: Likewise.
27772 * fs/xfs.c: Likewise.
27773 * hello/hello.c: Likewise.
27774 * include/grub/acorn_filecore.h: Likewise.
27775 * include/grub/arg.h: Likewise.
27776 * include/grub/bitmap.h: Likewise.
27777 * include/grub/boot.h: Likewise.
27778 * include/grub/cache.h: Likewise.
27779 * include/grub/device.h: Likewise.
27780 * include/grub/disk.h: Likewise.
27781 * include/grub/dl.h: Likewise.
27782 * include/grub/elfload.h: Likewise.
27783 * include/grub/env.h: Likewise.
27784 * include/grub/err.h: Likewise.
27785 * include/grub/file.h: Likewise.
27786 * include/grub/font.h: Likewise.
27787 * include/grub/fs.h: Likewise.
27788 * include/grub/fshelp.h: Likewise.
27789 * include/grub/gzio.h: Likewise.
27790 * include/grub/hfs.h: Likewise.
27791 * include/grub/kernel.h: Likewise.
27792 * include/grub/loader.h: Likewise.
27793 * include/grub/lvm.h: Likewise.
27794 * include/grub/misc.h: Likewise.
27795 * include/grub/mm.h: Likewise.
27796 * include/grub/net.h: Likewise.
27797 * include/grub/normal.h: Likewise.
27798 * include/grub/parser.h: Likewise.
27799 * include/grub/partition.h: Likewise.
27800 * include/grub/pc_partition.h: Likewise.
27801 * include/grub/raid.h: Likewise.
27802 * include/grub/rescue.h: Likewise.
27803 * include/grub/script.h: Likewise.
27804 * include/grub/setjmp.h: Likewise.
27805 * include/grub/symbol.h: Likewise.
27806 * include/grub/term.h: Likewise.
27807 * include/grub/terminfo.h: Likewise.
27808 * include/grub/tparm.h: Likewise.
27809 * include/grub/types.h: Likewise.
27810 * include/grub/video.h: Likewise.
27811 * include/grub/efi/api.h: Likewise.
27812 * include/grub/efi/chainloader.h: Likewise.
27813 * include/grub/efi/console.h: Likewise.
27814 * include/grub/efi/console_control.h: Likewise.
27815 * include/grub/efi/disk.h: Likewise.
27816 * include/grub/efi/efi.h: Likewise.
27817 * include/grub/efi/pe32.h: Likewise.
27818 * include/grub/efi/time.h: Likewise.
27819 * include/grub/i386/linux.h: Likewise.
27820 * include/grub/i386/setjmp.h: Likewise.
27821 * include/grub/i386/types.h: Likewise.
27822 * include/grub/i386/efi/kernel.h: Likewise.
27823 * include/grub/i386/efi/loader.h: Likewise.
27824 * include/grub/i386/efi/time.h: Likewise.
27825 * include/grub/i386/pc/biosdisk.h: Likewise.
27826 * include/grub/i386/pc/boot.h: Likewise.
27827 * include/grub/i386/pc/chainloader.h: Likewise.
27828 * include/grub/i386/pc/console.h: Likewise.
27829 * include/grub/i386/pc/init.h: Likewise.
27830 * include/grub/i386/pc/kernel.h: Likewise.
27831 * include/grub/i386/pc/loader.h: Likewise.
27832 * include/grub/i386/pc/memory.h: Likewise.
27833 * include/grub/i386/pc/multiboot.h: Likewise.
27834 * include/grub/i386/pc/serial.h: Likewise.
27835 * include/grub/i386/pc/time.h: Likewise.
27836 * include/grub/i386/pc/vbe.h: Likewise.
27837 * include/grub/i386/pc/vbeblit.h: Likewise.
27838 * include/grub/i386/pc/vbefill.h: Likewise.
27839 * include/grub/i386/pc/vbeutil.h: Likewise.
27840 * include/grub/i386/pc/vga.h: Likewise.
27841 * include/grub/ieee1275/ieee1275.h: Likewise.
27842 * include/grub/ieee1275/ofdisk.h: Likewise.
27843 * include/grub/powerpc/libgcc.h: Likewise.
27844 * include/grub/powerpc/setjmp.h: Likewise.
27845 * include/grub/powerpc/types.h: Likewise.
27846 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
27847 * include/grub/powerpc/ieee1275/console.h: Likewise.
27848 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
27849 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27850 * include/grub/powerpc/ieee1275/loader.h: Likewise.
27851 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
27852 * include/grub/powerpc/ieee1275/time.h: Likewise.
27853 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
27854 * include/grub/sparc64/libgcc.h: Likewise.
27855 * include/grub/sparc64/setjmp.h: Likewise.
27856 * include/grub/sparc64/types.h: Likewise.
27857 * include/grub/sparc64/ieee1275/console.h: Likewise.
27858 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27859 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27860 * include/grub/sparc64/ieee1275/time.h: Likewise.
27861 * include/grub/util/biosdisk.h: Likewise.
27862 * include/grub/util/getroot.h: Likewise.
27863 * include/grub/util/lvm.h: Likewise.
27864 * include/grub/util/misc.h: Likewise.
27865 * include/grub/util/raid.h: Likewise.
27866 * include/grub/util/resolve.h: Likewise.
27867 * io/gzio.c: Likewise.
27868 * kern/device.c: Likewise.
27869 * kern/disk.c: Likewise.
27870 * kern/dl.c: Likewise.
27871 * kern/elf.c: Likewise.
27872 * kern/env.c: Likewise.
27873 * kern/err.c: Likewise.
27874 * kern/file.c: Likewise.
27875 * kern/fs.c: Likewise.
27876 * kern/loader.c: Likewise.
27877 * kern/main.c: Likewise.
27878 * kern/misc.c: Likewise.
27879 * kern/mm.c: Likewise.
27880 * kern/parser.c: Likewise.
27881 * kern/partition.c: Likewise.
27882 * kern/rescue.c: Likewise.
27883 * kern/term.c: Likewise.
27884 * kern/efi/efi.c: Likewise.
27885 * kern/efi/init.c: Likewise.
27886 * kern/efi/mm.c: Likewise.
27887 * kern/i386/dl.c: Likewise.
27888 * kern/i386/efi/init.c: Likewise.
27889 * kern/i386/efi/startup.S: Likewise.
27890 * kern/i386/pc/init.c: Likewise.
27891 * kern/i386/pc/lzo1x.S: Likewise.
27892 * kern/i386/pc/startup.S: Likewise.
27893 * kern/ieee1275/ieee1275.c: Likewise.
27894 * kern/powerpc/cache.S: Likewise.
27895 * kern/powerpc/dl.c: Likewise.
27896 * kern/powerpc/ieee1275/cmain.c: Likewise.
27897 * kern/powerpc/ieee1275/crt0.S: Likewise.
27898 * kern/powerpc/ieee1275/init.c: Likewise.
27899 * kern/powerpc/ieee1275/openfw.c: Likewise.
27900 * kern/sparc64/cache.S: Likewise.
27901 * kern/sparc64/dl.c: Likewise.
27902 * kern/sparc64/ieee1275/init.c: Likewise.
27903 * kern/sparc64/ieee1275/openfw.c: Likewise.
27904 * loader/efi/chainloader.c: Likewise.
27905 * loader/efi/chainloader_normal.c: Likewise.
27906 * loader/i386/efi/linux.c: Likewise.
27907 * loader/i386/efi/linux_normal.c: Likewise.
27908 * loader/i386/pc/chainloader.c: Likewise.
27909 * loader/i386/pc/chainloader_normal.c: Likewise.
27910 * loader/i386/pc/linux.c: Likewise.
27911 * loader/i386/pc/linux_normal.c: Likewise.
27912 * loader/i386/pc/multiboot.c: Likewise.
27913 * loader/i386/pc/multiboot_normal.c: Likewise.
27914 * loader/powerpc/ieee1275/linux.c: Likewise.
27915 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27916 * normal/arg.c: Likewise.
27917 * normal/cmdline.c: Likewise.
27918 * normal/command.c: Likewise.
27919 * normal/completion.c: Likewise.
27920 * normal/execute.c: Likewise.
27921 * normal/function.c: Likewise.
27922 * normal/lexer.c: Likewise.
27923 * normal/main.c: Likewise.
27924 * normal/menu.c: Likewise.
27925 * normal/menu_entry.c: Likewise.
27926 * normal/misc.c: Likewise.
27927 * normal/parser.y: Likewise.
27928 * normal/script.c: Likewise.
27929 * normal/i386/setjmp.S: Likewise.
27930 * normal/powerpc/setjmp.S: Likewise.
27931 * normal/sparc64/setjmp.S: Likewise.
27932 * partmap/acorn.c: Likewise.
27933 * partmap/amiga.c: Likewise.
27934 * partmap/apple.c: Likewise.
27935 * partmap/gpt.c: Likewise.
27936 * partmap/pc.c: Likewise.
27937 * partmap/sun.c: Likewise.
27938 * term/gfxterm.c: Likewise.
27939 * term/terminfo.c: Likewise.
27940 * term/efi/console.c: Likewise.
27941 * term/i386/pc/console.c: Likewise.
27942 * term/i386/pc/serial.c: Likewise.
27943 * term/i386/pc/vesafb.c: Likewise.
27944 * term/i386/pc/vga.c: Likewise.
27945 * term/ieee1275/ofconsole.c: Likewise.
27946 * util/biosdisk.c: Likewise.
27947 * util/console.c: Likewise.
27948 * util/genmoddep.c: Likewise.
27949 * util/getroot.c: Likewise.
27950 * util/grub-emu.c: Likewise.
27951 * util/grub-mkdevicemap.c: Likewise.
27952 * util/grub-probe.c: Likewise.
27953 * util/lvm.c: Likewise.
27954 * util/misc.c: Likewise.
27955 * util/raid.c: Likewise.
27956 * util/resolve.c: Likewise.
27957 * util/update-grub.in: Likewise.
27958 * util/update-grub_lib.in: Likewise.
27959 * util/grub.d/00_header.in: Likewise.
27960 * util/grub.d/10_hurd.in: Likewise.
27961 * util/grub.d/10_linux.in: Likewise.
27962 * util/i386/efi/grub-install.in: Likewise.
27963 * util/i386/efi/grub-mkimage.c: Likewise.
27964 * util/i386/pc/grub-install.in: Likewise.
27965 * util/i386/pc/grub-mkimage.c: Likewise.
27966 * util/i386/pc/grub-mkrescue.in: Likewise.
27967 * util/i386/pc/grub-setup.c: Likewise.
27968 * util/i386/pc/misc.c: Likewise.
27969 * util/powerpc/ieee1275/grub-install.in: Likewise.
27970 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
27971 * util/powerpc/ieee1275/misc.c: Likewise.
27972 * video/bitmap.c: Likewise.
27973 * video/video.c: Likewise.
27974 * video/i386/pc/vbe.c: Likewise.
27975 * video/i386/pc/vbeblit.c: Likewise.
27976 * video/i386/pc/vbefill.c: Likewise.
27977 * video/i386/pc/vbeutil.c: Likewise.
27978 * video/readers/tga.c: Likewise.
27979
3572d015 279802007-07-02 Robert Millan <rmh@aybabtu.com>
27981
27982 * conf/i386-efi.rmk: Replace obsolete reference to
27983 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
27984 with util/getroot.c.
27985 * conf/powerpc-ieee1275.rmk: Likewise.
27986 * conf/sparc64-ieee1275.rmk: Likewise.
27987
27988 * util/grub-emu.c (main): Fix unchecked pointer handling.
27989
2c2a681b 279902007-07-02 Robert Millan <rmh@aybabtu.com>
27991
27992 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
27993 invocation to fail, in order to support partition-less media.
27994
27995 * util/i386/pc/grub-install.in: Likewise.
27996
27997 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
27998 which fs or partmap modules are needed (akin to its sister scripts).
27999
28000 Also use grub-probe to get rid of unportable /proc/mounts check.
28001
28002 Print the same informational message that the other scripts do, before
fe6b695a 28003 exiting.
2c2a681b 28004
6193defe 280052007-06-23 Robert Millan <rmh@aybabtu.com>
28006
fe6b695a 28007 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 28008 a font file can be found and, if so, echo the GRUB path to it.
28009
28010 * util/update-grub.in: Handle multiple terminals depending on user
28011 input, platform availability and font file presence. Propagate
28012 variables of our findings to /etc/grub.d/ children.
28013
28014 * util/grub.d/00_header.in: Handle multiple terminals, based on
28015 environment setup by update-grub.
28016
eface1dc 280172007-06-23 Robert Millan <rmh@aybabtu.com>
28018
ba50d28f 28019 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 28020
bf697e28 280212007-06-21 Robert Millan <rmh@aybabtu.com>
28022
28023 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
28024 indicate end of data section in kernel image.
28025 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
28026 GRUB_KERNEL_MACHINE_DATA_END.
28027
28028 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
28029 space for it.
28030 * kern/i386/efi/startup.S: Likewise.
28031
28032 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
28033 during image generation. Implement --prefix option to override this
28034 patch.
28035 * util/i386/efi/grub-mkimage.c: Likewise.
28036
28037 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
28038 code to make path relative to its root into a separate function.
28039
28040 * util/i386/pc/grub-install.in: Use newly provided
28041 make_system_path_relative_to_its_root() to convert ${grubdir}, then
28042 pass the result to grub-install --prefix.
28043
baa574b4 280442007-06-13 Robert Millan <rmh@aybabtu.com>
28045
28046 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
28047 DEFAULT_DEVICE_MAP.
28048 * util/grub-emu.c: Use above definitions from misc.h instead of
28049 defining them.
28050 * util/grub-mkdevicemap.c: Likewise.
28051 * util/i386/pc/grub-setup.c: Likewise.
28052 * util/grub-probe.c: Likewise.
28053 (probe): Abort with grub_util_error() when either
28054 grub_guess_root_device or grub_util_get_grub_dev fails.
28055
0215dcbf 280562007-06-12 Robert Millan <rmh@aybabtu.com>
28057
28058 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
28059 "pager" assignment.
28060 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
28061 "pcdata".
28062 * util/grub-probe.c (probe): Likewise for "drive_name".
28063
8af2ab7b 280642007-06-11 Robert Millan <rmh@aybabtu.com>
28065
28066 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
28067 not just the cdrom one.
28068
59d31694 280692007-06-11 Robert Millan <rmh@aybabtu.com>
28070
28071 * util/i386/pc/grub-mkrescue.in: Add "set -e".
28072 Add --pkglibdir=DIR option to override pkglibdir.
28073 Mention --image-type=TYPE in help output.
28074 Fix --grub-mkimage (it was a no-op).
fe6b695a 28075 Abort gracefully when no parameter is given.
59d31694 28076
7ee367e4 280772007-06-11 Robert Millan <rmh@aybabtu.com>
28078
28079 * util/i386/pc/grub-mkrescue.in: New file.
28080 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
28081 * Makefile.in: Handle bin_SCRIPTS.
28082
29b0ed46 280832007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
28084
28085 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
28086 list of video modes.
28087
c0f90770 280882007-06-06 Robert Millan <rmh@aybabtu.com>
28089
28090 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
28091 file doesn't exist, or if it is in a filesystem grub can't read.
28092
28093 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
28094 not abort if GRUB_DRIVE could not be defined. Rearrange generated
28095 header comment to fit in 80 columns when the variables are resolved.
28096
28097 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
28098 could be identified by update-grub. Remove redundant check for
fe6b695a 28099 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 28100 handles that).
28101
fb36dc26 281022007-06-04 Robert Millan <rmh@aybabtu.com>
28103
28104 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
28105
28106 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
28107
28108 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
28109
0c68c93e 281102007-06-04 Robert Millan <rmh@aybabtu.com>
28111
28112 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
28113
28114 * include/grub/partition.h: Declare grub_apple_partition_map_init and
28115 grub_apple_partition_map_fini.
28116
28117 * util/biosdisk.c
28118 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
28119 to access >2 TiB disks).
28120
28121 Print disk->total_sectors with %llu instead of %lu, since this
28122 variable is always 64-bit (prevents wrong disk size from being displayed
28123 on either >2 TiB disk or big-endian CPU).
28124
28125 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
28126 into a generic case that supports all (sane) partition maps.
28127
28128 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
28129 breaks big-endian.
28130
28131 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
28132 and grub_apple_partition_map_fini() after that.
28133
0f23eb74 281342007-06-01 Robert Millan <rmh@aybabtu.com>
28135
28136 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
28137
28138 * util/grub.d/00_header.in: Only enable gfxterm when
28139 convert_system_path_to_grub_path() succeeds.
28140
42c71976 281412007-05-20 Robert Millan <rmh@aybabtu.com>
28142
28143 * util/update-grub_lib.in: New file.
28144 * DISTLIST: Add update-grub_lib.in.
28145 * conf/common.rmk: Generate update-grub_lib and install it in
28146 $(lib_DATA).
28147 * Makefile.in: Add install routine for $(lib_DATA).
28148
28149 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
28150 function provided by update-grub_lib to support arbitrary paths of
28151 unifont.pff.
28152 * util/update-grub.in: Use convert_system_path_to_grub_path() to
28153 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
28154
5beb2291 281552007-05-19 Robert Millan <rmh@aybabtu.com>
28156
28157 * commands/i386/cpuid.c: New module.
28158 * DISTLIST: Add it.
28159 * conf/i386-efi.rmk: Enable cpuid.mod.
28160 * conf/i386-pc.rmk: Likewise.
28161
7262eca1 281622007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28163
28164 * kern/disk.c (grub_disk_read): Check return value of
28165 grub_realloc().
28166
260ba823 281672007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28168
28169 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
28170 arrays.
28171 * disk/raid.c (grub_raid_open): Likewise.
28172
1ecb6cf2 281732007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28174
28175 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
28176 stack instead of on the heap.
28177
28178 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
28179 before doing a read on it.
28180
28181 * configure.ac: Only use -fno-stack-protector for the target
28182 environment.
f19dbdb7 28183
21c8cbb1 281842007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28185
28186 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
28187 __attribute_ ((unused)) to mode_type argument.
28188
28189 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 28190
21c8cbb1 28191 * kern/misc.c (memcmp): Fix prototype.
28192
28193 * include/grub/partition.h [GRUB_UTIL]
28194 (grub_gpt_partition_map_init): Add prototype.
28195 (grub_gpt_partition_map_fini): Likewise.
28196
28197 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
28198 at the right place.
28199
28200 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
28201 (grub_fat_read_data): Likewise.
28202 (grub_fat_find_dir): Likewise.
28203
28204 * font/manager.c (find_glyph): Make table a const.
28205 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 28206
849d55d3 282072007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
28208
28209 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
28210 code, first search for device in /dev/mapper, then in /dev.
28211 (grub_util_get_grub_dev): New function.
28212 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
28213 prototype.
28214 * util/grub-probe.c (probe): Remove check for RAID, call
28215 grub_util_get_grub_dev() instead of
28216 grub_util_biosdisk_get_grub_dev().
28217 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
28218 grub_util_biosdisk_get_grub_dev().
28219 * util/i386/pc/grub-setup.c (main): Likewise.
28220
8fff7c2f 282212007-05-16 Robert Millan <rmh@aybabtu.com>
28222
28223 * DISTLIST: Update for the latest changes.
28224 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
28225 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
28226 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
28227 grub/util/biosdisk.h.
28228 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
28229 grub/util/biosdisk.h.
28230
48e12b52 282312007-05-16 Robert Millan <rmh@aybabtu.com>
28232
28233 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
28234
46b9d128 282352007-05-16 Robert Millan <rmh@aybabtu.com>
28236
28237 * util/i386/efi/grub-install.in: New.
28238 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
28239 newly added grub-install.
28240 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
28241 include.
28242 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
28243 grub/util/biosdisk.h.
28244 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
28245 grub/util/biosdisk.h.
28246
2d1a40a9 282472007-05-16 Robert Millan <rmh@aybabtu.com>
28248
28249 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
28250 * include/grub/util/biosdisk.h: ... here.
28251 * util/i386/pc/biosdisk.c: Moved to ...
28252 * util/biosdisk.c: ... here.
28253 * util/i386/pc/getroot.c: Moved to ...
28254 * util/getroot.c: ... here.
28255 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
28256 * util/grub-mkdevicemap.c: ... here.
28257 * util/i386/pc/grub-probe.c: Moved to ...
28258 * util/grub-probe.c: ... here.
28259
9e26e3bc 282602007-05-15 Robert Millan <rmh@aybabtu.com>
28261
28262 * util/update-grub.in: Remove duplicated line in grub.cfg header
28263 message.
28264
57f96397 282652007-05-13 Robert Millan <rmh@aybabtu.com>
28266
28267 * util/update-grub.in: Fix a few assumptions about the devices holding
28268 /, /boot and /boot/grub being the same.
28269 * util/grub.d/00_header.in: Likewise.
28270 * util/grub.d/10_hurd.in: Likewise.
28271 * util/grub.d/10_linux.in: Likewise.
28272
28273 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
28274 patterns. Use that to define the `.old' suffix as older than `'.
28275
28276 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
28277
28278 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
28279 the grub.cfg header message.
28280
2e610d62 282812007-05-11 Robert Millan <rmh@aybabtu.com>
28282
28283 * util/update-grub.in: Create device.map if it doesn't already exist,
28284 before attempting to run grub-probe.
28285 Check for grub-probe and grub-mkdevicemap with the same code
28286 grub-install is using.
28287 Remove test mode.
28288
3f6a10ef 282892007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
28290
28291 * Makefile.in: Add the datarootdir autoconf variable.
28292
02e7b75e 282932007-05-09 Robert Millan <rmh@aybabtu.com>
28294
28295 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 28296 fail gracefully if dev->disk->partition == NULL.
02e7b75e 28297
75f396cc 282982007-05-07 Robert Millan <rmh@aybabtu.com>
28299
28300 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
28301 determine partition map module.
28302 * util/i386/pc/grub-install.in: Use this feature to decide which
28303 partition module to load, instead of hardcoding pc and gpt.
28304
da65cb36 283052007-05-07 Robert Millan <rmh@aybabtu.com>
28306
28307 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
28308 source directory differs from build directory.
28309
b57d6a91 283102007-05-05 Robert Millan <rmh@aybabtu.com>
28311
28312 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
28313 initialisation.
28314
509d00f1 283152007-05-05 Robert Millan <rmh@aybabtu.com>
28316
28317 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
28318
c48f23ef 283192007-05-05 Robert Millan <rmh@aybabtu.com>
28320
28321 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
28322 command-line arguments via ${GRUB_CMDLINE_LINUX}.
28323
20b97658 283242007-05-05 Robert Millan <rmh@aybabtu.com>
28325
28326 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
28327 (grub_probe_SOURCES): Likewise.
28328 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
28329 GPT and initialize dos_part and bsd_part accordingly.
28330 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
28331 install_bsd_part.
28332 (main): Activate gpt module for use during partition identification,
28333 and deactivate it afterwards.
28334 * util/i386/pc/grub-install.in: Add gpt module to core.img.
28335 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
28336 partition identification, and deactivate it afterwards.
28337
99123174 283382007-05-05 Robert Millan <rmh@aybabtu.com>
28339
28340 * term/i386/pc/console.c (grub_console_fini): Call
28341 grub_term_set_current() before grub_term_unregister().
28342
ebd97f6e 283432007-05-04 Robert Millan <rmh@aybabtu.com>
28344
28345 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
28346 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
28347 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
28348 and update-grub_DATA.
28349 * conf/common.rmk: Build and install update-grub components.
28350 * conf/common.mk: Regenerate.
28351 * util/update-grub.in: New. Core of update-grub.
28352 * util/grub.d/00_header.in: New. Generates grub.cfg header.
28353 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
28354 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
28355 * util/grub.d/README: New. Document grub.d directory layout.
28356
b06a264d 283572007-05-01 Robert Millan <rmh@aybabtu.com>
28358
28359 * util/grub-emu.c: Move initialization functions
28360 grub_util_biosdisk_init() and grub_init_all() before
28361 grub_util_biosdisk_get_grub_dev(), which relies on them.
28362
41f0050e 283632007-04-19 Robert Millan <rmh@aybabtu.com>
28364
28365 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
28366 it is used later.
28367
04582bb3 283682007-04-18 Jerone Young <jerone@gmail.com>
28369
f19dbdb7 28370 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 28371 stanza.
28372
08db4632 283732007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 28374
08db4632 28375 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
28376 continue on and look for device node with real device name.
28377
801b76be 283782007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 28379
fe6b695a 28380 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 28381 ability.
28382 * Makefile.in: Add autoconf package transformation code.
28383 * util/i386/pc/grub-install.in: Likewise.
28384 * util/powerpc/ieee1275/grub-install.in: Likewise.
28385
6795c4e1 283862007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
28387
28388 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
28389 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
28390 (EXT2_REVISION): Likewise.
28391 (EXT2_INODE_SIZE): Likewise.
28392 (struct grub_ext2_block_group): Added a missing member
28393 "used_dirs".
28394 (grub_ext2_read_inode): Divide by the inode size in a superblock
28395 instead of 128 to obtain INODES_PER_BLOCK.
28396 Use the macro EXT2_INODE_SIZE instead of directly using
28397 SBLOCK->INODE_SIZE.
28398
d70af616 283992007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
28400
28401 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
28402 superblock instead of the structure size to compute an
28403 offset. This fixes the problem that GRUB could not read a
28404 filesystem when inode size is different from 128-byte.
28405
3b801603 284062007-03-05 Marco Gerards <marco@gnu.org>
28407
28408 * normal/main.c (read_config_file): When "menu" is not set, create
28409 an initial context.
28410
4785bfe4 284112007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28412
28413 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
28414 (HEAP_LIMIT): New macro.
28415 (grub_claim_heap): Claim memory up to `heaplimit'.
28416
a0cbb023 284172007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28418
28419 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
28420 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
28421 (_start): Likewise.
28422 (grub_arch_modules_addr): Return address after `_end'.
28423 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
28424 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
28425 (add_segments): Calculate `_end' from phdr size and location.
28426 (ALIGN_UP): Moved to ...
28427 * include/grub/misc.h: here.
28428 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
28429 New macro.
28430 (GRUB_IEEE1275_MODULE_BASE): Removed.
28431
fd7d8eba 284322007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28433
28434 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
28435 loop boundary.
28436
9b09e6fc 284372007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28438
28439 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
28440 All users updated.
28441 (grub_elf64_load_hook_t): Likewise.
28442 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
28443 debug output.
28444
3ce27299 284452007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28446
28447 * kern/mm.c: Update copyright.
28448 (grub_mm_debug): Correct syntax error.
28449 (grub_mm_dump_free): New function.
28450 (grub_debug_free): Call `grub_free'.
28451 * include/grub/mm.h: Update copyright.
28452 (grub_mm_dump_free): Add declaration.
28453
077d5fee 284542007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28455
28456 * include/grub/ieee1275/ieee1275.h: Update copyright.
28457 * kern/powerpc/ieee1275/init.c: Likewise.
28458 * kern/powerpc/ieee1275/openfw.c: Likewise.
28459
28460 * loader/powerpc/ieee1275/linux.c: Likewise.
28461 * include/grub/elfload.h: Likewise.
28462 * kern/elf.c: Likewise.
28463 (grub_elf32_load): Pass `base' and `size' parameters. Update all
28464 callers.
28465 (grub_elf64_load): Likewise.
28466 (grub_elf32_load_segment): Move to a nested function.
28467 (grub_elf64_load_segment): Likewise.
28468
dc946850 284692007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28470
28471 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
28472 prototype.
28473 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
28474 (grub_heap_len): Likewise.
28475 (HEAP_SIZE): New macro.
28476 (grub_claim_heap): New function.
28477 (grub_machine_init): Don't claim heap directly. Call
28478 `grub_claim_heap'.
28479 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
28480 (grub_available_iterate): New function.
28481
baa2a121 284822007-02-03 Thomas Schwinge <tschwinge@gnu.org>
28483
28484 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
28485 * configure.ac: Use it for testing the HOST and TARGET compilers.
28486
4fe9862e 284872006-12-13 Thomas Schwinge <tschwinge@gnu.org>
28488
28489 * Makefile.in (enable_grub_emu): New variable.
28490 * configure.ac (--enable-grub-emu): New option.
28491 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
28492 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
28493 * conf/i386-pc.rmk: Likewise.
28494 * conf/powerpc-ieee1275.rmk: Likewise.
28495 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
28496
a8aa5762 284972006-12-12 Marco Gerards <marco@gnu.org>
28498
28499 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
28500
28501 * kern/env.c (grub_env_unset): Don't free the member `value' when
28502 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
28503 pointer.
28504
28505 * normal/main.c (current_menu): Removed.
28506 (free_menu): Unset the `menu' environment variable.
28507 (grub_normal_menu_addentry): Make use of the environment variable
28508 `menu', instead of using the global `current_menu'. Allocate
28509 memory for the sourcecode of this entry.
28510 (read_config_file): New argument `nested', changed all callers.
28511 Only in the case of a new context, initialize a new menu. Set the
28512 `menu' environment variable.
28513 (grub_normal_execute): Don't set and unset the environment
28514 variable `menu' here anymore. Only free the menu when leaving the
28515 context.
28516
28517 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
28518 leak.
28519
957b3a3e 285202006-12-11 Marco Gerards <marco@gnu.org>
28521
28522 * normal/menu_entry.c (run): Fix off by one bug so the last line
28523 is executed. Move the loader check to outside the loop.
28524
ef875714 285252006-12-08 Hollis Blanchard <hollis@penguinppc.org>
28526
28527 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
28528
4e739985 285292006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
28530
28531 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
28532 the number of sectors. Reported by Andrey Shuvikov
28533 <mr_hyro@yahoo.com>.
f19dbdb7 28534
790707f2 285352006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
28536
28537 * kern/disk.c (grub_disk_read): When there is a read error, always
28538 try to read only the necessary data.
f19dbdb7 28539
790707f2 28540 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
28541 disk/raid.c.
28542 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
28543 prototype.
28544 [GRUB_UTIL] (grub_raid_fini): Likewise.
28545 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 28546 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 28547 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
28548 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
28549 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
28550 and grub_raid_fini().
f19dbdb7 28551
03e58196 285522006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28553
28554 * include/grub/types.h (__unused): Rename to UNUSED.
28555 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
28556 (grub_elf64_size): Likewise.
f19dbdb7 28557
ae4f23bf 285582006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28559
28560 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
28561 grub_error_push and grub_error_pop in the error-handling path.
28562 (grub_elf32_load_segment): Only call grub_file_read with non-zero
28563 length.
28564
2166cc83 285652006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28566
28567 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
28568 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28569 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28570 (kernel_elf_SOURCES): Likewise.
28571 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
28572 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
28573 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28574 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28575 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
28576 (elf_mod_SOURCES): New variable.
28577 (elf_mod_CFLAGS): Likewise.
28578 (elf_mod_LDFLAGS): Likewise.
28579 * include/grub/types.h (__unused): New macro.
28580 * include/grub/elfload.h: New file.
28581 * kern/elf.c: Likewise.
28582 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
28583 (ELF32_LOADMASK): New macro.
28584 (ELF64_LOADMASK): Likewise.
28585 (vmlinux): Removed.
28586 (grub_linux_load32): New function.
28587 (grub_linux_load64): Likewise.
28588 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
28589 Use grub_elf_t instead of grub_file_t.
28590
a09d5aa5 285912006-11-02 Hollis Blanchard <hollis@penguinppc.org>
28592
28593 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
28594 `catch_result' to struct set_color_args.
28595
d976fc51 285962006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28597
28598 * normal/menu.c: Include grub/script.h.
28599 * normal/menu_entry.c: Likewise.
28600 * include/grub/normal.h: Do not include grub/script.h.
28601
67507549 286022006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28603
28604 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
28605
69203a99 286062006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28607
28608 * kern/disk.c (grub_disk_open): Print debug messages when opening a
28609 disk.
28610 (grub_disk_close): Print debug messages when closing a disk.
28611 (grub_disk_read): Print debug messages when disk read fails.
28612 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
28613 filesystem type.
28614 * kern/partition.c: Include misc.h.
28615 (grub_partition_iterate): Print debug messages when detecting
28616 partition type.
28617
e2b8278c 286182006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28619
28620 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
28621 is negative.
28622 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
28623
97b2f2ff 286242006-10-26 Hollis Blanchard <hollis@penguinppc.org>
28625
28626 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28627 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
28628
6555d655 286292006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
28630
28631 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
28632 instead of sizeof(lv). Patch by Michael Guntsche.
28633
4d42b77f 286342006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
28635
28636 * disk/lvm.c: Rename VGS to VG_LIST.
28637 (grub_lvm_iterate): Change VGS->LV to VG-LV.
28638 (grub_lvm_open): Likewise.
28639 Thanks to Michael Guntsche for finding this bug.
28640
5d74d927 286412006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28642
28643 * configure.ac (AC_INIT): Bumped to 1.95.
28644
a1bb27e4 286452006-10-14 Robert Millan <rmh@aybabtu.com>
28646
28647 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
28648 with "/dev/.static/dev/md".
28649
e0994b8b 286502006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28651
28652 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
28653 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
28654 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
28655 DRIVE_NAME are always freed.
28656
28657 * util/i386/pc/biosdisk.c (make_device_name): Add one into
28658 DOS_PART, as a DOS partition is counted from one instead of zero
28659 now. Reported by Robert Millan.
28660
ddd5cee9 286612006-10-14 Robert Millan <rmh@aybabtu.com>
28662
28663 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
28664 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
28665 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
28666 string returned by grub_guess_root_device.
28667 * util/i386/pc/grub-setup.c: Likewise.
28668 * util/i386/pc/grub-probefs.c: Likewise.
28669
28670 * util/i386/pc/grub-probefs.c: Rename to ...
28671 * util/i386/pc/grub-probe.c: ... this.
28672 * DISTLIST: Remove grub-probefs, add grub-probe.
28673 * conf/i386-efi.rmk: Likewise.
28674 * conf/i386-pc.rmk: Likewise.
28675 * util/i386/pc/grub-install.in: Likewise.
28676
28677 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
28678 choose which information we want to print.
28679
2b002173 286802006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28681
28682 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
28683 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
28684 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
28685 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
28686 video/readers/tga.c and video/i386/pc/vbeutil.c.
28687
286882006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
28689
28690 Added support for RAID and LVM.
f19dbdb7 28691
2b002173 28692 * disk/lvm.c: New file.
28693 * disk/raid.c: Likewise.
28694 * include/grub/lvm.h: Likewise.
f19dbdb7 28695 * include/grub/raid.h: Likewise.
2b002173 28696 * include/grub/util/lvm.h: Likewise.
28697 * include/grub/util/raid.h: Likewise.
28698 * util/lvm.c: Likewise.
28699 * util/raid.c: Likewise.
28700
28701 * include/grub/disk.h (grub_disk_dev_id): Add
28702 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
28703 (grub_disk_get_size): New prototype.
28704 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
28705 returns a partition.
28706 (grub_disk_get_size): New function.
f19dbdb7 28707
2b002173 28708 * kern/i386/pc/init.c (make_install_device): Copy the prefix
28709 verbatim if grub_install_dos_part is -2.
28710
28711 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
28712 and LVM devices.
28713
28714 * util/i386/pc/grub-setup.c (setup): New argument
28715 MUST_EMBED. Force embedding of GRUB when the argument is
28716 true. Close FILE before returning.
28717 (main): Add support for RAID and LVM.
f19dbdb7 28718
2b002173 28719 * conf/common.rmk: Add RAID and LVM modules.
28720 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
28721 util/lvm.c.
28722 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
28723
28724 * kern/misc.c (grub_strstr): New function.
28725 * include/grub/misc.h (grub_strstr): New prototype.
28726
050548d0 287272006-10-10 Tristan Gingold <tristan.gingold@bull.net>
28728
28729 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
28730
da849d2d 287312006-10-05 Tristan Gingold <tristan.gingold@bull.net>
28732
28733 * kern/misc.c (grub_strtoull): Guess the base only if not
28734 specified.
28735
97b2f2ff 287362006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 28737
28738 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
28739 PowerMac support.
28740
97b2f2ff 287412006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 28742
28743 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
28744
28745 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
28746 Remove `flags' argument. All callers changed.
28747 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
28748 (IEEE1275_IHANDLE_INVALID): New variable.
28749 (IEEE1275_CELL_INVALID): New variable.
28750 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28751 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
28752 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
28753 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
28754 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
28755 codes from Open Firmware. All callers updated.
28756 (grub_ieee1275_next_property): Directly return Open Firmware return
28757 code.
28758 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28759 Standardize error checking from `grub_ieee1275_get_property'.
28760 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
28761 `devalias' to `aliases'. Correct comments. Consolidate error paths.
28762
97b2f2ff 287632006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 28764
28765 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
28766 `instance_to_package_args' to `instance_to_path_args'.
28767
28768 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
28769 `grub_ieee1275_chosen'.
28770
28771 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
28772 `grub_ieee1275_interpret'.
28773
97b2f2ff 287742006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 28775
28776 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
28777
97b2f2ff 287782006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 28779
28780 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
28781 (__cmpdi): Likewise.
28782
28783 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
28784 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
28785 `grub_ssize_t'.
28786
02bb8acc 28787 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 28788
28789 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
28790 to type `grub_ssize_t'.
28791 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
28792
7f9a8531 287932006-09-22 Marco Gerards <marco@gnu.org>
28794
28795 * normal/script.c (grub_script_create_cmdmenu): Skip leading
28796 newlines.
28797
b5ef1102 287982006-09-22 Marco Gerards <marco@gnu.org>
28799
28800 * commands/echo.c: New file.
28801
28802 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
28803
28804 * conf/common.rmk (echo_mod_SOURCES): New variable.
28805 (echo_mod_CFLAGS): Likewise.
28806 (echo_mod_LDFLAGS): Likewise.
28807
2cff3677 288082006-09-22 Marco Gerards <marco@gnu.org>
28809
28810 * normal/main.c (get_line): Malloc memory instead of using
28811 preallocated memory. Removed the arguments `cmdline' and
28812 `max_len'. Updated all callers.
28813
6ba4688b 288142006-09-22 Marco Gerards <marco@gnu.org>
28815
28816 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
28817 (normal_mod_DEPENDENCIES): Likewise.
28818
28819 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
28820 (normal_mod_DEPENDENCIES): Likewise.
28821
28822 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
28823
e02ac02c 288242006-09-22 Johan Rydberg <jrydberg@gnu.org>
28825
28826 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
28827 programs.
28828 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
28829 (normal_mod_DEPENDENCIES): Likewise.
28830 * conf/i386-pc.mk: Regenerate.
28831 * conf/i386-efi.mk: Likewise
28832 * conf/common.mk: Likewise.
28833 * conf/powerpc-ieee1275.mk: Likewise.
28834 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 28835
8d252e44 288362006-09-22 Robert Millan <rmh@aybabtu.com>
28837
28838 Sync with i386 version.
28839 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
28840 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
28841
209bf7ac 288422006-09-21 Robert Millan <rmh@aybabtu.com>
28843
28844 Import from GRUB Legacy (lib/device.c):
28845 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
28846 (init_device_map) [__linux__]: Add support for I2O devices.
28847
6b146090 288482006-09-14 Marco Gerards <marco@gnu.org>
28849
28850 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
28851 `-melf_i386'.
28852
e38600a8 288532006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 28854
28855 * util/i386/pc/grub-install.in: Skip menu.lst when removing
28856 /boot/grub/*.lst.
78fa1790 28857
2952da5d 28858 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 28859
2952da5d 28860 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
28861 before adding it to device.map.
28862
01b82a64 288632006-08-15 Johan Rydberg <jrydberg@gnu.org>
28864
fe6b695a 28865 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 28866 compiles a file; using the -MD option.
28867 * conf/common.mk: Regenerate.
28868 * conf/i386-pc.mk: Likewise.
28869 * conf/i386-efi.mk: Likewise.
28870 * conf/powerpc-ieee1275.mk: Likewise.
28871 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 28872
1064790d 288732006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
28874
28875 Move the prototypes of grub_setjmp and grub_longjmp to
28876 cpu/setjmp.h, so that each architecture may specify different
28877 attributes.
f19dbdb7 28878
1064790d 28879 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
28880 (grub_longjmp): Likewise.
28881 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
28882 (grub_longjmp): Likewise.
28883 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
28884 (grub_longjmp): Likewise.
28885
28886 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
28887 [!GRUB_UTIL] (grub_longjmp): Removed.
28888
29dda3ed 288892006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
28890
28891 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
28892 "color!" method does not return any value.
28893
ad2a06ed 288942006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28895
28896 * include/grub/bitmap.h: New file.
28897
28898 * include/grub/i386/pc/vbeutil.h: Likewise.
28899
28900 * video/bitmap.c: Likewise.
28901
28902 * video/readers/tga.c: Likewise.
28903
28904 * video/i386/pc/vbeutil.c: Likewise.
28905
28906 * commands/videotest.c: Code cleanup and updated to reflect to new
28907 video API.
28908
28909 * term/gfxterm.c: Likewise.
28910
28911 * video/video.c: Likewise.
28912
28913 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
28914 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
28915 (bitmap_mod_SOURCES): New entry.
28916 (bitmap_mod_CFLAGS): Likewise.
28917 (bitmap_mod_LDFLAGS): Likewise.
28918 (tga_mod_SOURCES): Likewise.
28919 (tga_mod_CFLAGS): Likewise.
28920 (tga_mod_LDFLAGS): Likewise.
28921
28922 * include/grub/video.h (grub_video_blit_operators): New enum type.
28923 (grub_video_render_target): Changed as forward declaration and moved
28924 actual definition to be video driver specific.
28925 (grub_video_adapter.blit_bitmap): Added blitting operator.
28926 (grub_video_adapter.blit_render_target): Likewise.
28927 (grub_video_blit_bitmap): Likewise.
28928 (grub_video_blit_render_target): Likewise.
28929
28930 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
28931 driver specific render target definition.
28932 (grub_video_vbe_map_rgba): Added driver internal helper.
28933 (grub_video_vbe_unmap_color): Updated to use
28934 grub_video_i386_vbeblit_info.
28935 (grub_video_vbe_get_video_ptr): Likewise.
28936
28937 * include/grub/i386/pc/vbeblit.h
28938 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
28939 grub_video_i386_vbeblit_info.
28940 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28941 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28942 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28943 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28944 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28945 (grub_video_i386_vbeblit_index_index): Likewise.
28946 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
28947 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28948 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28949 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
28950 operator.
28951 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
28952 operator.
28953
28954 * video/i386/pc/vbeblit.c: Updated to reflect changes on
28955 include/grub/i386/pc/vbeblit.h.
28956
28957 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
28958 Updated to use grub_video_i386_vbeblit_info.
28959 (grub_video_i386_vbefill_R8G8B8): Likewise.
28960 (grub_video_i386_vbefill_index): Likewise.
28961 (grub_video_i386_vbefill): Added generic filler.
28962
28963 * video/i386/pc/vbefill.c: Updated to reflect changes on
28964 include/grub/i386/pc/vbefill.h.
28965
28966 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
28967 grub_video_i386_vbeblit_info.
28968 (grub_video_vbe_unmap_color): Likewise.
28969 (grub_video_vbe_blit_glyph): Likewise.
28970 (grub_video_vbe_scroll): Likewise.
28971 (grub_video_vbe_draw_pixel): Removed function.
28972 (grub_video_vbe_get_pixel): Likewise.
28973 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
28974 updated code to use it.
28975 (common_blitter): Added common blitter for render target and bitmap.
28976 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
28977 (grub_video_vbe_blit_render_target): Likewise.
28978
bc8c036d 289792006-07-30 Johan Rydberg <jrydberg@gnu.org>
28980
28981 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
28982 is in text mode if there is no console control protocol instance
28983 available.
28984
684a8eff 289852006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28986
28987 * include/grub/video.h: Code cleanup.
28988
28989 * include/grub/i386/pc/vbe.h: Likewise.
28990
28991 * video/i386/pc/vbe.c: Likewise.
28992
28993 * video/i386/pc/vbeblit.c: Likewise.
28994
28995 * video/i386/pc/vbefill.c: Likewise.
28996
28997 * video/video.c: Likewise. Also added more comments.
28998
5915059b 289992006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29000
29001 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
29002 (struct grub_biosdisk_dap): Likewise.
29003
29004 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
29005 linkage settings for all functions.
29006
90ce5d56 290072006-07-12 Marco Gerards <marco@gnu.org>
29008
29009 * configure.ac (--enable-mm-debug): Fix typo.
29010
29011 * genkernsyms.sh.in: Use proper quoting for `CC'.
29012
43e7f879 290132006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
29014
29015 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
29016 (normal_mod_ASFLAGS): Remove "-m32".
29017
4889bdec 290182006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
29019
29020 * util/misc.c: Include config.h.
29021 [!HAVE_MEMALIGN]: Do not include malloc.h.
29022 (grub_memalign): Use posix_memalign, if present. Then, use
29023 memalign, if present. Otherwise, emit an error.
29024
29025 * util/grub-emu.c: Do not include malloc.h.
29026
29027 * include/grub/util/misc.h: Include unistd.h. This is required for
29028 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
29029 D. Eades III <hde@foobar-qux.org>.
29030
29031 * configure.ac (AC_GNU_SOURCE): Added.
29032 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
29033 type.
29034
fd39d4da 290352006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
29036
29037 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
29038 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
29039
b786f3b5 290402006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
29041
29042 * include/grub/types.h (grub_host_addr_t): Rename to
29043 grub_target_addr_t.
29044 (grub_host_off_t): Rename to grub_target_off_t.
29045 (grub_host_size_t): Rename to grub_target_size_t.
29046 (grub_host_ssize_t): Rename to grub_target_ssize_t.
29047 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
29048
29049 * include/grub/kernel.h (struct grub_module_header): Change type
29050 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
29051 (grub_module_info): Likewise.
f19dbdb7 29052
051988bb 290532006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29054
29055 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
29056 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
29057 Velazquez <jesus.velazquez@gmail.com>.
29058
deae281b 290592006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29060
29061 Count partitions from 1 instead of 0 in the string representation
29062 of partitions. Still use 0-based internally.
f19dbdb7 29063
deae281b 29064 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
29065 (sun_partition_map_iterate): Use grub_partition_t instead of
29066 struct grub_partition *. Cast DESC->START_CYLINDER to
29067 grub_uint64_t after converting the endian.
29068 (sun_partition_map_probe): Subtract 1 for PARTNUM.
29069 (sun_partition_map_get_name): Add 1 to P->INDEX.
29070
29071 * partmap/pc.c (grub_partition_parse): Subtract 1 for
29072 PCDATA->DOS_PART.
29073 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
29074
29075 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
29076 zero instead of one.
29077 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
29078 (gpt_partition_map_get_name): Add 1 into P->INDEX.
29079
29080 * partmap/apple.c (apple_partition_map_iterate): Change the type
29081 of POS to unsigned.
29082 (apple_partition_map_probe): Subtract 1 for PARTNUM.
29083 (apple_partition_map_get_name): Add 1 into P->INDEX.
29084
29085 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
29086 of POS to unsigned.
29087 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
29088 calculate the offset of a partition.
29089 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
29090 (amiga_partition_map_get_name): Add 1 into P->INDEX.
29091
29092 * partmap/acorn.c (acorn_partition_map_find): Change the type of
29093 SECTOR to grub_disk_addr_t.
29094 (acorn_partition_map_iterate): Likewise.
29095 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
29096 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
29097 top.
29098 (acorn_partition_map_get_name): Add 1 into P->INDEX.
29099
29100 * kern/i386/pc/init.c (make_install_device): Add 1 into
29101 GRUB_INSTALL_DOS_PART.
29102
29103 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
29104 conditional.
29105
524a1e6a 291062006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29107
29108 Clean up the code to support 64-bit addressing in disks and
29109 files. This change is not enough for filesystems yet.
f19dbdb7 29110
524a1e6a 29111 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
29112 type of "start" to grub_uint64_t.
29113 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
29114 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
29115 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
29116 convert addresses.
29117
29118 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
29119 to grub_disk_addr_t.
29120
29121 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
29122 string.
29123
29124 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29125
29126 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
29127 to char *.
29128
29129 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
29130
29131 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
29132
29133 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
29134
29135 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
29136 to grub_off_t, to detect an error from grub_file_seek.
29137 (grub_multiboot_load_elf32): Likewise.
29138
29139 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
29140 maximum unsigned long value when an overflow is detected.
29141 (grub_strtoull): New function.
29142 (grub_divmod64): Likewise.
29143 (grub_lltoa): use grub_divmod64.
29144
29145 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
29146 grub_disk_addr_t.
29147 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
29148 the pointer to next character. Use grub_strtoull instead of
29149 grub_strtoul.
29150 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
29151 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
29152 respectively.
29153
fe6b695a 29154 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 29155 return value is signed.
29156 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
29157 test if OFFSET is less than zero, as OFFSET is unsigned now.
29158
29159 * kern/disk.c (struct grub_disk_cache): Change the type of
29160 "sector" to grub_disk_addr_t.
29161 (grub_disk_cache_get_index): Change the type of SECTOR to
29162 grub_disk_addr_t. Calculate the hash with SECTOR casted to
29163 unsigned after shifting.
29164 (grub_disk_cache_invalidate): Change the type of SECTOR to
29165 grub_disk_addr_t.
29166 (grub_disk_cache_unlock): Likewise.
29167 (grub_disk_cache_store): Likewise.
29168 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
29169 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
29170 grub_disk_addr_t and grub_uint64_t, respectively.
29171 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
29172 body, as the value of OFFSET is tweaked by
29173 grub_disk_check_range. Change the types of START_SECTOR, LEN and
29174 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
29175 respectively.
29176 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
29177 body, as the value of OFFSET is tweaked by
29178 grub_disk_check_range. Change the types of LEN and N to
29179 grub_size_t.
29180
29181 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
29182 and "saved_offset" to grub_off_t.
29183 (test_header): Cast BUF to char *.
29184 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
29185 to char *.
29186 (grub_gzio_read): Change the types of OFFSET and SIZE to
29187 grub_off_t and grub_size_t, respectively.
29188
29189 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
29190 Removed.
29191 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
29192 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
29193 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
29194 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
29195 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
29196
29197 * include/grub/types.h (grub_off_t): Unconditionally set to
29198 grub_uint64_t.
29199 (grub_disk_addr_t): Changed to grub_uint64_t.
29200
29201 * include/grub/partition.h (struct grub_partition): Change the
29202 types of "start", "len" and "offset" to grub_disk_addr_t,
29203 grub_uint64_t and grub_disk_addr_t, respectively.
29204 (grub_partition_get_start): Return grub_disk_addr_t.
29205 (grub_partition_get_len): Return grub_uint64_t.
29206
29207 * include/grub/misc.h (grub_strtoull): New prototype.
29208 (grub_divmod64): Likewise.
29209
29210 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
29211 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
29212 grub_off_t, respectively.
29213 All callers and references changed.
29214
29215 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
29216 grub_size_t in "read".
29217 All callers and references changed.
29218
29219 * include/grub/file.h (struct grub_file): Change the types of
29220 "offset" and "size" to grub_off_t and grub_off_t,
29221 respectively. Change the type of SECTOR to grub_disk_addr_t in
29222 "read_hook".
29223 (grub_file_read): Change the type of LEN to grub_size_t.
29224 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
29225 grub_off_t.
29226 (grub_file_size): Return grub_off_t.
29227 (grub_file_tell): Likewise.
29228 All callers and references changed.
29229
29230 * include/grub/disk.h (struct grub_disk_dev): Change the types of
29231 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
29232 "write".
29233 (struct grub_disk): Change the type of "total_sectors" to
29234 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 29235 "read_hook".
524a1e6a 29236 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
29237 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
29238 (grub_disk_write): Likewise.
29239 All callers and references changed.
29240
29241 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
29242 char * for grub_strncmp to silence gcc.
29243 (grub_iso9660_mount): Likewise.
29244 (grub_iso9660_mount): Likewise.
29245 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
29246 return statement.
29247 (grub_iso9660_iterate_dir): Likewise.
29248 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
29249
29250 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
29251 LEN to grub_disk_addr_t and grub_size_t, respectively.
29252
29253 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29254
29255 * fs/jfs.c (grub_jfs_read_file): Likewise.
29256
29257 * fs/minix.c (grub_jfs_read_file): Likewise.
29258
29259 * fs/sfs.c (grub_jfs_read_file): Likewise.
29260
29261 * fs/ufs.c (grub_jfs_read_file): Likewise.
29262
29263 * fs/xfs.c (grub_jfs_read_file): Likewise.
29264
29265 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
29266 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
29267 respectively.
29268
29269 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
29270 BLKNR to -1 instead of returning GRUB_ERRNO.
29271 (grub_ext2_read_file): Change the types of SECTOR and
29272 LEN to grub_disk_addr_t and grub_size_t, respectively.
29273
29274 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
29275 LEN to grub_disk_addr_t and grub_size_t, respectively.
29276
29277 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
29278 grub_file_read.
29279
29280 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
29281 string. Do not cast SECTOR explicitly.
29282
29283 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
29284 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
29285 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
29286 grub_disk_addr_t and grub_size_t, respectively. If the sector is
29287 over 2TB and LBA mode is not supported, raise an error.
29288 (get_safe_sectors): New function.
29289 (grub_biosdisk_read): Use get_safe_sectors.
29290 (grub_biosdisk_write): Likewise.
29291
29292 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
29293 (grub_efidisk_write): Likewise.
29294
29295 * disk/loopback.c (delete_loopback): Cosmetic changes.
29296 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
29297 correctly.
29298 (grub_loopback_open): Likewise.
29299 (grub_loopback_read): Likewise. Also, change the type of POS to
29300 grub_off_t, and fix the usage of grub_memset.
29301
29302 * commands/i386/pc/play.c: Include grub/machine/time.h.
29303
29304 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
29305 print FILE->SIZE.
29306
29307 * commands/configfile.c: Include grub/env.h.
29308
29309 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
29310 GRUB_ERRNO directly instead. Change the type of POS to
29311 grub_off_t. Follow the coding standard.
29312
29313 * commands/blocklist.c: Include grub/partition.h.
29314 (grub_cmd_blocklist): Return an error if the underlying device is
29315 not a disk. Take the starting sector of a partition into account,
29316 if a partition is used.
29317
29318 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
29319 a length field.
29320 (lba_mode): Support 64-bit addresses.
29321 (chs_mode): Likewise.
29322 (copy_buffer): Adapted to the new offsets of a length field and a
29323 segment field.
29324 (blocklist_default_start): Allocate 64-bit space.
29325
29326 * boot/i386/pc/boot.S (force_lba): Removed.
29327 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 29328 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 29329 space.
29330 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
29331 is useless.
29332 (lba_mode): Refactored to support a 64-bit address. More size
29333 optimization.
29334 (setup_sectors): Likewise.
29335
53af98ad 293362006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29337
29338 * DISTLIST: Added include/grub/i386/linux.h. Removed
29339 include/grub/i386/pc/linux.h
29340
29341 * configure.ac (AC_INIT): Bumped to 1.94.
29342
29343 * config.guess: Updated from gnulib.
29344 * config.sub: Likewise.
29345 * install-sh: Likewise.
29346 * mkinstalldirs: Likewise.
29347
b4c1940a 293482006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29349
29350 * conf/common.rmk (grub_modules_init.lst): Depended on
29351 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
29352 MODSRCFILES.
29353
29354 * genmk.rb (PModule::rule): Reverted the previous change.
29355
cfca1cfd 293562006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29357
29358 * conf/common.rmk (grub_modules_init.lst): Depends on
29359 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
29360 that the target does not exist before producing.
29361 (grub_modules_init.h): Remove the target before generating.
29362 (grub_emu_init.c): Likewise.
29363
29364 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
29365
aa6d7826 293662006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
29367
29368 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
29369 for the target-specific tests. Make sure that we also have the
29370 up-to-date target variables for those tests.
29371
26c607b9 293722006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29373
29374 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
29375 (PModule::rule): Likewise.
29376
0162321a 293772006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29378
29379 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
29380 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
29381 target-specific flags should be prefixed.
29382 (PModule::rule): Likewise.
29383
6c826348 293842006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
29385
29386 * configure.ac (CMP): Check if cmp is available explicitly.
29387
b977bf01 293882006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
29389
29390 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
29391 (target_cpu): New variable.
29392 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 29393
b977bf01 29394 * util/i386/pc/grub-install.in (host_cpu): Removed.
29395 (target_cpu): New variable.
29396 (pkglibdir): Use target_cpu instead of host_cpu.
29397
29398 * util/genmoddep.c: Removed.
f19dbdb7 29399
b977bf01 29400 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
29401 instead of GRUB_HOST_SIZEOF_VOID_P.
29402 * kern/dl.c: Likewise.
29403
29404 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
29405 ...
29406 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29407 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29408 (GRUB_TARGET_SIZEOF_LONG): ... this.
29409 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29410 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29411 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29412 to ...
29413 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29414 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29415 (GRUB_TARGET_SIZEOF_LONG): ... this.
29416 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29417 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29418 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29419 to ...
29420 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29421 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29422 (GRUB_TARGET_SIZEOF_LONG): ... this.
29423 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29424 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29425
29426 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
29427 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
29428 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
29429 instead of GRUB_HOST_SIZEOF_LONG.
29430 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
29431 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
29432 GRUB_CPU_WORDS_BIGENDIAN.
29433 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
29434 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
29435 grub_host_ssize_t.
29436
29437 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
29438 (genmoddep_SOURCES): Likewise.
29439 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
29440 (genmoddep_SOURCES): Likewise.
29441 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
29442 (genmoddep_SOURCES): Likewise.
29443 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
29444 Likewise.
29445 (genmoddep_SOURCES): Likewise.
29446
29447 * genmoddep.awk: New file.
29448
29449 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
29450 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
29451 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
29452 (PModule::rule): Likewise.
29453 (Program::rule): Likewise.
29454 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
29455 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
29456 respectively.
29457
29458 * configure.ac: Rewritten intensively to use host and target
29459 instead of build and host, respectively.
29460
29461 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
29462 (host_cpu): Removed.
29463 (target_cpu): New variable.
29464 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
29465 (BUILD_CC): Removed.
29466 (BUILD_CFLAGS): Likewise.
29467 (BUILD_CPPFLAGS): Likewise.
29468 (TARGET_CC): New variable.
29469 (TARGET_CFLAGS): Likewise.
29470 (TARGET_CPPFLAGS): Likewise.
29471 (TARGET_LDFLAGS): Likewise.
29472 (AWK): Likewise.
29473 (include): Use target_cpu instead of host_cpu.
29474 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 29475
b977bf01 29476 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
29477
f09771a1 294782006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
29479
29480 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
29481 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
29482 field 'false' to 'exec_on_false'.
29483 (grub_script_create_cmdif): Renamed argument names to reflect above
29484 changes.
29485
29486 * normal/execute.c (grub_script_execute_cmdif): Likewise.
29487
29488 * normal/script.c (grub_script_create_cmdif): Likewise.
29489
118f4fb3 294902006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
29491
29492 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
29493 top.
29494 (grub_hfsplus_btree_recptr): Likewise.
29495 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
29496 FILEBLOCK both to pass a block number and store next block
29497 number.
29498 (grub_hfsplus_read_block): Rewritten heavily to support an extent
29499 overflow file correctly. Specify errors appropriately, because
29500 fshelp expects that GRUB_ERRNO is set when fails. Reuse
29501 grub_hfsplus_btree_recptr to get the pointer to a found key.
29502 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
29503 is found.
29504
29505 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
29506 linux.mod.
29507 (_linux_mod_SOURCES): New variable.
29508 (_linux_mod_CFLAGS): Likewise.
29509 (_linux_mod_LDFLAGS): Likewise.
29510 (linux_mod_SOURCES): Likewise.
29511 (linux_mod_CFLAGS): Likewise.
29512 (linux_mod_LDFLAGS): Likewise.
29513
29514 * DISTLIST: Added loader/i386/efi/linux.c,
29515 loader/i386/efi/linux_normal.c and
29516 include/grub/i386/efi/loader.h.
29517
29518 * loader/i386/efi/linux.c: New file.
29519 * loader/i386/efi/linux_normal.c: Likewise.
29520 * include/grub/i386/efi/loader.h: Likewise.
29521
89a7d726 295222006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
29523
29524 * commands/blocklist.c: New file.
29525
29526 * DISTLIST: Added commands/blocklist.c.
29527
29528 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 29529 color for the background, and a darker color for the foreground.
89a7d726 29530 (grub_console_checkkey): Return READ_KEY.
29531 (grub_console_cls): Set the background to
29532 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
29533
29534 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
29535
29536 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
29537 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
29538
29539 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
29540 prototype.
29541
29542 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
29543 BG. The spec is wrong again.
29544
29545 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
29546 prototype.
29547 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
29548
29549 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29550 commands/blocklist.c.
29551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 29552
89a7d726 29553 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
29554 (blocklist_mod_SOURCES): New variable.
29555 (blocklist_mod_CFLAGS): Likewise.
29556 (blocklist_mod_LDFLAGS): Likewise.
29557
75c8f258 295582006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
29559
29560 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
29561 duplication.
29562 (lba_mode): Use %eax more intensively to reduce the code size.
29563
da2eb181 295642006-05-20 Marco Gerards <marco@gnu.org>
29565
29566 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
29567
29568 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
29569 for `menuentry'.
29570 (script): Accept leading newlines.
29571 (newlines): New rule to describe 0 or more newlines.
29572 (commands): Accept `command' with trailing newline. Fixed the
29573 order in which arguments were passed to `grub_script_add_cmd'.
29574 Accept commands separated by newlines.
29575 (function): Changed to accept newlines.
29576 (menuentry) Rewritten.
29577
29578 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
29579 front of the list, instead of to the end.
29580
577b4050 295812006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
29582
29583 * util/i386/pc/grub-install.in (bindir): New variable.
29584 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
29585 Shaver <lbgwjl@gmail.com>.
29586
0d6e1189 295872006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
29588
29589 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
29590 grub/machine/linux.h
29591 * loader/i386/pc/linux.c: Likewise.
29592
29593 * include/grub/i386/pc/linux.h: Moved to ...
29594 * include/grub/i386/linux.h: ... here.
29595
29596 * include/grub/i386/linux.h (struct linux_kernel_params): New
29597 struct.
f19dbdb7 29598
31b86e9f 295992006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
29600
29601 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
29602 checking.
29603 (grub_video_vbe_blit_glyph): Likewise.
29604 (grub_video_vbe_blit_bitmap): Likewise.
29605 (grub_video_vbe_blit_render_target): Likewise.
29606
83b984de 296072006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
29608
29609 * configure.ac (--with-platform): Properly quote the square
29610 brackets.
29611
5f0413bd 296122006-05-08 Marco Gerards <marco@gnu.org>
29613
29614 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
29615 this...
29616 (kernel_elf_HEADERS): ...to this. Updated all users.
29617 (grubof_symlist.c): Renamed from this...
29618 (kernel_elf_symlist.c): ...to this. Updated all users.
29619 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29620 (grubof_SOURCES): Renamed from this...
29621 (kernel_elf_SOURCES): ...to this.
29622 (grubof_HEADERS): Renamed from this...
29623 (kernel_elf_HEADERS): ...to this.
29624 (grubof_CFLAGS): Renamed from this...
29625 (kernel_elf_CFLAGS): ...to this.
29626 (grubof_ASFLAGS): Renamed from this...
29627 (kernel_elf_ASFLAGS): ...to this.
29628 (grubof_LDFLAGS): Renamed from this...
29629 (kernel_elf_LDFLAGS): ...to this.
29630
29631 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
29632 this...
29633 (kernel_elf_HEADERS): ...to this. Updated all users.
29634 (grubof_symlist.c): Renamed from this...
29635 (kernel_elf_symlist.c): ...to this. Updated all users.
29636 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29637 (grubof_SOURCES): Renamed from this...
29638 (kernel_elf_SOURCES): ...to this.
29639 (grubof_HEADERS): Renamed from this...
29640 (kernel_elf_HEADERS): ...to this.
29641 (grubof_CFLAGS): Renamed from this...
29642 (kernel_elf_CFLAGS): ...to this.
29643 (grubof_ASFLAGS): Renamed from this...
29644 (kernel_elf_ASFLAGS): ...to this.
29645 (grubof_LDFLAGS): Renamed from this...
29646 (kernel_elf_LDFLAGS): ...to this.
29647
29648 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
29649 `kernel.elf' instead of `grubof'.
29650
05568c2e 296512006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
29652
29653 Add --with-platform to configure. Use pkglibdir instead of
29654 pkgdatadir. This is reported by Roger Leigh.
29655
29656 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
29657 (host_vendor): Likewise.
29658 (host_os): Likewise.
29659 (pkgdatadir): Likewise.
29660 (platform): New variable.
29661 (pkglibdir): Likewise.
29662 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 29663
05568c2e 29664 * util/i386/pc/grub-install.in (datadir): Removed.
29665 (host_vendor): Likewise.
29666 (host_os): Likewise.
29667 (pkgdatadir): Likewise.
29668 (platform): New variable.
29669 (pkglibdir): Likewise.
29670 Use PKGLIBDIR instead of PKGDATADIR.
29671
29672 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
29673 instead of GRUB_DATADIR.
29674 (main): Likewise.
29675 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29676 (main): Likewise.
29677 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29678 (main): Likewise.
29679
29680 * configure.ac (--with-platform): New option.
29681 Use PLATFORM instead of HOST_VENDOR to specify a platform.
29682
29683 * Makefile.in: Include a makefile based on PLATFORM instead of
29684 HOST_VENDOR.
29685 (pkgdatadir): Not appended by the machine type.
29686 (pkglibdir): Appended by the machine type.
29687 (host_vendor): Removed.
29688 (platform): New variable.
29689 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
29690 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
29691 (uninstall): Likewise.
29692
4e93851c 296932006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
29694
29695 Use the environment context in the menu. Remove the commands
29696 "default" and "timeout", and use variables instead.
f19dbdb7 29697
4e93851c 29698 * normal/menu.c: Include grub/env.h.
29699 (print_entry): Cast TITLE to silence gcc.
29700 (get_timeout): New function.
29701 (set_timeout): Likewise.
29702 (get_entry_number): Likewise.
29703 (run_menu): Use a default entry, a fallback entry and a timeout
29704 in the environment variables "default", "fallback" and
29705 "timeout". Also, tweak the default entry if it is not within the
29706 current menu entries.
29707 (grub_menu_run): Use a fallback entry in the environment variable
29708 "fallback".
29709
29710 * normal/main.c (read_config_file): Do not initialize
29711 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
29712 NEWMENU->TIMEOUT.
29713 (grub_normal_execute): Use a data slot to store the menu.
29714
29715 * include/grub/normal.h (struct grub_menu): Removed default_entry,
29716 fallback_entry and timeout.
29717 (struct grub_menu_list): Removed.
29718 (grub_menu_list_t): Likewise.
29719 (struct grub_context): Likewise.
29720 (grub_context_t): Likewise.
29721 (grub_context_get): Likewise.
29722 (grub_context_get_current_menu): Likewise.
29723 (grub_context_push_menu): Likewise.
29724 (grub_context_pop_menu): Likewise.
29725 (grub_default_init): Likewise.
29726 (grub_default_fini): Likewise.
29727 (grub_timeout_init): Likewise.
29728 (grub_timeout_fini): Likewise.
29729
29730 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
29731 and timeout.mod.
29732 (normal_mod_SOURCES): Removed normal/context.c.
29733
29734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
29735 commands/default.c, commands/timeout.c and normal/context.c.
29736 (normal_mod_SOURCES): Removed normal/context.c.
29737
29738 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
29739 commands/timeout.c and normal/context.c.
29740 (normal_mod_SOURCES): Removed normal/context.c.
29741
29742 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
29743 commands/default.c, commands/timeout.c and normal/context.c.
29744 (normal_mod_SOURCES): Removed normal/context.c.
29745
29746 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
29747 timeout.mod.
29748 (default_mod_SOURCES): Removed.
29749 (default_mod_CFLAGS): Likewise.
29750 (default_mod_LDFLAGS): Likewise.
29751 (timeout_mod_SOURCES): Removed.
29752 (timeout_mod_CFLAGS): Likewise.
29753 (timeout_mod_LDFLAGS): Likewise.
29754
29755 * DISTLIST: Removed commands/default.c, commands/timeout.c and
29756 normal/context.c.
29757
29758 * commands/default.c: Removed.
29759 * commands/timeout.c: Likewise.
29760 * normal/context.c: Likewise.
29761
1eb9cc1d 297622006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
29763
29764 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
29765
385bd9c1 297662006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
29767
29768 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
29769 "next" to "prev" for readability.
29770 (struct grub_env_sorted_var): New struct.
29771 (grub_env_context): Renamed to ...
29772 (initial_context): ... this.
29773 (grub_env_var_context): Renamed to ...
29774 (current_context): ... this.
29775 (grub_env_find): Look only at CURRENT_CONTEXT.
29776 (grub_env_context_open): Rewritten to copy exported variables from
29777 previous context.
29778 (grub_env_context_close): Rewritten according to the new
29779 scheme. Also, add an assertion to prevent the initial context from
29780 removed.
29781 (grub_env_insert): Removed the code for the sorted list.
29782 (grub_env_remove): Likewise.
29783 (grub_env_export): Simply mark the variable with
29784 GRUB_ENV_VAR_GLOBAL.
29785 (grub_env_set): A cosmetic change for naming consistency.
29786 (grub_env_get): Likewise.
29787 (grub_env_unset): Likewise.
29788 (grub_env_iterate): Rewritten to sort variables within this
29789 function.
29790 (grub_register_variable_hook): Fixed for naming consistency. Call
29791 grub_env_find again, only if NAME is not found at the first time.
29792 (mangle_data_slot_name): New function.
29793 (grub_env_set_data_slot): Likewise.
29794 (grub_env_get_data_slot): Likewise.
29795 (grub_env_unset_data_slot): Likewise.
29796
29797 * include/grub/env.h (grub_env_var_type): New enum.
29798 (GRUB_ENV_VAR_LOCAL): New constant.
29799 (GRUB_ENV_VAR_GLOBAL): Likewise.
29800 (GRUB_ENV_VAR_DATA): Likewise.
29801 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
29802 "type".
29803 (grub_env_set): Replace VAR with NAME for consistency.
29804 (grub_register_variable_hook): Likewise.
29805 (grub_env_export): Specify the name of the argument.
29806 (grub_env_set_data_slot): New prototype.
29807 (grub_env_get_data_slot): Likewise.
29808 (grub_env_unset_data_slot): Likewise.
29809
7f362539 298102006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29811
29812 Extend the loader so that GRUB can accept a loader which comes
29813 back to GRUB when a loaded image exits. Also, this change adds
29814 support for a chainloader on EFI.
f19dbdb7 29815
7f362539 29816 * term/efi/console.c: Include grub/misc.h.
29817 (grub_console_checkkey): Display a scan code on the top for
29818 debugging. This will be removed once the EFI port gets stable.
29819 Correct the scan code mapping.
29820
29821 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
29822 allocate memory from larger regions, in order to reduce the number
29823 of allocated regions. Otherwise, the MacOSX loader panics.
29824 (filter_memory_map): Avoid less than 1MB for compatibility with
29825 other loaders.
29826 (add_memory_regions): Allocate from the tail of a region, if
29827 possible, to avoid allocating a region near to 1MB, for the MacOSX
29828 loader.
29829
29830 * kern/efi/init.c (grub_efi_set_prefix): Specify
29831 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
29832
29833 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
29834 argument IMAGE_HANDLE and specify it to get a loaded image.
29835 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
29836 grub_efi_get_loaded_image.
fe6b695a 29837 (grub_efi_get_filename): Divide the length by the size of
7f362539 29838 grub_efi_char16_t.
29839 (grub_efi_get_device_path): New function.
29840 (grub_efi_print_device_path): Print End Device Path nodes. Divide
29841 the length by the size of grub_efi_char16_t for a file path device
29842 path node.
29843
29844 * kern/loader.c (grub_loader_noreturn): New variable.
29845 (grub_loader_set): Accept a new argument NORETURN. Set
29846 GRUB_LOADER_NORETURN to NORETURN.
29847 All callers changed.
29848 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
29849 grub_machine_fini.
29850
29851 * include/grub/efi/efi.h (grub_efi_get_device_path): New
29852 prototype.
29853 (grub_efi_get_loaded_image): Take an argument to specify an image
29854 handle.
29855
29856 * include/grub/loader.h (grub_loader_set): Added one more argument
29857 NORETURN.
29858
29859 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
29860 instead of grub_efi_open_protocol.
29861 (grub_efidisk_get_device_name): Likewise.
29862 (grub_efidisk_close): Print a newline.
29863 (grub_efidisk_get_device_handle): Fixed to use
29864 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
29865 GRUB_EFI_DEVICE_PATH_TYPE.
29866
29867 * disk/efi/efidisk.c (device_path_guid): Moved to ...
29868 * kern/efi/efi.c (device_path_guid): ... here.
29869
29870 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
29871 chain.mod.
29872 (kernel_mod_HEADERS): Added efi/disk.h.
29873 (_chain_mod_SOURCES): New variable.
29874 (_chain_mod_CFLAGS): Likewise.
29875 (_chain_mod_LDFLAGS): Likewise.
29876 (chain_mod_SOURCES): Likewise.
29877 (chain_mod_CFLAGS): Likewise.
29878 (chain_mod_LDFLAGS): Likewise.
29879
29880 * DISTLIST: Added include/grub/efi/chainloader.h,
29881 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
29882
29883 * include/grub/efi/chainloader.h: New file.
29884 * loader/efi/chainloader.c: Likewise.
29885 * loader/efi/chainloader_normal.c: Likewise.
29886
c0111d6e 298872006-04-30 Marco Gerards <marco@gnu.org>
29888
29889 * commands/configfile.c (grub_cmd_source): New function.
29890 (GRUB_MOD_INIT): Register the commands `source' and `.'.
29891 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
29892
df5341da 298932006-04-30 Marco Gerards <marco@gnu.org>
29894
29895 * normal/execute.c (grub_script_execute_cmd): Change the return
29896 type to `grub_err_t'. Correctly return the error.
29897 (grub_script_execute_cmdline): In case a command line is not a
29898 command or a function, try to interpret it as an assignment.
29899
f85934bd 299002006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29901
29902 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
29903 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
29904 skip a node whose name is obviously invalid as UTF-16,
29905 i.e. contains a NUL character. Stop the iteration when the last
29906 directory entry is found. Instead of using the return value of
29907 grub_hfsplus_btree_iterate_node, store the value in RET and use
29908 it, because the iterator can be stopped by the last directory
29909 entry.
29910
8f8a2cf8 299112006-04-30 Marco Gerards <marco@gnu.org>
29912
29913 * include/grub/env.h (grub_env_export): New prototype. Reported
29914 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
29915
a27e84ce 299162006-04-30 Marco Gerards <marco@gnu.org>
29917
29918 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
29919 size of the extents in a catalog file record.
29920
eaef0553 299212006-04-29 Marco Gerards <marco@gnu.org>
29922
29923 * commands/configfile.c (grub_cmd_configfile): Execute the
29924 configfile within its own context.
29925
29926 * include/grub/env.h (grub_env_context_open): New prototype.
29927 (grub_env_context_close): Likewise.
29928
29929 * kern/env.c (grub_env): Removed.
29930 (grub_env_sorted): Likewise.
29931 (grub_env_context): New variable.
29932 (grub_env_var_context): Likewise.
29933 (grub_env_find): Search both the active context and the global
29934 context.
29935 (grub_env_context_open): New function.
29936 (grub_env_context_close): Likewise.
29937 (grub_env_insert): Likewise.
29938 (grub_env_remove): Likewise.
29939 (grub_env_export): Likewise.
29940 (grub_env_set): Changed to use helper functions to avoid code
29941 duplication.
29942 (grub_env_iterate): Rewritten so both the current context and the
29943 global context are being used.
29944
29945 * normal/command.c (export_command): New function.
29946 (grub_command_init): Register the `export' function.
29947
7b455f4d 299482006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
29949
29950 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
29951 explicitly to suppress gcc's warnings.
29952 * fs/fat.c (grub_fat_find_dir): Likewise.
29953 (grub_fat_label): Likewise.
29954 * fs/xfs.c (grub_xfs_read_inode): Likewise.
29955 (grub_xfs_mount): Likewise.
29956 (grub_xfs_label): Likewise.
29957 * fs/affs.c (grub_affs_mount): Likewise.
29958 (grub_affs_label): Likewise.
29959 (grub_affs_iterate_dir): Likewise.
29960 * fs/sfs.c (grub_sfs_mount): Likewise.
29961 (grub_sfs_iterate_dir): Likewise.
29962 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
29963 * fs/hfs.c (grub_hfs_mount): Likewise.
29964 (grub_hfs_cmp_catkeys): Likewise.
29965 (grub_hfs_find_dir): Likewise.
29966 (grub_hfs_dir): Likewise.
29967 (grub_hfs_label): Likewise.
29968 * fs/jfs.c (grub_jfs_mount): Likewise.
29969 (grub_jfs_opendir): Likewise.
29970 (grub_jfs_getent): Likewise.
29971 (grub_jfs_lookup_symlink): Likewise.
29972 (grub_jfs_label): Likewise.
29973 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
29974 (grub_hfsplus_iterate_dir): Likewise.
29975 (grub_hfsplus_btree_iterate_node): Made static.
29976
29977 * util/grub-emu.c (prefix): New variable.
29978 (grub_machine_set_prefix): New function.
29979 (main): Do not set the environment variable "prefix" here. Only
29980 set PREFIX, which is used later by grub_machine_set_prefix.
29981
29982 * include/grub/video.h: Do not include grub/symbol.h.
29983 (grub_video_register): Not exported. This symbol is not defined in
29984 the kernel.
29985 (grub_video_unregister): Likewise.
29986 (grub_video_iterate): Likewise.
29987 (grub_video_setup): Likewise.
29988 (grub_video_restore): Likewise.
29989 (grub_video_get_info): Likewise.
29990 (grub_video_get_blit_format): Likewise.
29991 (grub_video_set_palette): Likewise.
29992 (grub_video_get_palette): Likewise.
29993 (grub_video_set_viewport): Likewise.
29994 (grub_video_get_viewport): Likewise.
29995 (grub_video_map_color): Likewise.
29996 (grub_video_map_rgb): Likewise.
29997 (grub_video_map_rgba): Likewise.
29998 (grub_video_fill_rect): Likewise.
29999 (grub_video_blit_glyph): Likewise.
30000 (grub_video_blit_bitmap): Likewise.
30001 (grub_video_blit_render_target): Likewise.
30002 (grub_video_scroll): Likewise.
30003 (grub_video_swap_buffers): Likewise.
30004 (grub_video_create_render_target): Likewise.
30005 (grub_video_delete_render_target): Likewise.
30006 (grub_video_set_active_render_target): Likewise.
30007
30008 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
30009 Undefined.
30010 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
30011
30012 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
30013 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30014 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30015 instead of $(srcdir)/genkernsyms.sh.
30016
30017 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
30018 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30019 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30020 instead of $(srcdir)/genkernsyms.sh.
30021
30022 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
30023 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30024 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30025 instead of $(srcdir)/genkernsyms.sh.
30026
30027 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
30028 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30029 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30030 instead of $(srcdir)/genkernsyms.sh.
30031
30032 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
30033 genkernsyms.sh.
30034
30035 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
30036 genkernsyms.sh.
30037 (gensymlist.sh): New target.
30038 (genkernsyms.sh): Likewise.
30039
30040 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
30041 genkernsyms.sh.in and gensymlist.sh.in.
30042
30043 * genkernsyms.sh: Removed.
30044 * gensymlist.sh: Likewise.
f19dbdb7 30045
7b455f4d 30046 * genkernsyms.sh.in: New file.
30047 * gensymlist.sh.in: Likewise.
30048
1885bb27 300492006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30050
30051 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
30052 clobber "prefix", since we may have already set it manually.
30053
71538dff 300542006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30055
30056 * kern/misc.c (abort): New alias for grub_abort.
30057
2965c7cc 300582006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
30059
30060 A new machine-specific function "grub_machine_set_prefix" is
30061 defined. This is called after loading modules, so that a prefix
30062 initialization can use modules. Also, this change adds an
30063 intensive debugging feature for the memory manager via the
30064 configure option "--enable-mm-debug".
f19dbdb7 30065
2965c7cc 30066 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
30067 PART.LEN.
30068
30069 * kern/sparc64/ieee1275/init.c (abort): Removed.
30070 (grub_stop): Likewise.
30071 (grub_exit): New function.
30072 (grub_set_prefix): Renamed to ...
30073 (grub_machine_set_prefix): ... this.
30074 (grub_machine_init): Do not call grub_set_prefix.
30075
30076 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
30077 (grub_machine_set_prefix): ... this.
30078 (grub_machine_init): Do not call grub_set_prefix.
30079
30080 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
30081 (grub_machine_init): Do not set the prefix here.
30082
30083 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
30084
30085 * kern/efi/init.c: Include grub/mm.h.
30086 (grub_efi_set_prefix): New function.
30087
30088 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
30089 (grub_efi_get_filename): New function.
30090 (grub_print_device_path): Renamed to ...
30091 (grub_efi_print_device_path): ... this.
30092
30093 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
30094 [MM_DEBUG] (grub_realloc): Likewise.
30095 [MM_DEBUG] (grub_free): Likewise.
30096 [MM_DEBUG] (grub_memalign): Likewise.
30097 [MM_DEBUG] (grub_mm_debug): New variable.
30098 [MM_DEBUG] (grub_debug_malloc): New function.
30099 [MM_DEBUG] (grub_debug_free): New function.
30100 [MM_DEBUG] (grub_debug_realloc): New function.
30101 [MM_DEBUG] (grub_debug_memalign): New function.
30102
30103 * kern/misc.c (grub_abort): Print a newline to distinguish
30104 the message.
30105
30106 * kern/main.c (grub_main): Call grub_machine_set_prefix and
30107 grub_set_root_dev after loading modules. This is necessary when
30108 setting a prefix depends on modules.
30109
30110 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
30111 (grub_efi_print_device_path): ... this.
30112 (grub_efi_get_filename): New prototype.
30113 (grub_efi_set_prefix): Likewise.
30114
30115 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
30116 and grub/disk.h.
30117 (grub_efidisk_get_device_handle): New prototype.
30118 (grub_efidisk_get_device_name): Likewise.
30119
30120 * include/grub/mm.h: Include config.h.
30121 (MM_DEBUG): Removed.
30122 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
30123 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
30124 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
30125 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
30126 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
30127 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
30128 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
30129 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
30130 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
30131
30132 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
30133
30134 * disk/efi/efidisk.c: Include grub/partition.h.
30135 (iterate_child_devices): New function.
30136 (add_device): First, compare only last device path nodes, so that
30137 devices are sorted by the types.
30138 (grub_efidisk_get_device_handle): New function.
30139 (grub_efidisk_get_device_name): Likewise.
30140
30141 * configure.ac (--enable-mm-debug): New option to enable the
30142 memory manager debugging feature. This makes the binary much
30143 bigger, so is disabled by default.
30144
9cacaa17 301452006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
30146
30147 Use grub_abort instead of grub_stop, and grub_exit must be
30148 define in each architecture now. Also, this change adds support
30149 for EFI disks.
f19dbdb7 30150
9cacaa17 30151 * util/i386/pc/grub-probefs.c: Include grub/term.h.
30152 (grub_getkey): New function.
30153 (grub_term_get_current): Likewise.
30154
30155 * util/i386/pc/grub-setup.c: Include grub/term.h.
30156 (grub_getkey): New function.
30157 (grub_term_get_current): Likewise.
30158
30159 * util/misc.c (grub_stop): Renamed to ...
30160 (grub_exit): ... this.
30161
30162 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
30163 (grub_exit): ... this.
30164 (grub_machine_init): Use grub_abort instead of abort.
30165 (grub_stop): Removed.
30166
30167 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
30168 abort.
30169
30170 * kern/i386/pc/startup.S (grub_exit): New function.
30171 (cold_reboot): New label.
30172
30173 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
30174 (grub_efi_init): Call grub_efidisk_init.
30175 (grub_efi_fini): Call grub_efidisk_fini.
30176
30177 * kern/efi/efi.c: Include grub/mm.h.
30178 (grub_efi_console_control_guid): Renamed to ...
30179 (console_control_guid): ... this.
30180 (grub_efi_loaded_image_guid): Renamed to ...
30181 (loaded_image_guid): ... this.
30182 (grub_efi_locate_handle): New function.
30183 (grub_efi_open_protocol): Likewise.
30184 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
30185 GRUB_EFI_CONSOLE_CONTROL_GUID.
30186 (grub_efi_exit): Removed.
30187 (grub_stop): Likewise.
30188 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
30189 (grub_exit): New function.
30190 (grub_print_device_path): Likewise.
30191
30192 * kern/rescue.c (grub_rescue_cmd_exit): New function.
30193 (grub_enter_rescue_mode): Register "exit".
30194
30195 * kern/misc.c (grub_real_dprintf): A cosmetic change.
30196 (grub_abort): New function.
30197
30198 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
30199
30200 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
30201
30202 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
30203
30204 * include/grub/efi/efi.h (grub_efi_exit): Removed.
30205 (grub_print_device_path): New prototype.
30206 (grub_efi_locate_handle): Likewise.
30207 (grub_efi_open_protocol): Likewise.
30208
30209 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
30210 * disk/efi/efidisk.c: Likewise.
30211
30212 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
30213
30214 * include/grub/efi/console_control.h
30215 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
30216
30217 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
30218 last 8 bytes as an array.
30219 (GRUB_EFI_DISK_IO_GUID): New macro.
30220 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
30221 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
30222 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
30223 grub_uint8_t.
30224 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
30225 (struct grub_efi_device_path): Rename the member "sub_type" to
30226 "subtype".
30227 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
30228 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
30229 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
30230 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
30231 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
30232 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
30233 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
30234 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
30235 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
30236 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
30237 (struct grub_efi_pci_device_path): New structure.
30238 (grub_efi_pci_device_path_t): New type.
30239 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
30240 (struct grub_efi_pccard_device_path): New structure.
30241 (grub_efi_pccard_device_path_t): New type.
30242 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
30243 (struct grub_efi_memory_mapped_device_path): New structure.
30244 (grub_efi_memory_mapped_device_path_t): New type.
30245 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
30246 (struct grub_efi_vendor_device_path): New structure.
30247 (grub_efi_vendor_device_path_t): New type.
30248 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
30249 (struct grub_efi_controller_device_path): New structure.
30250 (grub_efi_controller_device_path_t): New type.
30251 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
30252 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
30253 (struct grub_efi_acpi_device_path): New structure.
30254 (grub_efi_acpi_device_path_t): New type.
30255 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
30256 (struct grub_efi_expanded_acpi_device_path): New structure.
30257 (grub_efi_expanded_acpi_device_path_t): New type.
30258 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
30259 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
30260 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
30261 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
30262 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
30263 (struct grub_efi_atapi_device_path): New structure.
30264 (grub_efi_atapi_device_path_t): New type.
30265 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
30266 (struct grub_efi_fibre_channel_device_path): New structure.
30267 (grub_efi_fibre_channel_device_path_t): New type.
30268 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
30269 (struct grub_efi_1394_device_path): New structure.
30270 (grub_efi_1394_device_path_t): New type.
30271 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
30272 (struct grub_efi_usb_device_path): New structure.
30273 (grub_efi_usb_device_path_t): New type.
30274 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
30275 (struct grub_efi_usb_class_device_path): New structure.
30276 (grub_efi_usb_class_device_path_t): New type.
30277 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
30278 (struct grub_efi_i2o_device_path): New structure.
30279 (grub_efi_i2o_device_path_t): New type.
30280 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
30281 (struct grub_efi_mac_address_device_path): New structure.
30282 (grub_efi_mac_address_device_path_t): New type.
30283 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
30284 (struct grub_efi_ipv4_device_path): New structure.
30285 (grub_efi_ipv4_device_path_t): New type.
30286 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
30287 (struct grub_efi_ipv6_device_path): New structure.
30288 (grub_efi_ipv6_device_path_t): New type.
30289 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
30290 (struct grub_efi_infiniband_device_path): New structure.
30291 (grub_efi_infiniband_device_path_t): New type.
30292 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
30293 (struct grub_efi_uart_device_path): New structure.
30294 (grub_efi_uart_device_path_t): New type.
30295 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
30296 (struct grub_efi_vendor_messaging_device_path): New structure.
30297 (grub_efi_vendor_messaging_device_path_t): New type.
30298 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
30299 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
30300 (struct grub_efi_hard_drive_device_path): New structure.
30301 (grub_efi_hard_drive_device_path_t): New type.
30302 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
30303 (struct grub_efi_cdrom_device_path): New structure.
30304 (grub_efi_cdrom_device_path_t): New type.
30305 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
30306 (struct grub_efi_vendor_media_device_path): New structure.
30307 (grub_efi_vendor_media_device_path_t): New type.
30308 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
30309 (struct grub_efi_file_path_device_path): New structure.
30310 (grub_efi_file_path_device_path_t): New type.
30311 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
30312 (struct grub_efi_protocol_device_path): New structure.
30313 (grub_efi_protocol_device_path_t): New type.
30314 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
30315 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
30316 (struct grub_efi_bios_device_path): New structure.
30317 (grub_efi_bios_device_path_t): New type.
30318 (struct grub_efi_disk_io): New structure.
30319 (grub_efi_disk_io_t): New type.
30320 (struct grub_efi_block_io_media): New structure.
30321 (grub_efi_block_io_media_t): New type.
30322 (struct grub_efi_block_io): New structure.
30323 (grub_efi_block_io_t): New type.
30324
30325 * include/grub/misc.h (grub_stop): Removed.
30326 (grub_exit): New prototype.
30327 (grub_abort): Likewise.
30328
30329 * include/grub/disk.h (enum grub_disk_dev_id): Added
30330 GRUB_DISK_DEVICE_EFIDISK_ID.
30331
30332 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
30333 disk/efi/efidisk.c.
30334 (kernel_syms.lst): Remove the target if an error occurs.
30335
49986a9f 303362006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
30337
30338 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
30339 as it was simply too buggy.
30340
970d3b8a 303412006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
30342
30343 * kern/misc.c (grub_lltoa): New function.
30344 (grub_vsprintf): Added support for the long long suffix,
30345 i.e. "ll".
30346
ff04ec24 303472006-04-20 Hollis Blanchard <hollis@penguinppc.org>
30348
30349 * Makefile.in (LDFLAGS): Add variable.
30350 (LD): Remove variable.
30351 * configure.ac: Add -m32 to LDFLAGS.
30352 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
30353 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
30354 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
30355 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
30356 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
30357 variables.
30358 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
30359 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
30360 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
30361
37e5e1a4 303622006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
30363
30364 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
30365 length for unknown glyph.
30366
c352d8dd 303672006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30368
2eab1c0d 30369 Add support for pre-loaded modules into the EFI port.
f19dbdb7 30370
2eab1c0d 30371 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
30372 completely. Accept one more argument DIR. The caller has changed.
30373
30374 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
30375
30376 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
30377 (grub_efi_loaded_image_guid): New variable.
30378 (grub_efi_get_loaded_image): New function.
30379 (grub_arch_modules_addr): Likewise.
30380
30381 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
30382 prototype.
30383
30384 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
30385 (struct grub_efi_loaded_image): New structure.
30386 (grub_efi_loaded_image_t): New type.
30387
303882006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30389
c352d8dd 30390 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
30391 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
30392 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
30393
6d01d6b4 303942006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
30395
30396 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
30397
976a4ea0 303982006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
30399
30400 * DISTLIST: Added include/grub/efi/console.h,
30401 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
30402 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30403
30404 * include/grub/efi/console.h: New file.
30405 * include/grub/efi/time.h: Likewise.
30406 * include/grub/i386/efi/kernel.h: Likewise.
30407 * kern/efi/init.c: Likewise.
30408 * kern/efi/mm.c: Likewise.
30409 * term/efi/console.c: Likewise.
f19dbdb7 30410
976a4ea0 30411 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
30412 (grub_stop): Removed.
30413 (grub_get_rtc): Likewise.
30414 (grub_machine_init): Simply call grub_efi_init.
30415 (grub_machine_fini): Call grub_efi_fini.
30416
30417 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
30418 (grub_efi_output_string): Removed.
30419 (grub_efi_stall): New function.
30420 (grub_stop): Likewise.
30421 (grub_get_rtc): Likewise.
30422
30423 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
30424 (grub_efi_stall): New prototype.
30425 (grub_efi_allocate_pages): Likewise.
30426 (grub_efi_free_pages): Likewise.
30427 (grub_efi_get_memory_map): Likewise.
30428 (grub_efi_mm_init): Likewise.
30429 (grub_efi_mm_fini): Likewise.
30430 (grub_efi_init): Likewise.
30431 (grub_efi_fini): Likewise.
30432
30433 * include/grub/i386/efi/time.h: Do not include
30434 grub/symbol.h. Include grub/efi/time.h.
30435 (GRUB_TICKS_PER_SECOND): Removed.
30436 (grub_get_rtc): Likewise.
30437
30438 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
30439 Added padding. The EFI spec is buggy.
30440 (GRUB_EFI_BLACK): New macro.
30441 (GRUB_EFI_BLUE): Likewise.
30442 (GRUB_EFI_GREEN): Likewise.
30443 (GRUB_EFI_CYAN): Likewise.
30444 (GRUB_EFI_RED): Likewise.
30445 (GRUB_EFI_MAGENTA): Likewise.
30446 (GRUB_EFI_BROWN): Likewise.
30447 (GRUB_EFI_LIGHTGRAY): Likewise.
30448 (GRUB_EFI_BRIGHT): Likewise.
30449 (GRUB_EFI_DARKGRAY): Likewise.
30450 (GRUB_EFI_LIGHTBLUE): Likewise.
30451 (GRUB_EFI_LIGHTGREEN): Likewise.
30452 (GRUB_EFI_LIGHTCYAN): Likewise.
30453 (GRUB_EFI_LIGHTRED): Likewise.
30454 (GRUB_EFI_LIGHTMAGENTA): Likewise.
30455 (GRUB_EFI_YELLOW): Likewise.
30456 (GRUB_EFI_WHITE): Likewise.
30457 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
30458 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
30459 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
30460 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
30461 (GRUB_EFI_BACKGROUND_RED): Likewise.
30462 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
30463 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
30464 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
30465 (GRUB_EFI_TEXT_ATTR): Likewise.
30466
30467 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
30468 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30469 (kernel_mod_HEADERS): Added efi/time.h.
30470
83709125 304712006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
30472
30473 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
30474 include/grub/efi/api.h, include/grub/efi/console_control.h,
30475 include/grub/efi/efi.h, include/grub/efi/pe32.h,
30476 include/grub/i386/efi/time.h, kern/efi/efi.c,
30477 kern/i386/efi/init.c, kern/i386/efi/startup.S,
30478 and util/i386/efi/grub-mkimage.c.
30479
30480 * Makefile.in (RMKFILES): Added i386-efi.rmk.
30481
30482 * genmk.rb (PModule#rule): Do not export symbols if
30483 #{prefix}_EXPORTS is set to "no".
30484
30485 * conf/i386-efi.mk: New file.
30486 * conf/i386-efi.rmk: Likewise.
30487 * include/grub/efi/api.h: Likewise.
30488 * include/grub/efi/console_control.h: Likewise.
30489 * include/grub/efi/efi.h: Likewise.
30490 * include/grub/efi/pe32.h: Likewise.
30491 * include/grub/i386/efi/time.h: Likewise.
30492 * kern/efi/efi.c: Likewise.
30493 * kern/i386/efi/init.c: Likewise.
30494 * kern/i386/efi/startup.S: Likewise.
30495 * util/i386/efi/grub-mkimage.c: Likewise.
30496
304972006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 30498
30499 * include/grub/script.h: Include <grub/parser.h> and
30500 "grub_script.tab.h".
30501 (struct grub_lexer_param): New struct.
30502 (struct grub_parser_param): Likewise.
30503 (grub_script_create_arglist): Pass the state in an argument.
30504 (grub_script_add_arglist): Likewise.
30505 (grub_script_create_cmdline): Likewise.
30506 (grub_script_create_cmdblock): Likewise.
30507 (grub_script_create_cmdif): Likewise.
30508 (grub_script_create_cmdmenu): Likewise.
30509 (grub_script_add_cmd): Likewise.
30510 (grub_script_arg_add): Likewise.
30511 (grub_script_lexer_ref): Likewise.
30512 (grub_script_lexer_deref): Likewise.
30513 (grub_script_lexer_record_start): Likewise.
30514 (grub_script_lexer_record_stop): Likewise.
30515 (grub_script_mem_record): Likewise.
30516 (grub_script_mem_record_stop): Likewise.
30517 (grub_script_malloc): Likewise.
30518 (grub_script_yylex): Likewise.
30519 (grub_script_yyparse): Likewise.
30520 (grub_script_yyerror): Likewise.
30521 (grub_script_yylex): Likewise.
30522 (grub_script_lexer_init): Return the state.
30523
30524 * normal/lexer.c (grub_script_lexer_state): Removed variable.
30525 (grub_script_lexer_done): Likewise.
30526 (grub_script_lexer_getline): Likewise.
30527 (grub_script_lexer_refs): Likewise.
30528 (script): Likewise.
30529 (newscript): Likewise.
30530 (record): Likewise.
30531 (recording): Likewise.
30532 (recordpos): Likewise.
30533 (recordlen): Likewise.
30534 (grub_script_lexer_init): Return the state instead of setting
30535 global variables.
30536 (grub_script_lexer_ref): Use the newly added argument for state
30537 instead of globals.
30538 (grub_script_lexer_deref): Likewise.
30539 (grub_script_lexer_record_start): Likewise.
30540 (grub_script_lexer_record_stop): Likewise.
30541 (recordchar): Likewise.
30542 (nextchar): Likewise.
30543 (grub_script_yylex2): Likewise.
30544 (grub_script_yylex): Likewise.
30545 (grub_script_yyerror): Likewise.
30546
30547 * normal/parser.y (func_mem): Removed variable.
30548 (menu_entry): Likewise.
30549 (err): Likewise.
30550 (%lex-param): New parser option.
30551 (%parse-param): Likewise.
30552 (script): Always return the AST.
30553 (argument): Pass the state around.
30554 (arguments): Likewise.
30555 (grubcmd): Likewise.
30556 (commands): Likewise.
30557 (function): Likewise.
30558 (menuentry): Likewise.
30559 (if_statement): Likewise.
30560 (if): Likewise.
30561
30562 * normal/script.c (grub_script_memused): Removed variable.
30563 (grub_script_parsed): Likewise.
30564 (grub_script_malloc): Added a state argument. Use that instead of
30565 global variables.
30566 (grub_script_mem_record): Likewise.
30567 (grub_script_mem_record_stop): Likewise.
30568 (grub_script_arg_add): Likewise.
30569 (grub_script_add_arglist): Likewise.
30570 (grub_script_create_cmdline): Likewise.
30571 (grub_script_create_cmdif): Likewise.
30572 (grub_script_create_cmdmenu): Likewise.
30573 (grub_script_add_cmd): Likewise.
30574 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 30575
e2a8c904 305762006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 30577
30578 * normal/command.c (grub_command_init): Remove the title command.
30579
30580 * normal/lexer.c (grub_script_yylex): Renamed from this...
30581 (grub_script_yylex2): ... to this.
30582 (grub_script_yylex): New function. Temporary
30583 introduced to filter some tokens.
30584 (grub_script_yyerror): Print a newline.
30585
30586 * normal/main.c (read_config_file): Output information about the
30587 lines that contain errors. Wait for a key after all lines have
30588 been processed. Don't return an empty menu.
30589
30590 * normal/parser.y (func_mem): Don't initialize.
30591 (menu_entry): Likewise.
30592 (err): New variable.
30593 (script): Don't return anything when an error was encountered.
30594 (ws, returns): Removed rules.
30595 (argument): Disabled concatenated variable support.
30596 (arguments): Remove explicit separators.
30597 (grubcmd): Likewise.
30598 (function): Likewise.
30599 (menuentry): Likewise.
30600 (if): Likewise.
30601 (commands): Likewise. Add error handling.
30602
30603 * normal/script.c (grub_script_create_cmdline): If
30604 `grub_script_parsed' is 0, assume the parser encountered an error.
30605
c9a86192 306062006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
30607
30608 * configure.ac: Add support for EFI. Fix the typo
30609 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
30610
70f3b243 306112006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30612
30613 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
30614 foreign multibyte characters should be shown correctly.
30615
65f201ad 306162006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30617
30618 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
30619 calculation.
30620 (read_config_file): Made it to close file before returning.
30621
b4b93674 306222006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
30623
30624 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
30625 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
30626 video/i386/pc/vbefill.c.
30627
30628 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
30629 video/i386/pc/vbefill.c.
30630
30631 * include/grub/video.h (grub_video_blit_format): New enum.
30632 (grub_video_mode_info): Added new member blit_format.
30633 (grub_video_get_blit_format): New function prototype.
30634
30635 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
30636 function prototype.
30637 (grub_video_vbe_map_rgb): Likewise.
30638 (grub_video_vbe_unmap_color): Likewise.
30639
30640 * include/grub/i386/pc/vbeblit.h: New file.
30641
30642 * include/grub/i386/pc/vbefill.h: New file.
30643
30644 * video/video.c (grub_video_get_blit_format): New function.
30645 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
30646 (grub_video_vbe_map_rgb): Likewise.
30647 (grub_video_vbe_unmap_color): Likewise.
30648
30649 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
30650 optimized fills.
30651 (grub_video_vbe_blit_render_target): Changed to use more optimized
30652 blits.
30653 (grub_video_vbe_setup): Added detection for optimized settings.
30654 (grub_video_vbe_create_render_target): Likewise.
30655
30656 * video/i386/pc/vbeblit.c: New file.
30657
30658 * video/i386/pc/vbefill.c: New file.
30659
c2379b9c 306602006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
30661
30662 * font/manager.c (grub_font_get_glyph): Removed font fixup from
30663 here...
30664
30665 * util/unifont2pff.rb: ... and moved it to here. Improved argument
30666 parsing to support both hex and dec ranges. If filename was missing
30667 show usage information.
30668
bd0d7896 306692006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
30670
30671 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
30672 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
30673
30674 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
30675 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
30676 (video_mod_SOURCES): Added.
30677 (video_mod_CFLAGS): Likewise.
30678 (video_mod_LDFLAGS): Likewise.
30679 (gfxterm_mod_SOURCES): Likewise.
30680 (gfxterm_mod_CFLAGS): Likewise.
30681 (gfxterm_mod_LDFLAGS): Likewise.
30682 (videotest_mod_SOURCES): Likewise.
30683 (videotest_mod_CFLAGS): Likewise.
30684 (videotest_mod_LDFLAGS): Likewise.
30685 (vesafb_mod_SOURCES): Removed.
30686 (vesafb_mod_CFLAGS): Likewise.
30687 (vesafb_mod_LDFLAGS): Likewise.
30688 (vga_mod_SOURCES): Likewise.
30689 (vga_mod_CFLAGS): Likewise.
30690 (vga_mod_LDFLAGS): Likewise.
30691
30692 * commands/videotest.c: New file.
30693
30694 * font/manager.c (fill_with_default_glyph): Modified to use
30695 grub_font_glyph.
30696 (grub_font_get_glyph): Likewise.
30697 (fontmanager): Renamed from this...
30698 (font_manager): ... to this.
30699
30700 * include/grub/font.h (grub_font_glyph): Added new structure.
30701 (grub_font_get_glyph): Modified to use grub_font_glyph.
30702
30703 * include/grub/misc.h (grub_abs): Added as inline function.
30704
30705 * include/grub/video.h: New file.
30706
30707 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
30708 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
30709 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
30710 (grub_vbe_get_controller_info): Renamed from this...
30711 (grub_vbe_bios_get_controller_info): ... to this.
30712 (grub_vbe_get_mode_info): Renamed from this...
30713 (grub_vbe_bios_get_mode_info): ... to this.
30714 (grub_vbe_set_mode): Renamed from this...
30715 (grub_vbe_bios_set_mode): ... to this.
30716 (grub_vbe_get_mode): Renamed from this...
30717 (grub_vbe_bios_get_mode): ... to this.
30718 (grub_vbe_set_memory_window): Renamed from this...
30719 (grub_vbe_bios_set_memory_window): ... to this.
30720 (grub_vbe_get_memory_window): Renamed from this...
30721 (grub_vbe_bios_get_memory_window): ... to this.
30722 (grub_vbe_set_scanline_length): Renamed from this...
30723 (grub_vbe_set_scanline_length): ... to this.
30724 (grub_vbe_get_scanline_length): Renamed from this...
30725 (grub_vbe_bios_get_scanline_length): ... to this.
30726 (grub_vbe_set_display_start): Renamed from this...
30727 (grub_vbe_bios_set_display_start): ... to this.
30728 (grub_vbe_get_display_start): Renamed from this...
30729 (grub_vbe_bios_get_display_start): ... to this.
30730 (grub_vbe_set_palette_data): Renamed from this...
30731 (grub_vbe_bios_set_palette_data): ... to this.
30732 (grub_vbe_set_pixel_rgb): Removed.
30733 (grub_vbe_set_pixel_index): Likewise.
30734
30735 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
30736 from this...
30737 (grub_vbe_bios_get_controller_info): ... to this.
30738 (grub_vbe_get_mode_info): Renamed from this...
30739 (grub_vbe_bios_get_mode_info): ... to this.
30740 (grub_vbe_set_mode): Renamed from this...
30741 (grub_vbe_bios_set_mode): ... to this.
30742 (grub_vbe_get_mode): Renamed from this...
30743 (grub_vbe_bios_get_mode): ... to this.
30744 (grub_vbe_set_memory_window): Renamed from this...
30745 (grub_vbe_bios_set_memory_window): ... to this.
30746 (grub_vbe_get_memory_window): Renamed from this...
30747 (grub_vbe_bios_get_memory_window): ... to this.
30748 (grub_vbe_set_scanline_length): Renamed from this...
30749 (grub_vbe_set_scanline_length): ... to this.
30750 (grub_vbe_get_scanline_length): Renamed from this...
30751 (grub_vbe_bios_get_scanline_length): ... to this.
30752 (grub_vbe_set_display_start): Renamed from this...
30753 (grub_vbe_bios_set_display_start): ... to this.
30754 (grub_vbe_get_display_start): Renamed from this...
30755 (grub_vbe_bios_get_display_start): ... to this.
30756 (grub_vbe_set_palette_data): Renamed from this...
30757 (grub_vbe_bios_set_palette_data): ... to this.
30758 (grub_vbe_bios_get_controller_info): Fixed problem with registers
30759 getting corrupted after calling it. Added more pushes and pops.
30760 (grub_vbe_bios_set_mode): Likewise.
30761 (grub_vbe_bios_get_mode): Likewise.
30762 (grub_vbe_bios_get_memory_window): Likewise.
30763 (grub_vbe_bios_set_scanline_length): Likewise.
30764 (grub_vbe_bios_get_scanline_length): Likewise.
30765 (grub_vbe_bios_get_display_start): Likewise.
30766 (grub_vbe_bios_set_palette_data): Likewise.
30767
30768 * normal/cmdline.c (cl_set_pos): Refresh the screen.
30769 (cl_insert): Likewise.
30770 (cl_delete): Likewise.
30771
30772 * term/gfxterm.c: New file.
30773
30774 * term/i386/pc/vesafb.c: Removed file.
30775
30776 * video/video.c: New file.
30777
30778 * video/i386/pc/vbe.c (real2pm): Added new function.
30779 (grub_video_vbe_draw_pixel): Likewise.
30780 (grub_video_vbe_get_video_ptr): Likewise.
30781 (grub_video_vbe_get_pixel): Likewise
30782 (grub_video_vbe_init): Likewise.
30783 (grub_video_vbe_fini): Likewise.
30784 (grub_video_vbe_setup): Likewise.
30785 (grub_video_vbe_get_info): Likewise.
30786 (grub_video_vbe_set_palette): Likewise.
30787 (grub_video_vbe_get_palette): Likewise.
30788 (grub_video_vbe_set_viewport): Likewise.
30789 (grub_video_vbe_get_viewport): Likewise.
30790 (grub_video_vbe_map_color): Likewise.
30791 (grub_video_vbe_map_rgb): Likewise.
30792 (grub_video_vbe_map_rgba): Likewise.
30793 (grub_video_vbe_unmap_color): Likewise.
30794 (grub_video_vbe_fill_rect): Likewise.
30795 (grub_video_vbe_blit_glyph): Likewise.
30796 (grub_video_vbe_blit_bitmap): Likewise.
30797 (grub_video_vbe_blit_render_target): Likewise.
30798 (grub_video_vbe_scroll): Likewise.
30799 (grub_video_vbe_swap_buffers): Likewise.
30800 (grub_video_vbe_create_render_target): Likewise.
30801 (grub_video_vbe_delete_render_target): Likewise.
30802 (grub_video_vbe_set_active_render_target): Likewise.
30803 (grub_vbe_set_pixel_rgb): Remove function.
30804 (grub_vbe_set_pixel_index): Likewise.
30805 (index_color_mode): Remove static variable.
30806 (active_mode): Likewise.
30807 (framebuffer): Likewise.
30808 (bytes_per_scan_line): Likewise.
30809 (grub_video_vbe_adapter): Added new static variable.
30810 (framebuffer): Likewise.
30811 (render_target): Likewise.
30812 (initial_mode): Likewise.
30813 (mode_in_use): Likewise.
30814 (mode_list): Likewise.
30815
5f97350b 308162006-03-10 Marco Gerards <marco@gnu.org>
30817
30818 * configure.ac (AC_INIT): Bumped to 1.93.
30819
30820 * DISTLIST: Added `include/grub/hfs.h'.
30821
a3c5c6f8 308222006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
30823
30824 * boot/i386/pc/boot.S (general_error): Before looping, try INT
30825 18H, which might help the BIOS falling back to next boot media.
30826
6de53d26 308272006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
30828
30829 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
30830 Poe Chen <poe.poechen@gmail.com>.
30831
77c4a393 308322006-01-17 Marco Gerards <marco@gnu.org>
30833
30834 * include/grub/normal.h: Include <grub/script.h>.
30835 (grub_command_list): Removed struct.
30836 (grub_command_list_t): Removed type.
30837 (grub_menu_entry): Remove members `num' and `command_list'. Add
30838 members `commands' and `sourcecode'.
30839 * include/grub/script.h: Add inclusion guards.
30840 (grub_script_cmd_menuentry): New struct.
30841 (grub_script_execute_menuentry): New prototype.
30842 (grub_script_lexer_record_start): Likewise.
30843 (grub_script_lexer_record_stop): Likewise.
30844 * normal/execute.c (grub_script_execute_menuentry): New function.
30845 * normal/lexer.c (record, recording, recordpos, recordlen): New
30846 variables.
30847 (grub_script_lexer_record_start): New function.
30848 (grub_script_lexer_record_stop): Likewise.
30849 (recordchar): Likewise.
30850 (nextchar): Likewise.
30851 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
30852 2048 as the buffer size. Add the tokens `menuentry' and `@'.
30853 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
30854 (current_menu): New variable.
30855 (free_menu): Mainly rewritten.
30856 (grub_normal_menu_addentry): New function.
30857 (read_config_file): Rewritten.
30858 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 30859 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 30860 the menu entry.
30861 (run): Mainly rewritten.
30862 * normal/parser.y (menu_entry): New variable.
30863 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
30864 (menuentry): New rule.
30865 (command): Add `menuentry'.
30866 (if_statement): Allow additional returns before `fi'.
30867 * normal/script.c (grub_script_create_cmdmenu): New function.
30868
144f1f98 308692006-01-03 Marco Gerards <marco@gnu.org>
30870
30871 * INSTALL: GNU Bison is required.
30872 * configure.ac: Rewritten the test to detect Bison.
30873 * Makefile.in (YACC): New variable. Reported by Xun Sun
30874 <xun.sun.cn@gmail.com>.
30875
af4b2d89 308762006-01-03 Marco Gerards <marco@gnu.org>
30877
30878 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
30879 the HFS+ filesystem to filesystem blocks.
30880 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
30881 GCC warning is silenced.
30882
15643b71 308832006-01-03 Marco Gerards <marco@gnu.org>
30884
30885 * partmap/apple.c (apple_partition_map_iterate): Convert the data
30886 read from disk from big endian to host byte order.
30887
00905879 308882006-01-03 Hollis Blanchard <hollis@penguinppc.org>
30889
30890 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
30891 documentation.
30892 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
30893 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
30894 embedded HFS+ filesystem.
30895 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
30896 (grub_hfs_sblock): Move from here...
30897 * include/grub/hfs.h: To here... New file.
30898 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
30899 documentation.
30900 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
30901 New macros.
30902 (grub_hfsplus_volheader): Change type of member `magic' to
30903 `grub_uint16_t'.
30904 (grub_hfsplus_data): Add new member `embedded_offset'.
30905 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
30906 returned block.
30907 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
30908 Calculate the offset.
30909
8899bc3e 309102005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30911
30912 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
30913 Removed.
30914 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
30915
ae8c0277 309162005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30917
30918 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
30919 ENV->NAME is NULL after allocating ENV->VALUE.
30920
07084456 309212005-12-25 Marco Gerards <marco@gnu.org>
30922
30923 * kern/env.c (grub_env_set): Rewritten the error handling code.
30924
4750f5f1 309252005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30926
30927 * geninit.sh: Made more robust, and more portable.
30928
50214199 309292005-12-25 Marco Gerards <marco@gnu.org>
30930
30931 Add support for Apple HFS+ filesystems.
f19dbdb7 30932
50214199 30933 * fs/hfsplus.c: New file.
30934
30935 * DISTLIST: Added `fs/hfsplus.c'.
30936
30937 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
30938 (hfsplus_mod_SOURCES): New variable.
30939 (hfsplus_mod_CFLAGS): Likewise.
30940 (hfsplus_mod_LDFLAGS): Likewise.
30941 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
30942 (grub_setup_SOURCES): Likewise.
30943 (grub_mkdevicemap_SOURCES): Likewise.
30944 (grub_emu_SOURCES): Likewise.
30945 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30946
30947 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
30948
30949 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
30950
befaed6c 309512005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30952
30953 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
30954 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
30955 include/grub/parser.h, include/grub/script.h, kern/parser.c,
30956 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
30957 normal/lexer.c, normal/parser.y, normal/script.c, and
30958 partmap/gpt.c.
30959 Removed kern/sparc64/cache.c.
30960
30961 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
30962 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
30963 grub_emu_init.c.
30964
30965 * configure.ac (AC_INIT): Bumped to 1.92.
30966
6a124103 309672005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
30968
30969 * kern/err.c (grub_error_push): Added new function to support error
30970 stacks.
30971 (grub_error_pop): Likewise.
30972 (grub_error_stack_items): New local variable to support error stacks.
30973 (grub_error_stack_pos): Likewise.
30974 (grub_error_stack_assert): Likewise.
30975 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
30976 stack depth.
30977 (grub_print_error): Added support to print errors from error stack.
30978
30979 * include/grub/err.h (grub_error_push): Added function prototype.
30980 (grub_error_pop): Likewise.
30981
be973c1b 309822005-12-09 Hollis Blanchard <hollis@penguinppc.org>
30983
30984 * configure.ac: Accept `powerpc64' as host_cpu.
30985 (amd64): Rename to `biarch32'.
30986
30987 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
30988 non-cacheline-aligned addresses.
30989
30990 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
30991 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
30992 if `size' is non-zero.
30993
b04216ab 309942005-12-03 Marco Gerards <mgerards@xs4all.nl>
30995
30996 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
30997 and `cd' to make sure the filename is not prefixed with a
30998 directory name.
30999 (pkgdata_MODULES): Add `gpt.mod'.
31000 (gpt_mod_SOURCES): New variable.
31001 (gpt_mod_CFLAGS): Likewise.
31002 (gpt_mod_LDFLAGS): Likewise.
31003
31004 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
31005
31006 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
31007 New macro.
31008
31009 * partmap/gpt.c: New file.
31010
31011 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
31012 GPT partition map is detected.
31013
41730ed9 310142005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
31015
31016 * commands/i386/pc/play.c: New file.
31017 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
31018 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
31019 macros.
f19dbdb7 31020
95dc3643 310212005-11-27 Marco Gerards <mgerards@xs4all.nl>
31022
31023 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
31024 ((unused))' to silence gcc warning.
31025
1569ec51 310262005-11-26 Hollis Blanchard <hollis@penguinppc.org>
31027
31028 * configure.ac: Correct `AC_PROG_YACC' test.
31029
9abde152 310302005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31031
31032 * util/powerpc/ieee1275/grub-install.in: Run the mount point
31033 check before installing files.
31034
44b83271 310352005-11-22 Mike Small <smallm@panix.com>
31036
31037 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
31038 number regex so multidigit numbers are recognized correctly.
31039
310402005-11-22 Mike Small <smallm@panix.com>
31041
31042 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
31043 debugging message before attempting to claim memory.
31044 (grub_rescue_cmd_initrd): Add a claim debugging message and try
31045 multiple addresses in case of failure.
31046
9c12956b 310472005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31048
31049 * term/tparm.c (get_space): Remove empty `if' statement.
31050
31051 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
31052
31053 * kern/parser.c (check_varstate): Rename `state' to 's'.
31054
aeaf81d9 310552005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31056
31057 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
31058 variable definitions to the beginning of each function. Sort stack
31059 variables by size.
31060 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
31061 `buf' argument to `char *'.
31062
79bbb63f 310632005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31064
31065 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
31066 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 31067 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 31068 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31069 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31070 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31071 configfile.mod, search.mod, gzio.mod and test.mod.
31072 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31073 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31074 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31075 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31076 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31077 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31078 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31079 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31080 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31081 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31082 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31083 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31084 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31085 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31086 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31087 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31088 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31089 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31090 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31091 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31092 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31093 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31094 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
31095
31096 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
31097 `grep --include'.
31098 (pkgdata_MODULES): Add test.mod.
31099
233b1628 311002005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31101
31102 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
31103 appending to variables with "+=".
31104 (PModule): Use full pathname to generate *.lst filenames.
31105
31106 * Makefile.in: Fixed list rules moved from genmk.rb.
31107 (.DELETE_ON_ERROR): New special target.
31108 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
31109
31110 * conf/i386-pc.rmk: Include conf/common.mk.
31111 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 31112 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 31113 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31114 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31115 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31116 configfile.mod, search.mod, gzio.mod and test.mod.
31117 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31118 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31119 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31120 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31121 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31122 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31123 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31124 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31125 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31126 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31127 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31128 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31129 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31130 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31131 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31132 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31133 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31134 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31135 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31136 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31137 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31138 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31139 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
31140 here...
31141 * conf/common.rmk: ... to here. New file.
31142
31143 * conf/common.mk: New file.
31144
16f820c8 311452005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
31146
31147 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
31148 (grub_script.tab.c): ... here.
31149
31150 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
31151 (grub_script.tab.c): ... here.
31152
31153 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
31154 (grub_script.tab.c): ... here.
31155
31156 * normal/command.c (grub_command_find): Fixed a memory leak of
31157 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
31158
63ba1554 311592005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31160
31161 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
31162 "@" which marks the start of a comment on ARM.
31163 (VARIABLE): Likewise.
31164
7f67dc13 311652005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31166
79bbb63f 31167 Add support for Linux/ADFS partition tables.
7f67dc13 31168
31169 * partmap/acorn.c: New file.
31170
31171 * include/grub/acorn_filecore.h: Likewise.
31172
31173 * DISTLIST: Added `partmap/acorn.c' and
31174 `include/grub/acorn_filecore.h'.
f19dbdb7 31175
7f67dc13 31176 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31177 `partmap/acorn.c'.
31178 (pkgdata_MODULES): Add `acorn.mod'.
31179 (acorn_mod_SOURCES): New variable.
31180 (acorn_mod_CFLAGS): Likewise.
31181
31182 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31183 `partmap/acorn.c'.
31184 (pkgdata_MODULES): Add `acorn.mod'.
31185 (acorn_mod_SOURCES): New variable.
31186 (acorn_mod_CFLAGS): Likewise.
31187
31188 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
31189 (pkgdata_MODULES): Add `acorn.mod'.
31190 (acorn_mod_SOURCES): New variable.
31191 (acorn_mod_CFLAGS): Likewise.
31192 (acorn_mod_LDFLAGS): Likewise.
31193
31194 * include/types.h (grub_disk_addr_t): New typedef.
31195
6d099807 311962005-11-13 Marco Gerards <mgerards@xs4all.nl>
31197
31198 * geninit.sh: New file.
31199
31200 * geninitheader.sh: Likewise.
31201
31202 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
31203 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
31204 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
31205 * commands/configfile.c (grub_configfile_init)
31206 (grub_configfile_fini): Likewise.
31207 * commands/default.c (grub_default_init, grub_default_fini):
31208 Likewise.
31209 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
31210 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
31211 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
31212 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
31213 Likewise.
31214 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
31215 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
31216 Likewise.
31217 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 31218 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 31219 Likewise.
31220 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
31221 Likewise.
fe6b695a 31222 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 31223 Likewise.
31224 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
31225 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
31226 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
31227 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
31228 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
31229 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
31230 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
31231 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
31232 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
31233 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
31234 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
31235 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
31236 * partmap/amiga.c (grub_amiga_partition_map_init)
31237 (grub_amiga_partition_map_fini): Likewise.
31238 * partmap/apple.c (grub_apple_partition_map_init)
31239 (grub_apple_partition_map_fini): Likewise.
31240 * partmap/pc.c (grub_pc_partition_map_init)
31241 (grub_pc_partition_map_fini): Likewise.
31242 * partmap/sun.c (grub_sun_partition_map_init,
31243 grub_sun_partition_map_fini): Likewise.
31244 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
31245 Likewise.
31246
31247 * util/grub-emu.c: Include <grub_modules_init.h>.
31248 (main): Don't initialize and de-initialize any modules directly,
31249 use `grub_init_all' and `grub_fini_all' instead.
31250
31251 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
31252 `grub_vesafb_mod_init'.
31253 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
31254 all users.
31255 * term/i386/pc/vga.c (grub_vga_init): Renamed to
31256 `grub_vga_mod_init'. Updated all users.
31257 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 31258
6d099807 31259 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
31260 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
31261 rules.
31262
31263 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
31264 Generate a function to initialize the module in utilities.
31265 Updated all callers.
31266 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
31267 initialize the module in utilities. Updated all callers.
31268
9046bcf0 312692005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31270
31271 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
31272 escape sequence and a literal ^L to clear the screen.
31273
31274 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
31275 when returning from Open Firmware.
31276
d13ea639 312772005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31278
31279 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
31280 (grub_ofconsole_height): Likewise.
31281 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
31282 manually insert a '\n'.
31283 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
31284 `grub_ofconsole_height'. Return early if these are already set.
31285
a8fcf206 312862005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
31287
31288 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31289 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
31290 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
31291 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
31292 and `normal/script.c'.
31293 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31294 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31295 (test_mod_SOURCES): New variable.
31296 (test_mod_CFLAGS): Likewise.
31297 (test_mod_LDFLAGS): Likewise.
31298 (pkgdata_MODULES): Add `test.mod'.
31299 (grub_script.tab.c): New rule.
31300 (grub_script.tab.h): Likewise.
31301
b6b32745 313022005-11-07 Marco Gerards <mgerards@xs4all.nl>
31303
31304 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31305 `commands/test.c', `normal/execute.c', `normal/lexer.c',
31306 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31307 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31308 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31309 (test_mod_SOURCES): New variable.
31310 (test_mod_CFLAGS): Likewise.
31311 (pkgdata_MODULES): Add `test.mod'.
31312 (grub_script.tab.c): New rule.
31313 (grub_script.tab.h): Likewise.
31314
daac212a 313152005-11-06 Marco Gerards <mgerards@xs4all.nl>
31316
31317 Add initial scripting support.
31318
31319 * commands/test.c: New file.
31320 * include/grub/script.h: Likewise.
31321 * normal/execute.c: Likewise.
31322 * normal/function.c: Likewise.
31323 * normal/lexer.c: Likewise.
31324 * normal/parser.y: Likewise.
31325 * normal/script.c: Likewise.
31326
31327 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 31328
daac212a 31329 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
31330 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
31331 `normal/function.c' and `normal/script.c'.
31332 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31333 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 31334 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
31335 variables.
daac212a 31336 (pkgdata_MODULES): Add `test.mod'.
31337 (grub_script.tab.c): New rule.
31338 (grub_script.tab.h): Likewise.
31339
31340 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
31341
31342 * include/grub/normal.h (grub_test_init): New prototype.
31343 (grub_test_fini): Likewise.
f19dbdb7 31344
daac212a 31345 * normal/command.c: Include <grub/script.h>.
31346 (grub_command_execute): Rewritten.
f19dbdb7 31347
daac212a 31348 * util/grub-emu.c (main): Call `grub_test_init' and
31349 `grub_test_fini'.
31350
77500b2b 313512005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31352
31353 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
31354 to 0.
31355 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
31356 there are no pending characters.
31357
e45deb9e 313582005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31359
31360 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
31361 `grub_strndup' to drop device arguments. Replace unnecessary
31362 `grub_strndup' with `grub_strdup'.
31363
4ce32619 313642005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31365
31366 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
31367 `debug' environment variable has been set.
31368
313692005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 31370
4ce32619 31371 * Makefile.in (install-local): Use $(DATA).
31372 (uninstall): Likewise.
31373 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
31374 (sbin_UTILITIES): ... to here.
31375 (sbin_SCRIPTS): New variable.
31376 (grub_install_SOURCES): New variable.
31377 * util/powerpc/ieee1275/grub-install.in: New file.
31378 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
31379 variable.
31380 (add_segments): Call `grub_util_get_path'.
31381
25fe6f03 313822005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
31383
31384 From Timothy Baldwin:
31385 * commands/ls.c (grub_ls_list_files): Close FILE with
31386 grub_file_close.
31387 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
31388
04ccf3ec 313892005-10-24 Marco Gerards <mgerards@xs4all.nl>
31390
31391 * include/grub/parser.h: New file.
31392
31393 * kern/parser.c: Likewise.
31394
31395 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
31396 (grub_setup_SOURCES): Likewise.
31397 (grub_probefs_SOURCES): Likewise.
31398 (grub_emu_SOURCES): Likewise.
31399 (kernel_img_HEADERS): Add `parser.h'.
31400
31401 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31402 (grub_emu_SOURCES): Add `kern/parser.c'.
31403 (grubof_SOURCES): Likewise.
31404
31405 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31406 (grubof_SOURCES): Add `kern/parser.c'.
31407
31408 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
31409
31410 * kern/misc.c (grub_split_cmdline): Removed function.
31411
31412 * kern/rescue.c: Include <grub/parser.h>.
31413 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
31414 of `grub_split_cmdline'.
31415
31416 * normal/command.c: Include <grub/parser.h>.
31417 (grub_command_execute): Use `grub_parser_split_cmdline' instead
31418 of `grub_split_cmdline'.
31419
31420 * normal/completion.c: Include <grub/parser.h>.
31421 (cmdline_state): New variable.
31422 (iterate_dir): End the filename with a quote depending on the
31423 command line state.
31424 (get_state): new function.
31425 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
31426 split the arguments and determine the current argument. When the
31427 argument string is not quoted, escape all spaces.
31428
6d8f4b0e 314292005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31430
31431 * normal/sparc64/setjmp.S: New file.
31432
15cf03ed 314332005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31434
31435 * include/grub/sparc64/libgcc.h: New file.
31436 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
31437 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
31438 normal/sparc64/setjmp.c.
31439
03e8661a 314402005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31441
31442 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
31443 * kern/sparc64/cache.S: New file.
31444 * kern/sparc64/cache.c: Removed.
31445 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
31446 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
31447 -mtune=ultrasparc.
31448 (COMMON_LDFLAGS): Add -melf64_sparc.
31449 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
31450 (grubof_SOURCES): Use cache.S instead of cache.c.
31451 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
31452 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
31453 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
31454 commented though.
31455 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
31456 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
31457 (linux_mod_CFLAGS): Commented out.
31458 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
31459 out because module isn't built.
31460 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
31461 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
31462 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
31463 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
31464 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
31465 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31466 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31467 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
31468 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
31469 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
31470 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31471 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31472 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
31473 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
31474
34eeec8a 314752005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
31476
31477 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
31478 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
31479 longer, because HFS should not be used on PC.
31480
708367a3 314812005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31482
31483 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
31484 consistently within the loop.
31485
6fa1251a 314862005-10-15 Marco Gerards <mgerards@xs4all.nl>
31487
31488 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
31489 directory can not be read.
31490
4801580b 314912005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31492
31493 * configure.ac (AC_INIT): Increase the version number to 1.91.
31494
31495 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
31496 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
31497 term/i386/pc/serial.c.
31498
219ad426 314992005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31500
31501 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
31502 file size must be permitted.
31503
31504 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
31505 between %ah and %al.
31506
688e5699 315072005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31508
31509 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
31510 grub_uint64_t.
31511 Call the hook with a NUL-terminated filename.
31512 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
31513 grub_cpu_to_be32.
31514
31515 * kern/term.c (cursor_state): New variable.
31516 (grub_term_set_current): Reset the cursor state on a new
31517 terminal.
31518 (grub_setcursor): Rewritten to use CURSOR_STATE.
31519 (grub_getcursor): New function.
31520
31521 * include/grub/term.h (grub_getcursor): New prototype.
31522
31523 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
31524 integers on ARM. Reported by Timothy Baldwin
31525 <T.E.Baldwin99@members.leeds.ac.uk>.
31526
bb34586c 315272005-10-11 Marco Gerards <mgerards@xs4all.nl>
31528
31529 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
31530 allocated.
31531 (grub_sfs_dir): Likewise.
31532
9a909877 315332005-10-09 Marco Gerards <mgerards@xs4all.nl>
31534
31535 Add support for the SFS filesystem.
31536
31537 * fs/sfs.c: New file.
31538
31539 * DISTLIST: Added `fs/sfs.c'.
31540
31541 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
31542 (grub_probefs_SOURCES): Likewise.
31543 (grub_emu_SOURCES): Likewise.
31544 (pkgdata_MODULES): Add `sfs.mod'.
31545 (sfs_mod_SOURCES): New variable.
31546 (sfs_mod_CFLAGS): Likewise.
31547 (sfs_mod_LDFLAGS): Likewise.
31548
31549 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
31550 (pkgdata_MODULES): Add `sfs.mod'.
31551 (sfs_mod_SOURCES): New variable.
31552 (sfs_mod_CFLAGS): Likewise.
31553
31554 * util/grub-emu.c (main): Call `grub_sfs_init' and
31555 `grub_sfs_fini'.
31556
31557 * include/grub/fs.h (grub_sfs_init): New prototype.
31558 (grub_sfs_fini): Likewise.
31559
57bdbde3 315602005-10-07 Marco Gerards <mgerards@xs4all.nl>
31561
31562 Add support for the AFFS filesystem.
31563
31564 * fs/affs.c: New file.
31565
31566 * DISTLIST: Added `fs/affs.c'.
31567
31568 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
31569 (grub_probefs_SOURCES): Likewise.
31570 (grub_emu_SOURCES): Likewise.
31571 (pkgdata_MODULES): Add `affs.mod'.
31572 (affs_mod_SOURCES): New variable.
31573 (affs_mod_CFLAGS): Likewise.
31574 (affs_mod_LDFLAGS): Likewise.
31575
31576 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
31577 (pkgdata_MODULES): Add `affs.mod'.
31578 (affs_mod_SOURCES): New variable.
31579 (affs_mod_CFLAGS): Likewise.
31580
31581 * util/grub-emu.c (main): Call `grub_affs_init' and
31582 `grub_affs_fini'.
31583
31584 * include/grub/fs.h (grub_affs_init): New prototype.
31585 (grub_affs_fini): Likewise.
31586
047b67e0 315872005-10-01 Marco Gerards <mgerards@xs4all.nl>
31588
31589 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
31590
59b8208a 315912005-10-01 Marco Gerards <mgerards@xs4all.nl>
31592
31593 * configure.ac: Accept `x86_64' as host_cpu. In that case add
31594 `-m32' to CFLAGS.
31595
31596 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
31597 linking.
f19dbdb7 31598
59b8208a 31599 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
31600 (COMMON_LDFLAGS): New variable.
31601 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
31602 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
31603 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
31604 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
31605 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
31606 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
31607 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
31608 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
31609 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
31610 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
31611 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31612 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31613 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
31614 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
31615 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
31616 variables.
31617 (normal_mod_ASFLAGS): Add `-m32'.
31618
31619 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
31620 (grub_host_size_t, grub_host_ssize_t): New types.
31621 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 31622 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 31623 `GRUB_HOST_SIZEOF_VOID_P'.
31624
31625 * include/grub/kernel.h (struct grub_module_header): Type of
31626 member offset changed to `grub_host_off_t'. Type of member size
31627 changed to `grub_host_size_t'.
31628 (struct grub_module_info): Type of member offset changed to
31629 `grub_host_off_t'. Type of member size changed to
31630 `grub_host_size_t'.
31631
b4093103 316322005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
31633
31634 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 31635
b4093103 31636 * kern/i386/pc/startup.S (multiboot_header): New label.
31637 (multiboot_entry): Likewise.
31638 (multiboot_trampoline): Likewise.
31639
31640 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31641 Increased to 0x4A0.
31642
31643 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
31644 put parentheses after a question mark.
31645 [!GRUB_UTIL] (my_mod): New variable.
31646
31647 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
31648
b2499b29 316492005-09-28 Marco Gerards <mgerards@xs4all.nl>
31650
31651 Adds support for the XFS filesystem. Btrees are not supported
31652 yet.
31653
31654 * fs/xfs.c: New file.
31655
31656 * DISTLIST: Added `fs/xfs.c'.
31657
31658 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
31659 (grub_probefs_SOURCES): Likewise.
31660 (grub_emu_SOURCES): Likewise.
31661 (pkgdata_MODULES): Add `xfs.mod'.
31662 (xfs_mod_SOURCES): New variable.
31663 (xfs_mod_CFLAGS): Likewise.
31664
31665 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
31666 (pkgdata_MODULES): Add `xfs.mod'.
31667 (xfs_mod_SOURCES): New variable.
31668 (xfs_mod_CFLAGS): Likewise.
31669
31670 * util/grub-emu.c (main): Call `grub_xfs_init' and
31671 `grub_xfs_fini'.
31672
31673 * include/grub/fs.h (grub_xfs_init): New prototype.
31674 (grub_xfs_fini): Likewise.
31675
f19dbdb7 31676
83d37a62 316772005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
31678
31679 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
31680 color modes, allow greater than 16 colors to be configured as
31681 a default palette.
31682
47d2d65e 316832005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31684
31685 * normal/completion.c (complete_arguments): Add the qualifier
31686 const into OPTIONS.
31687
31688 From Omniflux <omniflux+lists@omniflux.com>:
31689 * include/grub/terminfo.h: New file.
31690 * include/grub/tparm.h: Likewise.
31691 * include/grub/i386/pc/serial.h: Likewise.
31692 * term/terminfo.c: Likewise.
31693 * term/tparm.c: Likewise.
31694 * term/i386/pc/serial.c: Likewise.
31695 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
31696 serial.mod.
31697 (terminfo_mod_SOURCES): New variable.
31698 (terminfo_mod_CFLAGS): Likewise.
31699 (serial_mod_SOURCES): Likewise.
31700 (serial_mod_CFLAGS): Likewise.
31701
48b671ff 317022005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
31703
31704 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
31705 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
31706 and kern/powerpc/ieee1275/cmain.c, respectively.
31707
31708 * boot/powerpc/ieee1275/crt0.S: Moved to ...
31709 * kern/powerpc/ieee1275/crt0.S: ... here.
31710
31711 * boot/powerpc/ieee1275/cmain.c: Moved to ...
31712 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 31713
48b671ff 31714 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
31715 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
31716 instead of boot/powerpc/ieee1275/crt0.S and
31717 boot/powerpc/ieee1275/cmain.c, respectively.
31718
31719 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
31720 sectors. It was not used anyway.
31721
09fc77a7 317222005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31723
31724 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
31725 `unused parameter' warning.
31726
003789c7 317272005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31728
31729 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
31730 function.
31731 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
31732 getcharwidth.
31733
67f44c86 317342005-08-28 Marco Gerards <metgerards@student.han.nl>
31735
31736 * include/grub/normal.h (enum grub_completion_type): Added
31737 `GRUB_COMPLETION_TYPE_ARGUMENT'.
31738
31739 * normal/cmdline.c (print_completion): Handle
31740 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
31741 * normal/menu_entry.c (store_completion): Likewise.
31742
31743 * normal/completion.c (complete_arguments): New function.
31744 (grub_normal_do_completion): Call `complete_arguments' when the
31745 current words start with a dash.
31746
0b5abe02 317472005-08-27 Marco Gerards <metgerards@student.han.nl>
31748
31749 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
31750 `gzio.mod' instead of `io.mod').
31751
d9864ee1 317522005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
31753
31754 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
31755 (DISTDIRS): Added io and video.
31756 Rewrite the search routine to make an output consistently.
31757
31758 * DISTLIST: Added conf/sparc64-ieee1275.mk,
31759 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
31760 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
31761 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
31762 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
31763 util/powerpc/ieee1275/misc.c.
f19dbdb7 31764
d9864ee1 31765 * include/grub/gzio.h: New file.
31766 * io/gzio.c: Likewise.
f19dbdb7 31767
d9864ee1 31768 * kern/file.c (grub_file_close): Call grub_device_close only if
31769 FILE->DEVICE is not NULL.
31770
31771 * include/grub/mm.h [!NULL] (NULL): New macro.
31772
31773 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
31774
31775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
31776 (pkgdata_MODULES): Added gzio.mod.
31777 (gzio_mod_SOURCES): New variable.
31778 (gzio_mod_CFLAGS): Likewise.
31779
31780 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
31781 (pkgdata_MODULES): Added gzio.mod.
31782 (gzio_mod_SOURCES): New variable.
31783 (gzio_mod_CFLAGS): Likewise.
31784
31785 * commands/cat.c: Include grub/gzio.h.
31786 (grub_cmd_cat): Use grub_gzfile_open instead of
31787 grub_file_open.
f19dbdb7 31788
d9864ee1 31789 * commands/cmp.c: Include grub/gzio.h.
31790 (grub_cmd_cmp): Use grub_gzfile_open instead of
31791 grub_file_open.
31792
31793 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
31794 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
31795 grub_file_open.
31796 (grub_rescue_cmd_module): Likewise.
31797
fa46f4b5 317982005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31799
31800 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
31801 kern/sparc64/ieee1275/init.c because it contains _start.
31802 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
31803
e9211b5d 318042005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31805
31806 * configure.ac: Add support for sparc64 host with ieee1275
31807 firmware.
31808 * configure: Generated from configure.ac.
31809 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
31810 instead of int.
31811 (grub_ofdisk_read): Likewise.
31812 (grub_ofdisk_open): Use %p to print pointer values, and cast the
31813 pointers as (void *) to remove a warning.
31814 (grub_ofdisk_close): Likewise.
31815 (grub_ofdisk_read): Likewise.
31816 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
31817 returns, so make it return void to remove a warning.
31818 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
31819 Corresponding prototype change.
31820 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
31821 values, and cast the pointers as (void *) to remove a warning.
31822 (grub_mm_dump): Likewise.
31823 * conf/sparc64-ieee1275.mk: New file.
31824 * conf/sparc64-ieee1275.rmk: Likewise.
31825 * include/grub/sparc64/setjmp.h: Likewise.
31826 * include/grub/sparc64/types.h: Likewise.
31827 * include/grub/sparc64/ieee1275/console.h: Likewise.
31828 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31829 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31830 * include/grub/sparc64/ieee1275/time.h: Likewise.
31831 * kern/sparc64/cache.c: Likewise.
31832 * kern/sparc64/dl.c: Likewise.
31833 * kern/sparc64/ieee1275/init.c: Likewise.
31834 * kern/sparc64/ieee1275/openfw.c: Likewise.
31835
385c6a92 318362005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31837
31838 * util/console.c (grub_ncurses_putchar): If C is greater than
31839 0x7f, set C to a question mark.
31840 (grub_ncurses_getcharwidth): New function.
31841 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
31842 getcharwidth.
31843
31844 * normal/menu.c (print_entry): Made aware of Unicode. First,
31845 convert TITLE to UCS-4, and predict the cursor position by
31846 grub_getcharwidth.
31847
31848 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
31849 const to SRC.
31850 * kern/misc.c (grub_utf16_to_utf8): Likewise.
31851
16ccb8b1 318522005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31853
31854 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
31855 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31856 grub_strcat.
31857
31858 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
31859 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31860 grub_strcpy and grub_strlen. Take it into account that a space
31861 character is inserted as a delimiter.
31862
6a85ce79 318632005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31864
31865 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 31866 invalid magic in the error.
6a85ce79 31867
31868 * commands/search.c: New file.
f19dbdb7 31869
6a85ce79 31870 * util/grub-emu.c (main): Call grub_search_init and
31871 grub_search_fini.
31872
31873 * kern/rescue.c (grub_rescue_print_disks): Removed.
31874 (grub_rescue_print_devices): New function.
31875 (grub_rescue_cmd_ls): Use grub_device_iterate with
31876 grub_rescue_print_devices instead of grub_disk_dev_iterate with
31877 grub_rescue_print_disks.
31878
31879 * kern/partition.c (grub_partition_iterate): Return the result of
31880 PARTMAP->ITERATE instead of GRUB_ERRNO.
31881
31882 * kern/device.c: Include grub/partition.h.
31883 (grub_device_iterate): New function.
31884
31885 * include/grub/partition.h (grub_partition_iterate): Return int
31886 instead of grub_err_t.
31887
31888 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
31889 prototype.
31890 [GRUB_UTIL] (grub_search_fini): Likewise.
31891
31892 * include/grub/device.h (grub_device_iterate): New prototype.
31893
31894 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31895 commands/search.c.
31896 (pkgdata_MODULES): Added search.mod.
31897 (search_mod_SOURCES): New variable.
31898 (search_mod_CFLAGS): Likewise.
31899
31900 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
31901 (pkgdata_MODULES): Added search.mod.
31902 (search_mod_SOURCES): New variable.
31903 (search_mod_CFLAGS): Likewise.
31904
31905 * commands/ls.c (grub_ls_list_disks): Renamed to ...
31906 (grub_ls_list_devices): ... this, and use grub_device_iterate.
31907 All callers changed.
31908
31909 * DISTLIST: Added commands/search.c.
31910
ef095434 319112005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31912
31913 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
31914 conversion.
31915 (grub_getcharwidth): New function.
31916
31917 * kern/misc.c (grub_utf8_to_ucs4): New function.
31918
31919 * include/grub/term.h (struct grub_term): Added a new member
31920 "getcharwidth".
31921 (grub_getcharwidth): New prototype.
31922
31923 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
31924
31925 * term/i386/pc/console.c (map_char): New function. Segregated from
31926 grub_console_putchar.
31927 (grub_console_putchar): Use map_char.
31928 (grub_console_getcharwidth): New function.
31929 (grub_console_term): Specified grub_console_getcharwidth as
31930 getcharwidth.
31931
31932 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
31933 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
31934
31935 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
31936 GRUB_ERRNO.
31937 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
31938 on grub_strtoul completely.
31939 (write_char): Declare local variables in the beginning of the
31940 function.
31941 (grub_vesafb_getcharwidth): New function.
31942 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
31943 getcharwidth.
31944
1f0a95e4 319452005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
31946
31947 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
31948 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
31949 commands/i386/pc/vbetest.c.
31950
31951 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
31952 call grub_vbe_get_controller_info again, because the returned
31953 information is volatile.
31954 (grub_vbe_set_video_mode): Mostly rewritten.
31955 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
31956 grub_vbe_status_t correctly.
31957 (grub_vbe_get_video_mode_info): Likewise.
31958 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
31959 several if statements.
31960
31961 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
31962 * commands/i386/pc/vbeinfo.c: ... this.
31963
31964 * commands/i386/pc/vbe_test.c: Renamed to ...
31965 * commands/i386/pc/vbetest.c: ... this.
31966
31967 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
31968 ...
31969 (grub_cmd_vbeinfo): ... this. Save video modes before
31970 iterating. Skip a video mode, if it is not available, not enough
31971 information is given or it is monochrome. Show the memory
31972 model. Leave the interpretation of MODEVAR to grub_strtoul
31973 completely.
31974 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
31975 (GRUB_MOD_FINI): Likewise.
31976
31977 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
31978 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
31979 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
31980 duplicated grub_env_get. Leave the interpretation of MODEVAR to
31981 grub_strtoul completely.
31982 (real2pm): Removed.
31983 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
31984 (GRUB_MOD_FINI): Likewise.
31985
31986 * normal/misc.c: Include grub/mm.h.
31987
31988 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
31989 vbe_list_modes with vbetest.mod and vbeinfo.mod.
31990 (vbe_list_modes_mod_SOURCES): Removed.
31991 (vbe_list_modes_mod_CFLAGS): Likewise.
31992 (vbe_test_mod_SOURCES): Likewise.
31993 (vbe_test_mod_CFLAGS): Likewise.
31994 (vbeinfo_mod_SOURCES): New variable.
31995 (vbeinfo_mod_CFLAGS): Likewise.
31996 (vbetest_mod_SOURCES): Likewise.
31997 (vbetest_mod_CFLAGS): Likewise.
31998
992ffbbe 319992005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
32000
32001 * normal/misc.c: New file.
32002
32003 * DISTLIST: Added normal/misc.c.
f19dbdb7 32004
992ffbbe 32005 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
32006 DISK to HOOK. Call HOOK with DISK.
32007 * partmap/apple.c (apple_partition_map_iterate): Likewise.
32008 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32009 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32010
32011 * normal/menu_entry.c (struct screen): Added a new member
32012 "completion_shown".
32013 (completion_buffer): New global variable.
32014 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
32015 (store_completion): New function.
32016 (complete): Likewise.
32017 (clear_completions): Likewise.
32018 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
32019 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
32020 a tab, call complete.
32021
32022 * normal/completion.c (disk_dev): Removed.
32023 (print_simple_completion): Likewise.
32024 (print_partition_completion): Likewise.
32025 (print_func): New global variable.
32026 (add_completion): Do not take the arguments WHAT or PRINT any
32027 longer. Added a new argument TYPE. Instead of printing directly,
32028 call PRINT_FUNC if not NULL.
32029 All callers changed.
32030 (complete_device): Use a local variable DEV instead of
32031 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
32032 (grub_normal_do_completion): Take a new argument HOOK. Do not
32033 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
32034 empty string, return NULL instead.
32035 All callers changed.
32036
32037 * normal/cmdline.c (print_completion): New function.
32038
32039 * kern/partition.c (grub_partition_iterate): Add an argument DISK
32040 to HOOK.
32041 All callers changed.
32042
32043 * kern/disk.c (grub_print_partinfo): Removed.
32044
32045 * include/grub/partition.h (struct grub_partition_map): Add a new
32046 argument DISK into HOOK of ITERATE.
32047 (grub_partition_iterate): Add a new argument DISK to HOOK.
32048
32049 * include/grub/normal.h (enum grub_completion_type): New enum.
32050 (grub_completion_type_t): New type.
32051 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
32052 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
32053 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
32054 (GRUB_COMPLETION_TYPE_FILE): Likewise.
32055 (grub_normal_do_completion): Added a new argument HOOK.
32056 (grub_normal_print_device_info): New prototype.
32057
32058 * include/grub/disk.h (grub_print_partinfo): Removed.
32059
32060 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
32061 (normal_mod_SOURCES): Likewise.
32062 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32063 (normal_mod_SOURCES): Likewise.
32064
32065 * commands/ls.c (grub_ls_list_disks): Use
32066 grub_normal_print_device_info instead of grub_print_partinfo. Free
32067 PNAME.
32068 (grub_ls_list_files): Use grub_normal_print_device_info instead of
32069 duplicating the code.
32070
0bd41162 320712005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32072
32073 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 32074 follow GCS more precisely.
32075 * commands/i386/pc/vbe_test.c: Likewise.
32076 * include/grub/i386/pc/vbe.h: Likewise.
32077 * term/i386/pc/vesafb.c: Likewise.
32078 * video/i386/pc/vbe.c: Likewise.
0bd41162 32079
6323696a 320802005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32081
32082 * DISTLIST: Added term/i386/pc/vesafb.c
32083 DISTLIST: Added video/i386/pc/vbe.c
32084 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
32085 DISTLIST: Added commands/i386/pc/vbe_test.c.
32086 * commands/i386/pc/vbe_list_modes.c: New file.
32087 * commands/i386/pc/vbe_test.c: Likewise.
32088 * term/i386/pc/vesafb.c: Likewise.
32089 * video/i386/pc/vbe.c: Likewise.
32090 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
32091 (grub_vbe_probe) Added prototype.
32092 (grub_vbe_set_video_mode) Likewise.
32093 (grub_vbe_get_video_mode) Likewise.
32094 (grub_vbe_get_video_mode_info) Likewise.
32095 (grub_vbe_set_pixel_rgb) Likewise.
32096 (grub_vbe_set_pixel_index) Likewise.
32097 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
32098 (pkgdata_MODULES): Added vesafb.mod.
32099 (pkgdata_MODULES): Added vbe_list_modes.mod.
32100 (pkgdata_MODULES): Added vbe_test.mod.
32101 (vbe_mod_SOURCES): Added.
32102 (vbe_mod_CFLAGS): Likewise.
32103 (vesafb_mod_SOURCES): Likewise.
32104 (vesafb_mod_CFLAGS): Likewise.
32105 (vbe_list_modes_mod_SOURCES): Likewise.
32106 (vbe_list_modes_mod_CFLAGS): Likewise.
32107 (vbe_test_mod_SOURCES): Likewise.
32108 (vbe_test_mod_CFLAGS): Likewise.
32109
0a74e62f 321102005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
32111
0a74e62f 32112 * normal/command.c (grub_command_execute): If INTERACTIVE is
32113 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
32114 CMDLINE. Disable the pager if INTERACTIVE is true.
32115 All callers are changed.
32116
32117 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
32118 before reading a config file.
32119 * normal/main.c (read_config_file): Even if a command is not
32120 found, register it if it is within an entry.
32121
32122 * util/grub-emu.c: Include sys/types.h and unistd.h.
32123 (options): Added --hold.
32124 (struct arguments): Added a new member "hold".
32125 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
32126 missing.
32127 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
32128 cleared by a debugger, if it is not zero.
32129
32130 * include/grub/normal.h (grub_command_execute): Add an argument
32131 INTERACTIVE.
32132
e51f85ae 321332005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
32134
32135 * DISTLIST: Added include/grub/i386/pc/vbe.h.
32136
e9c6f39b 321372005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
32138
32139 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
32140 program with another one, because the old one didn't detect a bug
32141 in gcc-3.4. Always use regparm 2, because the new test is still
32142 not enough for gcc-4.0. Someone must investigate a simple test
32143 case which detects a bug in gcc-4.0.
32144
8de3495c 321452005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
32146
32147 * DISTLIST: Added normal/completion.c.
32148
32149 * normal/completion.c: New file.
f19dbdb7 32150
8de3495c 32151 * term/i386/pc/console.c (grub_console_getwh): New function.
32152 (grub_console_term): Assign grub_console_getwh to getwh.
32153
32154 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
32155 function is defined in normal/completion.c as
32156 grub_normal_do_completion.
32157 (grub_cmdline_get): Use grub_normal_do_completion instead of
32158 grub_tab_complete.
32159
32160 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
32161 returns non-zero, otherwise return 0.
32162 (grub_partition_iterate): First, probe the partition map. Then,
32163 call ITERATE only for this partition map.
32164
32165 * kern/misc.c (grub_strncmp): Rewritten.
32166
32167 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
32168 returns non-zero. Otherwise return 0.
32169
32170 * include/grub/partition.h (grub_partition_map_iterate): Return
32171 int instead of void.
32172
32173 * include/grub/normal.h (grub_normal_do_completion): New prototype.
32174
32175 * include/grub/misc.h (grub_strncmp): Change the type of N to
32176 grub_size_t.
32177
32178 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
32179 of void.
32180
32181 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 32182 unsigned explicitly before comparing it with I.
8de3495c 32183
32184 * kern/main.c (grub_env_write_root): Add the attribute unused into
32185 VAR.
32186
32187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32188 normal/completion.c.
32189 (normal_mod_SOURCES): Likewise.
32190 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32191 (normal_mod_SOURCES): Likewise.
32192
32193 * normal/command.c (grub_iterate_commands): If ITERATE returns
32194 non-zero, return one immediately.
32195
e85e144b 321962005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
32197
32198 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
32199 * kern/i386/pc/startup.S: Updated Global Descriptor table's
32200 descriptions.
32201 (grub_vbe_get_controller_info): New function.
32202 (grub_vbe_get_mode_info): Likewise.
32203 (grub_vbe_set_mode): Likewise.
32204 (grub_vbe_get_mode): Likewise.
32205 (grub_vbe_set_memory_window): Likewise.
32206 (grub_vbe_get_memory_window): Likewise.
32207 (grub_vbe_set_scanline_length): Likewise.
32208 (grub_vbe_get_scanline_length): Likewise.
32209 (grub_vbe_set_display_start): Likewise.
32210 (grub_vbe_get_display_start): Likewise.
32211 (grub_vbe_set_palette_data): Likewise.
32212 * include/grub/i386/pc/vbe.h: New file.
32213
c46153d2 322142005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32215
32216 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32217 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
32218 * DISTLIST: Likewise.
32219 * kern/ieee1275/of.c: Moved to ...
32220 * kern/ieee1275/ieee1275.c: ... here.
32221
0cb90c45 322222005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32223
32224 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
32225 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
32226 Pass 0 as `end' parameter to grub_strtoul().
32227
a19fb360 322282005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32229
32230 * include/grub/powerpc/ieee1275/console.h: Do not include
32231 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
32232 ifdef.
32233 (grub_console_cur_color): Remove i386-specific prototype.
32234 (grub_console_real_putchar): Likewise.
32235 (grub_console_checkkey): Likewise.
32236 (grub_console_getkey): Likewise.
32237 (grub_console_getxy): Likewise.
32238 (grub_console_gotoxy): Likewise.
32239 (grub_console_cls): Likewise.
32240 (grub_console_setcursor): Likewise.
32241 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
32242 Include <grub/machine/console.h>.
32243 * term/ieee1275/ofconsole.c: Likewise.
32244
4ac9bd04 322452005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
32246
32247 * Makefile.in (LIBLZO): New variable.
32248
32249 * configure.ac: Check for LZO version 2.
32250
32251 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
32252 lzo/lzo1x.h instead of lzo1x.h.
32253
32254 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
32255 of -llzo.
32256
32257 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
32258 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
32259
32260 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
32261 copying the data from PARTITION to P.
32262
f4917dfd 322632005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32264
32265 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
32266 negative, unload the module.
32267
32268 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
32269 map is "pc_partition_map" but not "pc".
32270 (usage): Fix the description. The options are --boot-image and
32271 --core-image but not --boot-file or --core-file.
32272 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
32273 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
32274 DEFAULT_DIRECTORY.
32275
32276 * util/i386/pc/grub-install.in: Do not specify --boot-file or
32277 --core-file. Specify INSTALL_DEVICE as an argument.
32278
32279 * util/console.c: Include config.h.
32280 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
32281 [HAVE_NCURSES_H]: Include ncurses.h.
32282 [HAVE_CURSES_H]: Include curses.h.
32283 [!A_NORMAL] (A_NORMAL): Defined as zero.
32284 [!A_STANDOUT] (A_STANDOUT): Likewise.
32285
32286 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
32287 -lncurses.
32288 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
32289
32290 * configure.ac: Check for curses libraries and headers.
32291
32292 * Makefile.in (LIBCURSES): New variable.
32293
32294 * genmk.rb (Script::rule): Set the executable bits.
32295
32296 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
32297 name of the PC partition map is "pc_partition_map" but not "pc".
32298
0e143073 322992005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32300
32301 * util/i386/pc/grub-install.in (grub_probefs): New variable.
32302 (modules): Likewise.
32303 (usage): Added descriptions for --modules and --grub-probefs.
32304 Handle --modules and --grub-probefs. Save the arguments in MODULES
32305 and GRUB_PROBEFS, respectively.
32306 Auto-detect a filesystem module against GRUBDIR. If the result is
32307 empty and modules are not specified explicitly, abort the
32308 installation. Add the result to MODULES.
32309
32310 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
32311 disk/powerpc/ieee1275/ofdisk.c,
32312 include/grub/powerpc/ieee1275/init.h and
32313 term/powerpc/ieee1275/ofconsole.c.
32314 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
32315 term/ieee1275/ofconsole.c.
32316
32317 * include/grub/powerpc/ieee1275/console.h: Resurrected.
32318
32319 * COPYING: Upgraded to the latest version. Only the address of the
32320 FSF office has changed.
f19dbdb7 32321
efd6e6d5 323222005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32323
32324 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32325 kern/ieee1275.c with kern/ieee1275/of.c.
32326
32327 * kern/ieee1275.c: Moved to ...
32328 * kern/ieee1275/of.c: ... here.
32329
8ceafda2 323302005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
32331
32332 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 32333 readability.
8ceafda2 32334
32335 * config.guess: Updated to the latest version from gnulib.
32336 * config.sub: Likewise.
32337 * install.sh: Likewise.
32338 * mkinstalldirs: Likewise.
32339
32340 * include/grub/console.h: Removed. This file is arch-specific. Do
32341 not put this in include/grub.
32342
32343 * include/grub/i386/pc/console.h: Resurrected.
32344
32345 * util/console.c: Include grub/machine/console.h instead of
32346 grub/console.h.
32347 * util/grub-emu.c: Likewise.
32348
267f6cd9 323492005-08-04 Marco Gerards <metgerards@student.han.nl>
32350
32351 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
32352 hardcoded value.
f19dbdb7 32353
267f6cd9 32354 From Vincent Pelletier <subdino2004@yahoo.fr>
32355 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
32356 Redefined to use grub_getwh.
32357 (grub_term): New member named getwh.
32358 (grub_getwh): New prototype.
32359 * kern/term.c (grub_getwh): New function.
32360 * term/i386/pc/console.c (grub_console_getwh): New function.
32361 (grub_console_term): New member `getwh'.
32362 * term/i386/pc/vga.c (grub_vga_getwh): New function.
32363 (grub_vga_term): New member `getwh'.
0b5abe02 32364 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 32365 grub_ssize_t.
32366 (grub_ofconsole_getw): New function.
32367 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
32368 (grub_ofconsole_term): New field named getwh and new initial
32369 value.
32370
3be7266d 323712005-08-03 Hollis Blanchard <hollis@penguinppc.org>
32372
32373 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
32374 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
32375 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
32376 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
32377 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
32378 of <grub/machine/ieee1275.h>.
32379 * commands/ieee1275/reboot.c: Likewise.
32380 * boot/powerpc/ieee1275/ieee1275.c: Move ...
32381 * kern/ieee1275.c: ... to here. All users updated. Change all
32382 parameter structs to use new type `grub_ieee1275_cell_t'.
32383 * term/powerpc/ieee1275/ofconsole.c: Move ...
32384 * term/ieee1275/ofconsole.c: ... to here. All users updated.
32385 * disk/powerpc/ieee1275/ofdisk.c: Move ...
32386 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
32387 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
32388 to return int.
32389 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
32390 Remove unused prototypes. All users updated.
32391 * include/grub/powerpc/ieee1275/console.h: Removed.
32392 * include/grub/powerpc/ieee1275/ieee1275.h: Define
32393 `grub_ieee1275_cell_t'.
32394 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
32395 Cast comparisons with -1 to the correct type.
32396 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
32397 type to match `grub_ieee1275_entry_fn'.
32398
8b5f3938 323992005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
32400
32401 * DISTLIST: Added util/i386/pc/grub-probefs.c.
32402
32403 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
32404 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
32405 partmap/sun.c.
32406 (grub_probefs_SOURCES): New variable.
32407
32408 * util/i386/pc/grub-probefs.c: New file.
32409
32410 * util/i386/pc/grub-setup.c (main): Call
32411 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
32412 grub_hfs_init and grub_jfs_init to initialize the system. Call
32413 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
32414 grub_pc_partition_map_fini to finish the system.
32415
ea409713 324162005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
32417
32418 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
32419 function.
32420 (grub_multiboot_load_elf32): Likewise.
32421 (grub_multiboot_is_elf64): Likewise.
32422 (grub_multiboot_load_elf64): Likewise.
32423 (grub_multiboot_load_elf): Likewise.
32424 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
32425 an ELF32 or ELF64 file.
32426 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
32427
32428 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
32429 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
32430 NULL before calling FS->LABEL.
32431 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
32432 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
32433 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
32434 before calling FS->LABEL.
32435
141a288b 324362005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
32437
32438 * util/i386/pc/grub-install.in (datadir): New variable.
32439 (libdir): Removed.
32440 (pkgdatadir): New variable.
32441 (pkglibdir): Removed.
32442
0d5f8a54 324432005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
32444
32445 * DISTLIST: Added util/i386/pc/grub-install.in.
32446
32447 * util/i386/pc/grub-install.in: New file.
32448
32449 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
32450 (grub_install_SOURCES): Likewise.
32451
32452 * genmk.rb: Added support for scripts.
32453 (Script): New class.
32454 (scripts): New variable.
32455
32456 * Makefile.in (install-local): Install sbin_SCRIPTS by
32457 INSTALL_SCRIPT.
32458 (uninstall): Remove sbin_SCRIPTS.
32459
32460 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
32461 device, try to get a GRUB device by
32462 grub_util_biosdisk_get_grub_dev.
32463 Free DEST_DEV.
32464
32465 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
32466 description for --device-map.
32467
5f968e1e 324682005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32469
32470 Change the semantics of variable hooks. They now return strings
32471 instead of error values.
f19dbdb7 32472
5f968e1e 32473 * util/i386/pc/grub-setup.c: Include grub/env.h.
32474 (setup): Use grub_device_set_root instead of grub_env_set.
32475
32476 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
32477 grub_env_get instead of grub_device_set_root and
32478 grub_device_get_root, respectively.
32479
32480 * kern/main.c (grub_env_write_root): New function.
32481 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
32482 grub_env_set instead of grub_device_set_root.
32483
32484 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
32485 many variables.
32486 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
32487 rather than calling ENV->WRITE_HOOK afterwards.
32488 (grub_env_get): Return the result of ENV->READ_HOOK rather than
32489 passing a pointer of a pointer.
32490 (grub_register_variable_hook): Change the types of "read_hook" and
32491 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
32492 respectively.
32493 Allocate the default empty string on the heap, because this string
32494 may be freed later.
32495
32496 * kern/device.c: Include grub/env.h.
32497 (grub_device_set_root): Removed.
32498 (grub_device_get_root): Likewise.
32499 (grub_device_open): Use grub_env_get instead of
32500 grub_device_get_root.
32501
32502 * include/grub/env.h (grub_env_read_hook_t): New type.
32503 (grub_env_write_hook_t): Likewise.
32504 (grub_env_var): Change the types of "read_hook" and "write_hook"
32505 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
32506 (grub_register_variable_hook): Likewise.
32507
32508 * include/grub/device.h (grub_device_set_root): Removed.
32509 (grub_device_set_root): Likewise.
32510
32511 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
32512 make sure that DIRNAME terminates with '/', so that
32513 grub_fat_find_dir will fail if PATH is not a directory.
32514
32515 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
32516 from DIRNAME.
32517 Use the qualifier auto for print_files and print_files_long.
32518 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
32519 as a regular file.
32520 Put a newline only if there is no error.
32521 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
32522 used.
32523
896f0afd 325242005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32525
32526 * kern/partition.c (grub_partition_probe): Initialize PART to
32527 NULL. Otherwise, when no partition map is registered, this returns
32528 a garbage.
32529
b28b81b2 325302005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
32531
32532 * partmap/apple.c (apple_partition_map_iterate): Check if POS
32533 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
32534 valid.
32535
5f3607e0 325362005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
32537
32538 * commands/ls.c (grub_ls_list_disks): Print the filesystem
32539 information on each device, if it does not have partitions. Print
32540 "Device" instead of "Disk", because this function is not specific
32541 to disk devices.
32542
32543 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
32544 static to ensure that it is put on the memory rather than a
32545 register.
32546
502c87e8 325472005-07-17 Yoshinori Okuji <okuji@enbug.org>
32548
32549 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
32550 (grub_cat_init): Likewise.
32551 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
32552 (options): Likewise.
32553 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32554 (grub_configfile_init): Likewise.
32555 * font/manager.c (GRUB_MOD_INIT): Likewise.
32556 * commands/help.c (GRUB_MOD_INIT): Likewise.
32557 (grub_help_init): Likewise.
32558 * normal/command.c (grub_command_init): Likewise.
32559 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
32560 * disk/loopback.c (grub_loop_init): Likewise.
32561 (GRUB_MOD_INIT): Likewise.
32562 * commands/ls.c (grub_ls_init): Likewise.
32563 (GRUB_MOD_INIT): Likewise.
32564 (options): Likewise.
32565 * commands/boot.c (grub_boot_init): Likewise.
32566 (GRUB_MOD_INIT): Likewise.
32567 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
32568 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
32569 (GRUB_MOD_INIT): Likewise.
32570 * commands/cmp.c (grub_cmp_init): Likewise.
32571 (GRUB_MOD_INIT): Likewise.
32572
32573 * normal/arg.c: Use <> instead of "" to include header files.
32574 (SHORT_ARG_HELP): New macro.
32575 (SHORT_ARG_USAGE): Likewise.
32576 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
32577 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
32578 descriptions.
32579 (find_short): Check if C is 'h' or 'u' explicitly.
32580 (grub_arg_show_help): Use space characters instead of tabs. Treat
32581 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
32582 are shown with --help and --usage only if they are not used for
32583 the command itself.
32584 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
32585 'h' and 'u'.
32586
32587 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
32588 const into "longarg". Change the type of "shortarg" to int.
32589
f806d18e 325902005-07-17 Yoshinori Okuji <okuji@enbug.org>
32591
32592 * boot/i386/pc/boot.S (boot_drive_check): New label.
32593
32594 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
32595 macro.
32596
32597 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
32598 which do not pass a boot drive correctly. Copied from GRUB Legacy.
32599
e293232b 326002005-07-17 Yoshinori Okuji <okuji@enbug.org>
32601
32602 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
32603 When turning off Gate A20, skip the check and return immediately,
32604 because this is not fatal usually.
32605
ebedfd00 326062005-07-17 Yoshinori Okuji <okuji@enbug.org>
32607
32608 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
32609 be 0x7C00 instead of 0x8000.
32610
32611 * boot/i386/pc/pxeboot.S: Rewritten.
32612
32613 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
32614 EXT_C.
32615 (gate_a20_check_state): Read a byte from 0x108000. Invert the
32616 result.
32617
654fc59f 326182005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
32619
32620 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
32621 robustness. This routine now supports a BIOS call and System
32622 Control Port A to modify the gate A20.
32623
32624 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32625 Increased to 0x440.
32626
09f9923f 326272005-07-12 Hollis Blanchard <hollis@penguinppc.org>
32628
32629 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
32630 device path and resulting ihandle.
32631 (grub_ofdisk_close): dprintf the ihandle being closed.
32632 (grub_ofdisk_read): dprintf function parameters.
32633 * kern/mm.c (grub_mm_init_region): Likewise.
32634 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
32635 (grub_linux_boot): dprintf the Linux entry point, initrd address and
32636 size, and boot arguments.
32637 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
32638 before loading into memory.
32639 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
32640 before loading into memory.
32641
7ef504d8 326422005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
32643
32644 * kern/mm.c: Added much documentation.
32645 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
32646 8, set to 5 instead of 8.
32647
e0f050c2 326482005-07-10 Yoshinori Okuji <okuji@enbug.org>
32649
32650 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
32651
32652 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
32653 (grub_mkdevicemap_SOURCES): New variable.
32654
32655 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
32656 lib/device.c of GRUB Legacy.
32657
7224189a 326582005-07-10 Yoshinori Okuji <okuji@enbug.org>
32659
32660 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
32661 instead of PATH is NULL.
32662
68c864eb 326632005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
32664
32665 * commands/cmp.c (BUFFER_SIZE): New macro.
32666 (grub_cmd_cmp): Close the right file at the right time. Compare
32667 only data just read. Don't report files of different size as
32668 identical. Dynamically allocate buffers. Move variable
32669 declarations at the beginning of function.
32670
e6f3e614 326712005-07-09 Yoshinori Okuji <okuji@enbug.org>
32672
32673 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
32674 reverse.
32675
f8f1559a 326762004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
32677
32678 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
32679 when backspace is pressed at beginning of line.
32680
39c9d41d 326812005-07-03 Yoshinori Okuji <okuji@enbug.org>
32682
32683 * DISTLIST: Added genfslist.sh.
32684
32685 * normal/main.c (fs_module_list): New variable.
32686 (autoload_fs_module): New function.
32687 (read_fs_list): Likewise.
32688 (grub_normal_execute): Call read_fs_list.
32689
32690 * kern/fs.c (grub_fs_autoload_hook): New variable.
32691 (grub_fs_probe): Added support for auto-loading.
32692
32693 * include/grub/normal.h (struct grub_fs_module_list): New struct.
32694 (grub_fs_module_list_t): New type.
32695
32696 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
32697 (grub_fs_autoload_hook): New prototype.
32698
32699 * genfslist.sh: New file.
f19dbdb7 32700
39c9d41d 32701 * genmk.rb: Added a rule to generate a filesystem list.
32702
121c1d83 327032005-06-30 Marco Gerards <metgerards@student.han.nl>
32704
32705 * configure.ac: Fix the test for cross-compiling.
32706
32707 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
32708 define GRUB_UTIL anymore.
32709
32710 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
32711 so this function works on other systems than just big endian.
32712 (load_modules): Likewise.
32713 (add_segments): Likewise.
32714
e75d76e1 327152005-06-23 Hollis Blanchard <hollis@penguinppc.org>
32716
32717 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
32718 contains `l' modifier, get a long from va_arg().
32719
50b5a0a7 327202005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
32721
32722 * kern/mm.c (grub_free): If the next free block which is being
32723 merged is the first free block, set the first block to the block
32724 being freed.
32725 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
32726
89371b20 327272005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32728
32729 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
32730 `grub_ieee1275_chosen'.
32731
168d6e58 327322005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32733
32734 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
32735 (grub_ieee1275_chosen): New variable.
32736 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
32737 `chosen'.
32738 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
32739 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32740 Rename first argument to `phandle' for consistency.
32741 (grub_ieee1275_get_property_length): Likewise.
32742 (grub_ieee1275_next_property): Likewise. Change type of first argument
32743 to grub_ieee1275_phandle_t.
32744 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
32745 Move export next to declaration.
32746 (grub_ieee1275_chosen): New variable.
32747 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
32748 Correct cosmetic typo.
32749 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
32750 `grub_ieee1275_chosen'.
32751 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
32752 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
32753 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
32754 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
32755 `grub_ieee1275_chosen'.
32756
ca5baa3f 327572005-05-10 Hollis Blanchard <hollis@penguinppc.org>
32758
32759 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
32760 /chosen/bootargs.
32761 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
32762 /chosen/bootargs as "variable=value" pairs.
32763
708b345f 327642005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
32765
32766 * include/grub/misc.h (grub_dprintf): New macro.
32767 (grub_real_dprintf): New prototype.
32768 (grub_strword): Likewise.
32769 (grub_iswordseparator): Likewise.
32770 * kern/misc.c (grub_real_dprintf): New function.
32771 (grub_strword): Likewise.
32772 (grub_iswordseparator): Likewise.
32773
f4c5e67c 327742005-04-30 Hollis Blanchard <hollis@penguinppc.org>
32775
32776 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
32777 (roundup): Remove macro.
32778 (grub_ieee1275_flags): Make static.
32779 (grub_ieee1275_realmode): Remove.
32780 (grub_ieee1275_test_flag): New function.
32781 (grub_ieee1275_set_flag): Likewise.
32782 (find_options): Rename to `grub_ieee1275_find_options'; update
32783 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
32784 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
32785 (cmain): New prototype.
32786 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
32787 `grub_ieee1275_flags' directly.
32788 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
32789 machine/biosdisk.h.
32790 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
32791 Don't include grub/machine/init.h.
32792 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
32793 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32794 Remove prototype.
32795 (grub_ieee1275_realmode): Likewise.
32796 (grub_ieee1275_flag): New enum.
32797 (grub_ieee1275_test_flag): New prototype.
32798 (grub_ieee1275_set_flag): New prototype.
32799 * include/grub/powerpc/ieee1275/init.h: Remove file.
32800 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
32801 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
32802 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
32803 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
32804 comment.
32805 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
32806 `grub_ieee1275_test_flag'.
32807 (grub_ieee1275_encode_devname): Likewise.
32808
ed16607e 328092005-04-21 Hollis Blanchard <hollis@penguinppc.org>
32810
32811 * include/grub/powerpc/ieee1275/ieee1275.h
32812 (grub_ieee1275_encode_devname): New prototype.
32813 (grub_ieee1275_get_filename): Likewise.
32814 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
32815 function.
32816 (grub_set_prefix): Likewise.
32817 (grub_machine_init): Call grub_set_prefix.
32818 * kern/powerpc/ieee1275/openfw.c: Fix typos.
32819 (grub_parse_type): New enum.
32820 (grub_ieee1275_get_devargs): New function.
32821 (grub_ieee1275_get_devname): Likewise.
32822 (grub_ieee1275_parse_args): Likewise.
32823 (grub_ieee1275_get_filename): Likewise.
32824 (grub_ieee1275_encode_devname): Likewise.
32825
be369920 328262005-03-30 Marco Gerards <metgerards@student.han.nl>
32827
32828 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
32829 `grub_loader_unset'.
32830
a5ce3a4a 328312005-03-26 Hollis Blanchard <hollis@penguinppc.org>
32832
32833 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
32834 instead of grub_ieee1275_interpret.
32835 (grub_halt_init): New function.
32836 (grub_halt_fini): Likewise.
32837 (GRUB_MOD_INIT): Correct message grammar.
32838 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
32839 instead of grub_ieee1275_interpret.
32840 (grub_reboot_init): New function.
32841 (grub_reboot_fini): Likewise.
32842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
32843 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
32844 util/i386/pc/misc.c with commands/ieee1275/halt.c,
32845 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
32846 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
32847 function.
32848 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
32849 Add prototype.
32850 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
32851 prototype.
32852 (grub_halt): Likewise.
32853 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
32854 (cmain): Remove __attribute__((unused)).
32855 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
32856 (grub_heap_len): Likewise.
32857 (grub_machine_fini): New function.
32858 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
32859 (grub_halt): Likewise.
32860 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
32861 function.
32862 * util/powerpc/ieee1275/misc.c: New file.
32863
0058f771 328642005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32865
32866 * DISTLIST: New file.
32867 * gendistlist.sh: Likewise.
f19dbdb7 32868
0058f771 32869 * Makefile.in (COMMON_DISTFILES): Removed.
32870 (BOOT_DISTFILES): Likewise.
32871 (CONF_DISTFILES): Likewise.
32872 (DISK_DISTFILES): Likewise.
32873 (FS_DISTFILES): Likewise.
32874 (INCLUDE_DISTFILES): Likewise.
32875 (KERN_DISTFILES): Likewise.
32876 (LOADER_DISTFILES): Likewise.
32877 (TERM_DISTFILES): Likewise.
32878 (UTIL_DISTFILES): Likewise.
32879 (DISTFILES): Likewise.
32880 (uninstall): Uninstall files in $(pkgdata_DATA).
32881 (DISTLIST): New target.
32882 (distdir): Use the contents of the file DISTLIST to get a list of
32883 distributed files.
32884
46b3b8a5 328852005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32886
32887 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
32888 descriptor. This is ported from GRUB Legacy.
32889
32890 * gencmdlist.sh: Added an extra semicolon to make it work with
32891 old sed versions. Reported by Robert Bihlmeyer
32892 <robbe@orcus.priv.at>.
32893
5822ff87 328942005-03-08 Yoshinori Okuji <okuji@enbug.org>
32895
32896 Automatic loading of commands is supported.
f19dbdb7 32897
5822ff87 32898 * normal/main.c (read_command_list): New function.
32899 (grub_normal_execute): Call read_command_list.
32900
32901 * normal/command.c (grub_register_command): Return zero or CMD.
32902 Allocate CMD->NAME from the heap.
32903 Initialize CMD->MODULE_NAME to zero.
32904 Find the same name as well. If the same command is found and it is
32905 a dummy command, overwrite members. If it is not a dummy command,
32906 return zero.
32907 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
32908 (grub_command_find): If a dummy command is found, load a module
32909 and retry to find a command only once.
32910
32911 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
32912 make sure that each command is loaded.
32913
32914 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
32915 macro.
32916 (struct grub_command): Remove const from the member `name'.
32917 Add a new member `module_name'.
32918 (grub_register_command): Return grub_command_t.
32919
32920 * commands/help.c (grub_cmd_help): Call grub_command_find to make
32921 sure that each command is loaded.
32922
32923 * genmk.rb (PModule::rule): Specify a module name without the
32924 suffix ".mod" to gencmdlist.sh.
32925
7b1f4b57 329262005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32927
32928 * gencmdlist.sh: New file.
f19dbdb7 32929
7b1f4b57 32930 * genmk.rb (PModule::rule): Generate a rule for a command list.
32931 Clean command.lst.
32932 Generate command.lst from $(COMMANDFILES).
32933
32934 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
32935 (DATA): Added $(pkgdata_DATA).
32936 (install-local): Install files in $(pkgdata_DATA).
32937
062aaf39 329382005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32939
32940 * term/i386/pc/vga.c (debug_command): Removed.
32941 (GRUB_MOD_INIT): Do not register the command "debug".
32942
32943 From Hollis Blanchard:
32944 * commands/configfile.c: New file.
32945 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32946 commands/configfile.c.
32947 (pkgdata_MODULES): Added configfile.mod.
32948 (configfile_mod_SOURCES): New variable.
32949 (configfile_mod_CFLAGS): Likewise.
32950 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32951 commands/configfile.c.
32952 (pkgdata_MODULES): Added configfile.mod.
32953 (configfile_mod_SOURCES): New variable.
32954 (configfile_mod_CFLAGS): Likewise.
32955 * util/grub-emu.c (main): Call grub_configfile_init and
32956 grub_configfile_fini.
32957 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
32958 prototype.
32959 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 32960
cee01aa6 329612005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32962
32963 * normal/arg.c (grub_arg_show_help): Do not show the bug report
32964 address.
32965
32966 * commands/help.c (grub_cmd_help): Do not print newlines after
32967 the last command in print_command_help.
32968
93f3a1d8 329692005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32970
32971 * commands/default.h: New file.
32972 * commands/timeout.h: Likewise.
32973 * normal/context.c: Likewise.
f19dbdb7 32974
93f3a1d8 32975 * util/misc.c: Do not include sys/times.h.
32976 Include sys/time.h and grub/machine/time.h.
32977 (grub_get_rtc): Rewritten with gettimeofday.
32978
32979 * util/grub-emu.c (main): Call grub_default_init and
32980 grub_timeout_init before grub_normal_init, and call
32981 grub_timeout_fini and grub_default_fini after grub_main.
32982
32983 * util/console.c (grub_ncurses_checkkey): Return the read
32984 character or -1.
32985
32986 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
32987 timeouts.
32988
32989 * normal/main.c (read_config_file): Push MENU. If this fails,
32990 print an error and wait for a user input.
32991 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
32992 If a menu is empty or an error occurs, pop MENU.
32993 (grub_normal_execute): Pop and free MENU after grub_menu_run
32994 returns.
32995
32996 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
32997
32998 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
32999 include time.h.
33000 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33001 without GRUB_UTIL.
33002 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
33003 time.h.
33004 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33005 without GRUB_UTIL.
33006
33007 * include/grub/normal.h (struct grub_menu_list): New struct.
33008 (grub_menu_list_t): New type.
33009 (struct grub_context): New struct.
33010 (grub_context_t): New type.
33011 (grub_register_command): Got rid of EXPORT_FUNC.
33012 (grub_unregister_command): Likewise.
33013 (grub_context_get): New prototype.
33014 (grub_context_get_current_menu): Likewise.
33015 (grub_context_push_menu): Likewise.
33016 (grub_context_pop_menu): Likewise.
33017 [GRUB_UTIL] (grub_default_init): Likewise.
33018 [GRUB_UTIL] (grub_default_fini): Likewise.
33019 [GRUB_UTIL] (grub_timeout_init): Likewise.
33020 [GRUB_UTIL] (grub_timeout_fini): Likewise.
33021
33022 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
33023 commands/timeout.c and normal/context.c.
33024 (pkgdata_MODULES): Added default.mod and timeout.mod.
33025 (normal_mod_SOURCES): Added normal/context.c.
33026 (default_mod_SOURCES): New variable.
33027 (default_mod_CFLAGS): Likewise.
33028 (timeout_mod_SOURCES): Likewise.
33029 (timeout_mod_CFLAGS): Likewise.
33030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
33031 conf/i386-pc.rmk.
33032 (pkgdata_MODULES): Added default.mod and timeout.mod.
33033 (normal_mod_SOURCES): Added normal/context.c.
33034 (default_mod_SOURCES): New variable.
33035 (default_mod_CFLAGS): Likewise.
33036 (timeout_mod_SOURCES): Likewise.
33037 (timeout_mod_CFLAGS): Likewise.
33038
33039 * Makefile.in (all-local): Added $(MKFILES).
33040
4ed2e1dd 330412005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
33042
33043 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
33044 (grub_emu_SOURCES): Likewise.
33045 (pkgdata_MODULES): Add `sun.mod'.
33046 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33047 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33048 `partmap/sun.c'.
33049 (pkgdata_MODULES): Add `sun.mod'.
33050 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33051 * include/grub/partition.h (grub_sun_partition_map_init): New
33052 prototype.
33053 (grub_sun_partition_map_fini): Likewise.
33054 * partmap/sun.c: New file.
33055 * util/grub-emu.c (main): Initialize and de-initialize the sun
33056 partitionmap support.
33057
4d4e372e 330582005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
33059
33060 This implements an Emacs-like menu entry editor.
f19dbdb7 33061
4d4e372e 33062 * normal/menu_entry.c: New file.
f19dbdb7 33063
4d4e372e 33064 * util/console.c (grub_ncurses_putchar): Translate some Unicode
33065 characters to ASCII.
33066 (saved_char): New variable.
33067 (grub_ncurses_checkkey): Rewritten completely.
33068 (grub_ncurses_getkey): Likewise.
33069 (grub_ncurses_init): Call raw instead of cbreak.
33070
33071 * normal/menu.c (print_entry): Do not put a space.
33072 (init_page): Renamed to ...
33073 (grub_menu_init_page): ... this. All callers changed.
33074 (edit_menu_entry): Removed.
33075 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
33076
33077 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
33078
33079 * kern/misc.c (grub_vprintf): Call grub_refresh.
33080
33081 * normal/menu.c (DISP_LEFT): Renamed to ...
33082 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
33083 * normal/menu.c (DISP_UP): Renamed to ...
33084 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
33085 * normal/menu.c (DISP_RIGHT): Renamed to ...
33086 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
33087 * normal/menu.c (DISP_DOWN): Renamed to ...
33088 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
33089 * normal/menu.c (DISP_HLINE): Renamed to ...
33090 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
33091 * normal/menu.c (DISP_VLINE): Renamed to ...
33092 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
33093 * normal/menu.c (DISP_UL): Renamed to ...
33094 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
33095 * normal/menu.c (DISP_UR): Renamed to ...
33096 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
33097 * normal/menu.c (DISP_LL): Renamed to ...
33098 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
33099 * normal/menu.c (DISP_LR): Renamed to ...
33100 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
33101 * normal/menu.c (TERM_WIDTH): Renamed to ...
33102 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
33103 * normal/menu.c (TERM_HEIGHT): Renamed to ...
33104 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
33105 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
33106 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
33107 * normal/menu.c (TERM_MARGIN): Renamed to ...
33108 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
33109 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
33110 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
33111 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
33112 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
33113 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
33114 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
33115 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
33116 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
33117 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
33118 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
33119 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
33120 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
33121 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
33122 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
33123 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
33124 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
33125 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
33126 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
33127 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
33128 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
33129 All callers changed.
33130
33131 * include/grub/normal.h: New prototype.
33132
33133 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33134 normal/menu_entry.c.
33135 (normal_mod_SOURCES): Likewise.
33136 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33137 (normal_mod_SOURCES): Likewise.
33138
e6b92c8a 331392005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
33140
33141 * include/grub/normal.h (grub_halt_init): New prototype.
33142 (grub_halt_fini): Likewise.
33143 (grub_reboot_init): Likewise.
33144 (grub_reboot_fini): Likewise.
33145
33146 * util/grub-emu.c: Include signal.h.
33147 (main_env): New global variable.
33148 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
33149 catch C-c.
33150 (grub_machine_fini): New function.
33151 (main): Call grub_halt_init and grub_reboot_init before
33152 grub_main, and grub_reboot_fini and grub_halt_fini after it.
33153 Call setjmp with MAIN_ENV to go back afterwards.
33154 Call grub_machine_fini right before return.
33155
33156 * include/grub/util/misc.h: Include setjmp.h.
33157 (main_env): New prototype.
33158
33159 * include/grub/kernel.h (grub_machine_fini): New prototype.
33160 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
33161 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
33162
33163 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
33164 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
33165 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 33166
e6b92c8a 33167 * util/i386/pc/misc.c: New file.
f19dbdb7 33168
e6b92c8a 33169 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33170 util/i386/pc/misc.c, commands/i386/pc/halt.c and
33171 commands/i386/pc/reboot.c.
33172
c642636f 331732005-02-14 Guillem Jover <guillem@hadrons.org>
33174
33175 * include/grub/dl.h (grub_dl_check_header): New prototype.
33176 (grub_arch_dl_check_header): Change return type to grub_err_t,
33177 remove size parameter and export function. Update all callers.
33178 * kern/dl.c (grub_dl_check_header): New function.
33179 (grub_dl_load_core): Use `grub_dl_check_header' instead of
33180 `grub_arch_dl_check_header'. Check ELF type. Check if sections
33181 are inside the core.
33182 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
33183 independent ELF header checks.
33184 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33185 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
33186 `grub_dl_check_header' instead of explicit checks. Check for the
33187 ELF type.
33188 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
33189 `grub_dl_check_header' instead of explicit checks. Remove arch
33190 specific ELF header checks.
33191
e6b92c8a 33192 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
33193 argument SIZE.
33194
5eabe94b 331952005-02-13 Hollis Blanchard <hollis@penguinppc.org>
33196
33197 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
33198 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
33199
1b14a681 332002005-02-12 Hollis Blanchard <hollis@penguinppc.org>
33201
33202 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 33203 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 33204 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 33205 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 33206 * partmap/amiga.c (amiga_partition_map_iterate): Return
33207 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
33208 * partmap/apple.c (apple_partition_map_iterate): Likewise.
33209
aca108aa 332102005-02-01 Guillem Jover <guillem@hadrons.org>
33211
33212 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
33213 help info.
33214
c9f9c556 332152005-01-31 Marco Gerards <metgerards@student.han.nl>
33216
33217 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
33218 Removed prototype.
33219 (grub_rescue_cmd_linux): New prototype.
33220 (grub_rescue_cmd_initrd): Likewise.
33221 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
33222 `bi_rec'.
33223 (grub_linux_release_mem): Release the memory for the initrd.
33224 (grub_load_linux): Renamed from this...
33225 (grub_rescue_cmd_linux): ...To this. Changed all callers.
33226 Changed `entry' not to be static. Loop over memory regions to
33227 find another one when the default fails.
33228 (grub_rescue_cmd_initrd): New function.
33229 (grub_linux_init): Remove function.
33230 (grub_linux_fini): Likewise.
33231 (GRUB_MOD_INIT): Register `initrd'.
33232 (GRUB_MOD_FINI): Unregister `initrd'.
33233 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
33234 Function removed.
33235 (grub_linux_normal_fini): Likewise.
33236 (GRUB_MOD_INIT): Register `initrd'.
33237 (GRUB_MOD_FINI): Unregister `initrd'.
33238
990cf3aa 332392005-01-31 Marco Gerards <metgerards@student.han.nl>
33240
33241 * commands/help.c: New file.
33242 * normal/arg.c (show_help): Renamed to...
33243 (grub_arg_show_help): ... this.
33244 * commands/i386/pc/halt.c: New file.
33245 * commands/i386/pc/reboot.c: Likewise.
33246 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
33247 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
33248 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
33249 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
33250 variables.
33251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33252 `commands/help.c'.
33253 (pkgdata_MODULES): Add `help.mod'.
33254 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
33255 * grub/i386/pc/init.h (grub_reboot): New prototype.
33256 (grub_halt): Likewise.
33257 * include/grub/normal.h (grub_arg_show_help): New prototype.
33258 (grub_help_init): Likewise.
33259 (grub_help_fini): Likewise.
33260 * util/grub-emu.c (main): Initialize and deinitialize the help
33261 command.
33262
33263 * normal/cmdline.c (grub_cmdline_get): Doc fix.
33264
33265 * normal/command.c (grub_command_init): Fixed the description of
33266 the `set' and `unset' commands.
33267
332682005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 33269
33270 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
33271 function.
33272 * commands/ieee1275/halt.c: New file.
33273 * commands/ieee1275/reboot.c: Likewise.
33274 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
33275 `__attribute__ ((unused))'. Some GCS related fixed.
33276 (grub_suspend_init) [GRUB_UTIL]: Function removed.
33277 (grub_suspend_fini): Likewise.
33278 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
33279 and `halt.mod'.
33280 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
33281 (halt_mod_CFLAGS): New variables.
33282 * include/grub/powerpc/ieee1275/ieee1275.h
33283 (grub_ieee1275_interpret): New prototype.
33284
1ab09cc7 332852005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
33286
33287 * include/grub/misc.h (memmove): New prototype.
33288 (memcpy): Likewise.
33289
8b8cbdb2 332902005-01-22 Hollis Blanchard <hollis@penguinppc.org>
33291
33292 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
33293 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
33294
e3741a27 332952005-01-22 Marco Gerards <metgerards@student.han.nl>
33296
33297 * kern/misc.c (grub_strndup): Function rewritten.
33298
776bd780 332992005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
33300
33301 * normal/menu.c (TERM_WIDTH): Macro redefined.
33302 (TERM_TOP_BORDER_Y): Likewise.
33303 (draw_border): Replaced while-loop by a for-loop. Make the number
33304 of lines consistent with the number of lines displayed in
33305 print_entries. Added a margin below the rectangle.
33306 (print_entry): Make the entry fit in the rectangle.
33307 (print_entries): Display the scroll arrows next to the right
33308 border.
33309
78026bce 333102005-01-21 Marco Gerards <metgerards@student.han.nl>
33311
33312 * fs/minix.c (grub_minix_find_file): Reserve more space for
33313 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
33314 `grub_strncpy' to copy `path' into it.
33315
67bbaf0f 333162005-01-21 Marco Gerards <metgerards@student.han.nl>
33317
33318 Add the loopback device, a device via which files can be accessed
33319 as devices.
f19dbdb7 33320
67bbaf0f 33321 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
33322 (pkgdata_MODULES): Add loopback.mod.
33323 (loopback_mod_SOURCES): New variable.
33324 (loopback_mod_CFLAGS): Likewise.
33325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33326 `disk/loopback.c'.
33327 (pkgdata_MODULES): Add loopback.mod.
33328 (loopback_mod_SOURCES): New variable.
33329 (loopback_mod_CFLAGS): Likewise.
33330 * disk/loopback.c: new file.
33331 * include/grub/normal.h (grub_loop_init): New prototype.
33332 (grub_loop_fini): New prototype.
33333 * util/grub-emu.c (main): Initialize and de-initialize loopback
33334 support.
33335 * include/grub/disk.h (grub_disk_dev_id): Add
33336 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
33337
6f1c18bd 333382005-01-20 Hollis Blanchard <hollis@penguinppc.org>
33339
33340 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
33341 function.
33342 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
33343 (suspend_mod_SOURCES): New variable.
33344 (suspend_mod_CFLAGS): Likewise.
33345 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
33346 New prototype.
33347 * commands/ieee1275/suspend.c: New file.
33348
b38551da 333492005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33350
33351 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 33352 ((unused))' to `__attribute__ ((used))'.
b38551da 33353 (GRUB_MOD_FINI): Likewise.
33354 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
33355 * genmk.rb (PModule): Assign space to common symbols when linking
33356 modules.
33357
777aff39 333582005-01-20 Marco Gerards <metgerards@student.han.nl>
33359
33360 * include/grub/mm.h (grub_mm_init_region): Change the type of the
33361 `unsigned' arguments to `grub_size_t'.
33362 (grub_malloc): Likewise.
33363 (grub_realloc): Likewise.
33364 (grub_memalign): Likewise.
33365 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
33366 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33367 * util/misc.c (grub_malloc): Likewise.
33368 (grub_realloc): Likewise.
33369 * kern/mm.c (get_header_from_pointer): Change the casts to
33370 `unsigned' into a cast to `grub_size_t'.
33371
33372 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
33373 point to `currnode' when `currnode' is changed.
33374
33375 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
33376 Schottelius <nico-linux@schottelius.org>.
33377
d0ff18e1 333782005-01-09 Hollis Blanchard <hollis@penguinppc.org>
33379
33380 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
33381 (note_path): Remove variable.
33382 (GRUB_IEEE1275_NOTE_NAME): New macro.
33383 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
33384 (grub_ieee1275_note_hdr): New structure.
33385 (grub_ieee1275_note_desc): Likewise.
33386 (grub_ieee1275_note): Likewise.
33387 (load_note): Remove `dir' argument. All callers updated. Remove
33388 `note_img' and `path'. Do not load a file from `note_path'.
33389 Initialize a struct grub_ieee1275_note and write that to `out'.
33390 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
33391
4ca7004c 333922005-01-05 Marco Gerards <metgerards@student.han.nl>
33393
33394 * util/misc.c (grub_util_read_image): Revert last change. It
33395 called `grub_util_read_at', which seeks from the beginning of the
33396 file.
33397
0b412211 333982005-01-04 Hollis Blanchard <hollis@penguinppc.org>
33399
33400 * TODO: Add note about endianness in grub-mkimage.
33401 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
33402 section.
33403 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
33404 (grub_mkimage_SOURCES): New target.
33405 * include/grub/kernel.h (grub_start_addr): Remove variable.
33406 (grub_end_addr): Likewise.
33407 (grub_total_module_size): Likewise.
33408 (grub_kernel_image_size): Likewise.
33409 (GRUB_MODULE_MAGIC): New constant.
33410 (grub_module_info): New structure.
33411 (grub_arch_modules_addr): New prototype.
33412 (grub_get_end_addr): Remove prototype.
33413 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
33414 * include/grub/powerpc/ieee1275/kernel.h: New file.
33415 * include/grub/util/misc.h (grub_util_get_fp_size): New
33416 prototype.
33417 (grub_util_read_at): Likewise.
33418 (grub_util_write_image_at): Likewise.
33419 * kern/main.c (grub_get_end_addr): Remove function.
33420 (grub_load_modules): Call grub_arch_modules_addr instead of using
33421 grub_end_addr. Look for a grub_module_info struct in memory. Use
33422 the grub_module_info fields instead of calling grub_get_end_addr
33423 as loop conditions. Move grub_add_unused_region code here.
33424 (grub_add_unused_region): Remove function.
33425 * kern/i386/pc/init.c: Include grub/cache.h.
33426 (grub_machine_init): Remove call to grub_get_end_addr. Remove
33427 one call to add_mem_region.
33428 (grub_arch_modules_addr): New function.
33429 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
33430 (grub_total_module_size): Likewise.
33431 Include grub/machine/kernel.h.
33432 (grub_arch_modules_addr): New function.
33433 * util/grub-emu.c (grub_end_addr): Remove variable.
33434 (grub_total_module_size): Likewise.
33435 (grub_arch_modules_addr): New function.
33436 * util/misc.c: Include unistd.h.
33437 (grub_util_get_fp_size): New function.
33438 (grub_util_read_at): Likewise.
33439 (grub_util_write_image_at): Likewise.
33440 (grub_util_read_image): Call grub_util_read_at.
33441 (grub_util_write_image): Call grub_util_write_image_at.
33442 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
33443 additional memory in kernel_img for a struct grub_module_info.
33444 Fill in that grub_module_info.
33445 * util/powerpc/ieee1275/grub-mkimage.c: New file.
33446
458786f8 334472005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33448
33449 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
33450 New function.
33451 * include/grub/powerpc/ieee1275/ieee1275.h
33452 (grub_ieee1275_milliseconds): New prototype.
33453 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
33454 Change to 1000.
33455 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
33456 grub_ieee1275_milliseconds.
33457
ac507d1b 334582005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33459
33460 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
33461 variable.
33462 (find_options): New function.
33463 (cmain): Call find_options.
33464 * include/grub/powerpc/ieee1275/ieee1275.h
33465 (grub_ieee1275_realmode): New extern variable.
33466 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
33467 grub_map if grub_ieee1275_realmode is false.
33468
6b8fd1c4 334692004-12-29 Marco Gerards <metgerards@student.han.nl>
33470
33471 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
33472 lines are inserted and make it work like readline. Reported by
33473 Vincent Pelletier <subdino2004@yahoo.fr>.
33474
8514a1e0 334752004-12-28 Marco Gerards <metgerards@student.han.nl>
33476
33477 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
33478
33479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
33480 `kern/powerpc/cache.S'.
33481
924b6140 334822004-12-27 Marco Gerards <metgerards@student.han.nl>
33483
33484 * genmk.rb: Handle the `Program' class in the main loop. Written
33485 by Johan Rydberg <jrydberg@gnu.org>.
33486 (Program): New class.
33487 (programs): New variable.
33488 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
33489 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
33490 instead of "grub/kernel.h". Include <grub/machine/init.h>.
33491 (help_arch): Function removed.
33492 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
33493 `powerpc/libgcc.h' and `loader.h'.
33494 (pkgdata_PROGRAMS): New variable.
33495 (sbin_UTILITIES): Variable removed.
33496 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
33497 (grubof_SOURCES): Variable re-defined so it only includes the
33498 core functionality.
33499 (grubof_CFLAGS): Remove `-DGRUBOF'.
33500 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
33501 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
33502 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
33503 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
33504 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
33505 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
33506 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
33507 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
33508 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
33509 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
33510 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33511 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
33512 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
33513 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
33514 (pc_mod_CFLAGS): New variables.
33515 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
33516 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
33517 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
33518 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
33519 Moved from here...
33520 * include/grub/i386/pc/init.h (grub_os_area_addr)
33521 (rub_os_area_size): ... to here.
33522 * include/grub/powerpc/ieee1275/ieee1275.h
33523 (grub_ieee1275_entry_fn): Export symbol.
33524 * include/grub/powerpc/ieee1275/init.h: New file.
33525 * include/grub/powerpc/libgcc.h: Likewise.
33526 * include/grub/cache.h: Likewise.
33527 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
33528 <hollis@penguinppc.org>.
33529 * kern/dl.c: Include <grub/cache.h>.
33530 (grub_dl_flush_cache): New function.
33531 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
33532 for this module.
33533 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
33534 (grub_console_init): Removed prototypes.
33535 (grub_machine_init): Don't initialize the modules anymore.
33536 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
33537 static.
33538 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
33539 Macro undef removed.
33540 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
33541 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
33542 relocation `R_PPC_REL32'. Return an error when the relocation is
33543 unknown.
33544 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
33545 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
33546 * util/misc.c (grub_arch_sync_caches): Likewise.
33547
e4b47e0c 335482004-12-19 Marco Gerards <metgerards@student.han.nl>
33549
33550 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
33551 `symlist.c', add `grubof_symlist.c'.
33552 (symlist.c): Variable removed.
33553 (grubof_HEADERS): Variable added.
33554 (grubof_symlist.c): New target.
33555 (kernel_syms.lst): Use `grubof_HEADERS' instead of
33556 `kernel_img_HEADERS'.
33557 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
33558 * kern/powerpc/dl.c: New file.
33559 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
33560 Function removed.
33561 (grub_arch_dl_relocate_symbols): Likewise.
33562 (grub_register_exported_symbols): Likewise.
33563
4ceb3636 335642004-12-13 Marco Gerards <metgerards@student.han.nl>
33565
33566 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
33567 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
33568 to fail instead. Reported by Vincent Pelletier
33569 <subdino2004@yahoo.fr>.
33570
33571 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
33572 it is not allocated. Reported by Vincent Pelletier
33573 <subdino2004@yahoo.fr>.
33574
33575 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
33576 output so the output looks better.
f19dbdb7 33577
3f1578fe 335782004-12-04 Marco Gerards <metgerards@student.han.nl>
33579
33580 Modulize the partition map support and add support for the amiga
33581 partition map.
f19dbdb7 33582
3f1578fe 33583 * commands/ls.c: Include <grub/partition.h> instead of
33584 <grub/machine/partition.h>.
33585 * kern/disk.c: Likewise.
33586 * kern/rescue.c: Likewise.
33587 * loader/i386/pc/chainloader.c: Likewise.
33588 * normal/cmdline.c: Likewise.
33589 * kern/powerpc/ieee1275/init.c: Likewise.
33590 (grub_machine_init): Call `grub_pc_partition_map_init',
33591 `grub_amiga_partition_map_init' and
33592 `grub_apple_partition_map_init'.
33593 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
33594 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
33595 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
33596 `partition.h' and `pc_partition.h'.
33597 (grub_setup_SOURCES): Remove
33598 `disk/i386/pc/partition.c'. Add `kern/partition.c',
33599 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33600 (grub_emu_SOURCES): Likewise.
33601 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
33602 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
33603 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
33604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33605 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
33606 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33607 (grubof_SOURCES): Likewise.
33608 * disk/i386/pc/partition.c: File removed.
33609 * disk/powerpc/ieee1275/partition.c: Likewise.
33610 * include/grub/powerpc/ieee1275/partition.h: Likewise.
33611 * include/grub/i386/pc/partition.h: Likewise.
33612 * kern/partition.c: New file.
33613 * partmap/amiga.c: Likewise.
33614 * partmap/apple.c: Likewise.
33615 * partmap/pc.c: Likewise.
33616 * include/grub/partition.h: Likewise..
33617 * include/grub/pc_partition.h: Likewise.
33618 * util/grub-emu.c: Include <grub/partition.h> instead of
33619 <grub/machine/partition.h>.
33620 (main): Call `grub_pc_partition_map_init',
33621 `grub_amiga_partition_map_init' and
33622 `grub_apple_partition_map_init' and deinitialize afterwards.
33623 * util/i386/pc/biosdisk.c: Include `#include
33624 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33625 `<grub/machine/partition.h>'.
33626 * util/i386/pc/grub-setup.c: Likewise.
33627 * util/i386/pc/biosdisk.c: Likewise.
33628 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
33629 partition information in case of a PC partition.
33630 * util/i386/pc/grub-setup.c: Include `#include
33631 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33632 `<grub/machine/partition.h>'.
33633 (setup): Only access the PC specific partition information in case
33634 of a PC partition.
33635
0ef4ced9 336362004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 33637
0ef4ced9 33638 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
33639 (grub_longjmp): Likewise.
33640 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
33641 20.
33642 * normal/powerpc/setjmp.S: New file.
33643 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33644 `normal/powerpc/setjmp.S'.
33645 (grubof_CFLAGS): Add `-DGRUBOF'.
33646 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
33647 [GRUB_UTIL && !GRUBOF].
f19dbdb7 33648
19950e29 336492004-11-16 Marco Gerards <metgerards@student.han.nl>
33650
33651 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
33652 property named `name'. Correctly handle the error returned by
33653 `grub_ieee1275_finddevice' if a device can not be opened.
33654
a2fea427 336552004-11-02 Hollis Blanchard <hollis@penguinppc.org>
33656
33657 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
33658 `actual' for negativity.
33659 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33660 kern/fshelp.c.
33661
41ea0ea3 336622004-11-01 Marco Gerards <metgerards@student.han.nl>
33663
33664 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
33665 (PAGE_OFFSET): New macro.
33666 (CRTC_ADDR_PORT): Likewise.
33667 (CRTC_DATA_PORT): Likewise.
33668 (START_ADDR_HIGH_REGISTER): Likewise.
33669 (START_ADDR_LOW_REGISTER): Likewise.
33670 (GRAPHICS_ADDR_PORT): Likewise.
33671 (GRAPHICS_DATA_PORT): Likewise.
33672 (READ_MAP_REGISTER): Likewise.
33673 (INPUT_STATUS1_REGISTER): Likewise.
33674 (INPUT_STATUS1_VERTR_BIT): Likewise.
33675 (page): New variable.
33676 (wait_vretrace): New function.
33677 (set_read_map): Likewise.
33678 (set_start_address): Likewise.
33679 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
33680 the right page.
33681 (check_vga_mem): Take the page into account.
33682 (write_char): Likewise.
33683 (write_cursor): Likewise.
33684 (scroll_up): Likewise. Copy the page to the page that is not
33685 shown and switch between both pages.
33686 (grub_vga_putchar): Fix off by one error.
33687 (grub_vga_cls): Wait for the vertical retrace. Take the page into
33688 account.
33689
ad0bd20b 336902004-11-01 Marco Gerards <metgerards@student.han.nl>
33691
33692 Add support for iso9660 (including rockridge).
f19dbdb7 33693
ad0bd20b 33694 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33695 (iso9660_mod_SOURCES): New variable.
33696 (iso9660_mod_CFLAGS): Likewise.
33697 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33698 * include/grub/fs.h (grub_iso9660_init): New prototype.
33699 * util/grub-emu.c (main): Call `grub_iso9660_init'.
33700 * fs/iso9660.c: New file.
33701
33702 * include/grub/misc.h (grub_strncat): New prototype.
33703 * kern/misc.c (grub_strncat): New function.
f19dbdb7 33704
ad0bd20b 33705 * fs/hfs.c (grub_hfs_mount): Translate the error
33706 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
33707 * fs/jfs.c (grub_jfs_mount): Likewise.
33708 * fs/ufs.c (grub_ufs_mount): Likewise.
33709
a5477a59 337102004-10-28 Hollis Blanchard <hollis@penguinppc.org>
33711
33712 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
33713 which initialized BAT registers.
33714 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
33715 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33716 Move from here...
33717 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
33718 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33719 ... to here.
33720 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
33721 (grub_mapclaim): Likewise.
33722 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
33723 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
33724 hand.
33725
9304c1f8 337262004-10-19 Hollis Blanchard <hollis@penguinppc.org>
33727
33728 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
33729 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
33730 -ffreestanding and -msoft-float.
33731
86f4ae25 337322004-10-15 Hollis Blanchard <hollis@penguinppc.org>
33733
33734 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
33735 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
33736 set in grub_ieee1275_flags.
33737
38912228 337382004-10-14 Hollis Blanchard <hollis@penguinppc.org>
33739
33740 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
33741 prototype.
33742 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
33743 grub_console_init first.
33744 Change the memory range used for grub_ieee1275_claim and
33745 grub_mm_init_region.
33746 Print an error message if the claim fails.
33747 Include <grub/misc.h>.
33748
d1923dc8 337492004-10-13 Hollis Blanchard <hollis@penguinppc.org>
33750
33751 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
33752 Call grub_children_iterate for device nodes of type `scsi',
33753 `ide', or `ata'.
33754 (grub_ofdisk_open): Remove manual device alias resolution.
33755 Fix memory leak when device cannot be opened.
f19dbdb7 33756 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 33757 (grub_children_iterate): New prototype.
33758 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
33759 New function.
33760 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33761 Return -1 if args.size was -1.
33762
4512e4f3 337632004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33764
33765 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
33766 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
33767 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
33768 Open Firmware's memory for it; claim memory from _start to _end.
33769 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
33770 (_end): New extern.
33771 (_start): Zero BSS from __bss_start to _end.
33772 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33773 New extern.
33774 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
33775
4d61feb0 337762004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33777
ad0bd20b 33778 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
33779 -1 if args.base was -1.
4d61feb0 33780
026fa2f9 337812004-10-08 Hollis Blanchard <hollis@penguinppc.org>
33782
33783 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
33784 escape sequence instead of a literal ^L. Also call
33785 grub_ofconsole_gotoxy.
33786
9f2220ef 337872004-10-03 Hollis Blanchard <hollis@penguinppc.org>
33788
33789 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
33790 void * arguments to grub_addr_t. All callers updated. Also make
33791 the `result' argument optional.
33792 (grub_ieee1275_release): change void * arguments to grub_addr_t.
33793 All callers updated.
33794
8a572cd7 337952004-09-22 Hollis Blanchard <hollis@penguinppc.org>
33796
33797 * commands/ls.c (grub_ls_list_files): Use the string following the
33798 initial ')', if present, as the filesystem path.
33799 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
33800
33801 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
33802
18aa81f2 338032004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
33804
33805 Make the source code of the menu interface more readable.
f19dbdb7 33806
18aa81f2 33807 * normal/menu.c: Include grub/mm.h.
33808 (TERM_WIDTH): New macro.
33809 (TERM_HEIGHT): Likewise.
33810 (TERM_INFO_HEIGHT): Likewise.
33811 (TERM_MARGIN): Likewise.
33812 (TERM_SCROLL_WIDTH): Likewise.
33813 (TERM_TOP_BORDER_Y): Likewise.
33814 (TERM_LEFT_BORDER_X): Likewise.
33815 (TERM_BORDER_WIDTH): Likewise.
33816 (TERM_MESSAGE_HEIGHT): Likewise.
33817 (TERM_BORDER_HEIGHT): Likewise.
33818 (TERM_NUM_ENTRIES): Likewise.
33819 (TERM_FIRST_ENTRY_Y): Likewise.
33820 (TERM_ENTRY_WIDTH): Likewise.
33821 (TERM_CURSOR_X): Likewise.
33822 (draw_border): Use macros instead of magic numbers.
33823 (print_entry): Likewise.
33824 (print_entries): Likewise.
33825 (run_menu): Likewise. Also, handle the key 'e'.
33826 (run_menu_entry): Ignore empty command lines.
33827 (print_message): Added a new argument EDIT. If EDIT is true,
33828 print a different message.
33829 (init_page): Likewise.
33830 (edit_menu_entry): New function. Not implemented yet.
33831
b47efe30 338322004-09-17 Marco Gerards <metgerards@student.han.nl>
33833
33834 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
33835 can be loaded from normal mode.
f19dbdb7 33836
b47efe30 33837 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
33838 `multiboot.mod'.
33839 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
33840 (multiboot_mod_CFLAGS): New variables.
33841 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 33842 * loader/i386/pc/multiboot_normal.c: Likewise.
33843
b47efe30 33844 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
33845 attribute `unused'.
f19dbdb7 33846
b47efe30 33847 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
33848 `fdiro' to read the mode information from instead of `diro'.
33849
33850 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
33851 looking up a symlink.
33852
33853 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
33854 macro.
33855 * normal/command.c (grub_command_execute): Don't parse the
33856 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
33857 flags of the command.
33858
33859 * normal/menu.c (grub_menu_run): Fix typo.
33860
da75ac71 338612004-09-14 Hollis Blanchard <hollis@penguinppc.org>
33862
33863 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
33864
33865 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
33866 `y + 1' instead of `y - 1'.
33867
33868 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 33869
062b24c2 338702004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
33871
33872 From Hollis Blanchard <hollis@penguinppc.org>:
33873 * kern/misc.c (memmove): New alias for grub_memmove.
33874 (memcmp): New alias for grub_memcmp.
33875 (memset): New alias for grub_memset.
f19dbdb7 33876 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 33877 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 33878 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 33879 (grub_ieee1275_get_property): Likewise.
f19dbdb7 33880
8ddad845 338812004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
33882
33883 Added normal mode command `chainloader' as module chain.mod, which
33884 depends on normal.mod and _chain.mod.
f19dbdb7 33885
8ddad845 33886 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
33887 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
33888 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
33889 Deleted prototype.
33890 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
33891 but arguments parsing moved to ...
33892 (grub_chainloader_cmd): ... here. New function.
33893 * include/grub/i386/pc/chainloader.h: New file.
33894 * loader/i386/pc/chainloader_normal.c: Likewise.
33895
2c1f4ce3 338962004-09-11 Marco Gerards <metgerards@student.han.nl>
33897
33898 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
33899 (grub_mkimage_LDFLAGS): Likewise.
33900 (grub_emu_SOURCES): Likewise.
33901 (kernel_img_HEADERS): Added fshelp.h.
33902 * fs/ext2.c: Include <grub/fshelp.h>.
33903 (FILETYPE_REG): New macro.
33904 (FILETYPE_INO_REG): Likewise.
33905 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
33906 Changed all users.
33907 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
33908 all users.
33909 (grub_fshelp_node): New struct.
33910 (grub_ext2_data): Added member `diropen'. Changed member `inode'
33911 to a pointer.
33912 (grub_ext2_get_file_block): Removed function.
33913 (grub_ext2_read_block): New function.
33914 (grub_ext2_read_file): Replaced parameter `data' by `node'.
33915 This function was written.
33916 (grub_ext2_mount): Read the root inode. Create a diropen struct.
33917 (grub_ext2_find_file): Removed function.
33918 (grub_ext2_read_symlink): New function.
33919 (grub_ext2_iterate_dir): Likewise.
33920 (grub_ext2_open): Rewritten.
33921 (grub_ext2_dir): Rewritten.
33922 * include/grub/fshelp.h: New file.
33923 * fs/fshelp.c: Likewise.
33924
3c52136a 339252004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
33926
33927 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
33928 (print_message): Add a missing newline.
33929 (run_menu): Added timeout support.
33930 (run_menu_entry): New local function.
33931 (grub_menu_run): Added support for booting.
33932
33933 * kern/loader.c (grub_loader_is_loaded): New function.
33934
33935 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
33936 (grub_get_rtc): Exported.
33937
33938 * include/grub/i386/pc/time.h: Include grub/symbol.h.
33939 (grub_get_rtc): Exported.
33940
33941 * include/grub/normal.h (struct grub_command_list): Remove
33942 constant from the member `command'.
33943
33944 * include/grub/loader.h (grub_loader_is_loaded): Declared.
33945
33946 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
33947
33948 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
33949
aa033560 339502004-08-28 Marco Gerards <metgerards@student.han.nl>
33951
33952 Add support for the JFS filesystem.
33953
33954 * fs/jfs.c: New file.
33955 * include/grub/fs.h (grub_jfs_init): New prototype.
33956 (grub_jfs_fini): New prototype.
33957 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
33958 (grub_emu_SOURCES): Likewise.
33959 (pkgdata_MODULES): Add jfs.mod.
33960 (jfs_mod_SOURCES): New variable.
33961 (jfs_mod_CFLAGS): Likewise.
33962 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
33963 (grubof_SOURCES): Likewise.
33964 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
33965
33966 * fs/fat.c (grub_fat_find_dir): Convert the filename little
33967 endian to the host endian.
33968 (grub_fat_utf16_to_utf8): Move function from there...
33969 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 33970 the endianness of the source string anymore.
aa033560 33971 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
33972
94bc45af 339732004-08-24 Marco Gerards <metgerards@student.han.nl>
33974
33975 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
33976 (grub_boot_fini) [GRUB_UTIL]: Likewise.
33977 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
33978 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 33979
94bc45af 33980 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
33981 (grub_hfs_iterate_dir): Make the function static. Add prototypes
33982 for `node_found' and `it_dir'.
33983 (grub_hfs_dir): Add prototype for `dir_hook'.
33984
33985 * fs/minix.c (grub_minix_get_file_block): Add prototype for
33986 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
33987 and `indir32' to silence a gcc warning.
33988
33989 * include/grub/fs.h (grub_hfs_init): New prototype.
33990 (grub_hfs_fini): Likewise.
f19dbdb7 33991
33992
97543f08 339932004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
33994
33995 Each disk device has its own id now. This is useful to make use
33996 of multiple disk devices.
f19dbdb7 33997
97543f08 33998 * include/grub/disk.h (grub_disk_dev_id): New enum.
33999 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
34000 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
34001
34002 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
34003 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34004
34005 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
34006 GRUB_DISK_DEVICE_OFDISK_ID as an id.
34007
34008 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
34009 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34010
34011 * include/grub/disk.h (struct grub_disk_dev): Added a new member
34012 "id" which is used by the cache manager.
34013
34014 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
34015 of just "GRUB".
34016
64372eb4 340172004-08-18 Marco Gerards <metgerards@student.han.nl>
34018
34019 * fs/hfs.c: New file.
34020 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
34021 (grub_emu_SOURCES): Likewise.
34022 (pkgdata_MODULES): Add hfs.mod.
34023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
34024 (grubof_SOURCES): Likewise.
34025 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
34026
34027 * include/grub/misc.h (grub_strncasecmp): Add prototype.
34028 * kern/misc.c (grub_strncasecmp): Add function.
34029
cc61b58f 340302004-08-14 Marco Gerards <metgerards@student.han.nl>
34031
34032 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
34033 with parentheses.
34034
34035 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
34036 (grub_ext2_dir): In case the directory entry type is unknown, read
34037 it from the inode.
34038
0ef123f6 340392004-08-02 Peter Bruin <pjbruin@dds.nl>
34040
34041 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
34042 grub_load_linux instead of grub_rescue_cmd_linux as second
34043 argument of grub_rescue_register_command.
34044
34045 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
34046
a447c5df 340472004-07-27 Marco Gerards <metgerards@student.han.nl>
34048
34049 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
34050 function.
34051 * commands/boot.c: Remove the check for `GRUB_UTIL'.
34052 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
34053 `loader/powerpc/ieee1275/linux.c',
34054 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
34055 * include/grub/powerpc/ieee1275/ieee1275.h
34056 (grub_ieee1275_release): New prototype.
34057 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
34058 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
34059 normal, boot, linux and linux_normal.
34060 * loader/powerpc/ieee1275/linux.c: New file.
34061 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34062
5a9e3546 340632004-07-12 Marco Gerards <metgerards@student.han.nl>
34064
34065 * normal/arg.c (grub_arg_parse): Correct error handling after
34066 reallocating the argumentlist (check if `argl' is not null instead
34067 of checking if `args' is not null).
34068 * kern/mm.c (grub_realloc): Return the same pointer when using the
34069 same region, instead of returning the header address.
34070
e15199cb 340712004-07-11 Marco Gerards <metgerards@student.han.nl>
34072
34073 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
34074 one block instead of two when looking for the initial partition.
34075 (grub_partition_probe): Initialize the local variable `p' with 0.
34076 Use base 10 for the grub_strtoul call.
34077 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
34078 need for one local variable.
34079 (grub_strtoul): Don't add the new value to `num', instead of that
34080 just assign it.
34081
020616c2 340822004-07-11 Marco Gerards <metgerards@student.han.nl>
34083
34084 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
34085 (pxeboot_img_SOURCES): New variable.
34086 (pxeboot_img_ASFLAGS): Likewise.
34087 (pxeboot_img_LDFLAGS): Likewise.
34088 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
34089 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
34090 <lode_leroy@hotmail.com>.
34091
6c51eb64 340922004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34093
34094 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
34095 there was no input.
34096
cfb12aff 340972004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34098
34099 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
34100 the history buffer logic.
34101
6eabba74 341022004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34103
34104 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
34105 (FILETYPE_INO_SYMLINK): New macros.
34106 (grub_ext2_find_file): Check if the node is a directory using the
34107 inode stat information instead of using the filetype in the
34108 dirent. Exclude the first character of an absolute symlink.
34109 (grub_ext2_dir): Mask out the filetype part of the mode member of
34110 the inode.
34111
66e19ef8 341122004-05-24 Marco Gerards <metgerards@student.han.nl>
34113
34114 Add support for UFS version 1 and 2. Add support for the minix
34115 filesystem version 1 and 2, both the variants with 14 and 30 long
34116 filenames.
f19dbdb7 34117
66e19ef8 34118 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
34119 fs/minix.c.
34120 (grub_emu_SOURCES): Likewise.
34121 (pkgdata_MODULES): Add ufs.mod and minix.mod.
34122 (ufs_mod_SOURCES): New variable.
34123 (ufs_mod_CFLAGS): Likewise.
34124 (minix_mod_SOURCES): Likewise.
34125 (minix_mod_CFLAGS): Likewise.
34126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
34127 fs/minix.c.
34128 (grubof_SOURCES): Likewise.
34129 * fs/ufs.c: New file.
34130 * fs/minix.c: New file.
34131 * include/grub/fs.h (grub_ufs_init): New prototype.
34132 (grub_ufs_fini): Likewise.
34133 (grub_minix_init): Likewise.
34134 (grub_minix_fini): Likewise.
34135 * util/grub-emu.c (main): Initialize and deinitialize UFS and
34136 minix fs.
34137
cc2e748a 341382004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
34139
34140 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
34141 commands/ls.c, commands/terminal.c, commands/boot.c,
34142 commands/cmp.c and commands/cat.c.
34143 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
34144
34145 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
34146 "env.h"
34147
4b13b216 341482004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34149
34150 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
34151 and grub_, respectively. Because the conversion is trivial and
34152 mechanical, I omit the details here. Please refer to the CVS
34153 if you need more information.
34154
6a142551 341552004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34156
34157 * include/pupa: Renamed to ...
34158 * include/grub: ... this.
34159 * util/i386/pc/pupa-mkimage.c: Renamed to ...
34160 * util/i386/pc/grub-mkimage.c: ... this.
34161 * util/i386/pc/pupa-setup.c: Renamed to ...
34162 * util/i386/pc/grub-setup.c: ... this.
34163 * util/pupa-emu.c: Renamed to ...
34164 * util/grub-emu.c: ... this.
34165
e56cdf21 341662004-03-29 Marco Gerards <metgerards@student.han.nl>
34167
34168 Add support for the newworld apple macintosh (PPC). This has been
34169 tested on the powerbook 2000 only. It only adds support for
34170 generic ieee1275 functions, console and disk support. This should
34171 be easy to port to other architectures with support for Open
34172 Firmware.
f19dbdb7 34173
e56cdf21 34174 * configure.ac: Accept the powerpc as host_cpu. In the case of
34175 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
34176 specific tests are only executed while building for the i386.
34177 Inverse test for crosscompile.
34178 * genmk.rb (Utility): Allow assembler files.
34179 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
34180 * conf/powerpc-ieee1275.rmk: New file.
34181 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
34182 * disk/powerpc/ieee1275/partition.c: Likewise.
34183 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
34184 * include/pupa/powerpc/ieee1275/console.h: Likewise.
34185 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
34186 * include/pupa/powerpc/ieee1275/time.h: Likewise.
34187 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
34188 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
34189 * include/pupa/powerpc/ieee1275/loader.h
34190 * include/pupa/powerpc/setjmp.h: Likewise.
34191 * include/pupa/powerpc/types.h: Likewise.
34192 * kern/powerpc/ieee1275/init.c: Likewise.
34193 * kern/powerpc/ieee1275/openfw.c: Likewise.
34194 * term/powerpc/ieee1275/ofconsole.c: Likewise.
34195
34196 These files were written by Johan Rydberg
34197 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 34198
e56cdf21 34199 * boot/powerpc/ieee1275/cmain.c: New file.
34200 * boot/powerpc/ieee1275/crt0.S: Likewise.
34201 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
34202 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
34203
8c8cc205 342042004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
34205
34206 * Makefile.in: Update copyright.
34207 * genmodsrc.sh: Likewise.
34208 * gensymlist.sh: Likewise.
34209 * term/i386/pc/vga.c: Indent correctly.
34210
34211 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
34212 bugreporting address.
34213 * util/i386/pc/pupa-setup.c (usage): Likewise,
34214 (main): Call pupa_ext2_init and pupa_ext2_fini.
34215
f19dbdb7 34216 * fs/fat.c (log2): Renamed to ...
8c8cc205 34217 (fat_log2): ... this.
34218 All callers changed.
34219 * kern/misc.c (memcpy): Alias to pupa_memmove.
34220 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
34221 lvalue cast.
34222 * util/console.c (pupa_ncurses_fini): Return 0.
34223
34224 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
34225 Move fail label here.
34226 [__GNU__]: Don't warn when using stat.
34227 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
34228 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
34229 long int. Use strtol instead of strtoul.
f19dbdb7 34230
db1771cf 342312004-03-14 Marco Gerards <metgerards@student.han.nl>
34232
34233 * commands/boot.c: New file.
34234 * commands/cat.c: Likewise.
34235 * commands/cmp.c: Likewise.
34236 * commands/ls.c: Likewise.
34237 * commands/terminal.c: Likewise.
34238 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
34239 (pupa_register_command): Changed interface to match the new
34240 argument parser.
34241 (pupa_command_execute): Changed (almost rewritten) so it uses
34242 pupa_split_command. Added support for setting variables using the
34243 syntax `foo=bar'.
34244 (rescue_command): Changed to work with the new argument parser.
34245 (terminal_command): Moved from here to commands/terminal.c.
34246 (set_command): New function.
34247 (unset_command): New function.
34248 (insmod_command): New function.
34249 (rmmod_command): New function.
34250 (lsmod_command): New function.
34251 (pupa_command_init): Don't initialize the command terminal
34252 anymore. Initialize the commands set, unset, insmod, rmmod and
34253 lsmod.
34254 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
34255 (kernel_img_HEADERS): Add arg.h and env.h.
34256 (pupa_mkimage_LDFLAGS): Add kern/env.c.
34257 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
34258 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
34259 normal/arg.c.
34260 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
34261 terminal.mod.
34262 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
34263 (boot_mod_SOURCES): New variable.
34264 (terminal_mod_SOURCES): Likewise.
34265 (ls_mod_SOURCES): Likewise.
34266 (cmp_mod_SOURCES): Likewise.
34267 (cat_mod_SOURCES): Likewise.
34268
34269 * normal/arg.c: New file.
34270 * kern/env.c: Likewise.
34271 * include/pupa/arg.h: Likewise.
34272 * include/pupa/env.h: Likewise.
34273 * font/manager.c (font_command): Changed to match argument parsing
34274 interface changes.
34275 (PUPA_MOD_INIT): Likewise.
34276 * hello/hello.c (pupa_cmd_hello): Likewise.
34277 (PUPA_MOD_INIT): Likewise.
34278 * include/pupa/disk.h: Include <pupa/device.h>.
34279 (pupa_print_partinfo): New prototype.
34280 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
34281 (pupa_dl_get_prefix): Likewise.
34282 * include/pupa/misc.h: Include <pupa/err.h>.
34283 (pupa_isgraph): New prototype.
34284 (pupa_isdigit): Likewise.
34285 (pupa_split_cmdline): Likewise.
34286 * include/pupa/normal.h: Include <pupa/arg.h>.
34287 (pupa_command): Changed the prototype of the member `func' to
34288 match the argument parsing interface. Added member `options'.
34289 (pupa_register_command): Updated to match function.
34290 (pupa_arg_parse): New prototype.
34291 (pupa_hello_init) [PUPA_UTIL]: New prototype.
34292 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
34293 (pupa_ls_init) [PUPA_UTIL]: Likewise.
34294 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
34295 (pupa_cat_init) [PUPA_UTIL]: Likewise.
34296 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
34297 (pupa_boot_init) [PUPA_UTIL]: Likewise.
34298 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
34299 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
34300 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
34301 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
34302 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
34303 * kern/disk.c: Include <pupa/file.h>.
34304 (pupa_print_partinfo): New function.
34305 * kern/dl.c: Include <pupa/env.h>.
34306 (pupa_dl_dir): Variable removed.
34307 (pupa_dl_load): Use the environment variable `prefix' instead of
34308 the variable pupa_dl_dir.
34309 (pupa_dl_set_prefix): Function removed.
34310 (pupa_dl_get_prefix): Likewise.
34311 * kern/i386/pc/init.c: Include <pupa/env.h>.
34312 (pupa_machine_init): Use the environment variable `prefix' instead of
34313 using pupa_dl_set_prefix to set the prefix.
34314 * kern/main.c: Include <pupa/env.h>.
34315 (pupa_set_root_dev): Use the environment variable `prefix' instead of
34316 using pupa_dl_get_prefix to get the prefix.
34317 * kern/misc.c: Include <pupa/env.h>.
34318 (pupa_isdigit): New function.
34319 (pupa_isgraph): Likewise.
34320 (pupa_ftoa): Likewise.
34321 (pupa_vsprintf): Added support for printing values of the type
34322 `double'. Make it possible to format variable output when using
34323 formatting like `%1.2%f'.
34324 (pupa_split_cmdline): New function.
34325 * kern/rescue.c: Include <pupa/env.h>.
34326 (next_word): Removed function.
34327 (pupa_rescue_cmd_prefix): Likewise.
34328 (pupa_rescue_cmd_set): New function.
34329 (pupa_rescue_cmd_unset): New function.
34330 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
34331 split the command line instead of splitting it here. Added
34332 support for setting variables using the syntax `foo=bar'. Don't
34333 initialize the prefix command anymore. Initialized the set and
34334 unset commands.
34335 * normal/cmdline.c: Include <pupa/env.h>.
34336 (pupa_tab_complete): Added prototypes for print_simple_completion,
34337 print_partition_completion, add_completion, iterate_commands,
34338 iterate_dev, iterate_part and iterate_dir. Moved code to print
34339 partition information from here to kern/disk.c.
fe6b695a 34340 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 34341 * normal/main.c: Include <pupa/env.h>.
34342 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
34343 instead of using pupa_dl_get_prefix to get the prefix.
34344 * term/i386/pc/vga.c: Include <pupa/arg.h>.
34345 (check_vga_mem): Cast pointers to `void *' to silence a gcc
34346 warning.
34347 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
34348 (pupa_vga_setcolor): Declare unused variables with `__attribute__
34349 ((unused))' to silence a gcc warning.
34350 (pupa_vga_setcolor): Likewise.
34351 (debug_command): Changed to match argument parsing
34352 interface changes.
34353 * util/pupa-emu.c: Include <pupa/env.h>.
34354 (options): Added 0's for unused fields to silence a gcc warning.
34355 (argp): Likewise.
34356 (main): Use the environment variable `prefix' instead of using
34357 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
34358 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
34359 and terminal.
34360
34361 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
34362 * util/misc.c: Include <malloc.h>.
34363 (pupa_malloc): Rewritten so errors are correctly reported.
34364 (pupa_realloc): Likewise.
34365 (pupa_memalign): Likewise.
34366 (pupa_mm_init_region): Declare unused variables with
34367 `__attribute__ ((unused))' to silence a gcc warning.
34368 * normal/i386/setjmp.S: Remove tab at the end of the file to
34369 silence a gcc warning.
34370 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
34371 variables with `__attribute__ ((unused))' to silence a gcc
34372 warning.
34373 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
34374 local variable i unsigned to silence a gcc warning.
34375
34376 * kern/term.c: Include <pupa/misc.h>.
34377 (pupa_more_lines): New variable.
34378 (pupa_more): Likewise.
34379 (pupa_putcode): When the pager is active pause at the end of every
34380 screen.
34381 (pupa_set_more): New function.
34382 * include/pupa/term.h (pupa_set_more): New prototype.
34383
34384
3b1139cb 343852004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
34386
34387 Now this project is GRUB 2 rather than PUPA. The location of
34388 the CVS repository was moved to GRUB's.
f19dbdb7 34389
3b1139cb 34390 * configure.ac: Use bug-grub as the reporting address.
34391 Use GRUB instead of PUPA.
34392 Change the version number to 1.90.
34393
8367695c 343942004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
34395
34396 * genkernsyms.sh: Updated copyright information.
34397 * genmk.rb: Likewise.
34398 * genmodsrc.sh: Likewise.
34399 * gensymlist.sh: Likewise.
34400 * boot/i386/pc/boot.S: Likewise.
34401 * boot/i386/pc/diskboot.S: Likewise.
34402 * disk/i386/pc/biosdisk.c: Likewise.
34403 * disk/i386/pc/partition.c: Likewise.
34404 * font/manager.c: Likewise.
34405 * fs/ext2.c: Likewise.
34406 * fs/fat.c: Likewise.
34407 * include/pupa/boot.h: Likewise.
34408 * include/pupa/device.h: Likewise.
34409 * include/pupa/disk.h: Likewise.
34410 * include/pupa/dl.h: Likewise.
34411 * include/pupa/elf.h: Likewise.
34412 * include/pupa/err.h: Likewise.
34413 * include/pupa/file.h: Likewise.
34414 * include/pupa/font.h: Likewise.
34415 * include/pupa/fs.h: Likewise.
34416 * include/pupa/kernel.h: Likewise.
34417 * include/pupa/loader.h: Likewise.
34418 * include/pupa/misc.h: Likewise.
34419 * include/pupa/mm.h: Likewise.
34420 * include/pupa/net.h: Likewise.
34421 * include/pupa/normal.h: Likewise.
34422 * include/pupa/rescue.h: Likewise.
34423 * include/pupa/setjmp.h: Likewise.
34424 * include/pupa/symbol.h: Likewise.
34425 * include/pupa/term.h: Likewise.
34426 * include/pupa/types.h: Likewise.
34427 * include/pupa/i386/setjmp.h: Likewise.
34428 * include/pupa/i386/types.h: Likewise.
34429 * include/pupa/i386/pc/biosdisk.h: Likewise.
34430 * include/pupa/i386/pc/boot.h: Likewise.
34431 * include/pupa/i386/pc/console.h: Likewise.
34432 * include/pupa/i386/pc/init.h: Likewise.
34433 * include/pupa/i386/pc/kernel.h: Likewise.
34434 * include/pupa/i386/pc/linux.h: Likewise.
34435 * include/pupa/i386/pc/loader.h: Likewise.
34436 * include/pupa/i386/pc/memory.h: Likewise.
34437 * include/pupa/i386/pc/multiboot.h: Likewise.
34438 * include/pupa/i386/pc/partition.h: Likewise.
34439 * include/pupa/i386/pc/time.h: Likewise.
34440 * include/pupa/i386/pc/vga.h: Likewise.
34441 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
34442 * include/pupa/util/getroot.h: Likewise.
34443 * include/pupa/util/misc.h: Likewise.
34444 * include/pupa/util/resolve.h: Likewise.
34445 * kern/device.c: Likewise.
34446 * kern/disk.c: Likewise.
34447 * kern/dl.c: Likewise.
34448 * kern/err.c: Likewise.
34449 * kern/file.c: Likewise.
34450 * kern/fs.c: Likewise.
34451 * kern/loader.c: Likewise.
34452 * kern/main.c: Likewise.
34453 * kern/misc.c: Likewise.
34454 * kern/mm.c: Likewise.
34455 * kern/rescue.c: Likewise.
34456 * kern/term.c: Likewise.
34457 * kern/i386/dl.c: Likewise.
34458 * kern/i386/pc/init.c: Likewise.
34459 * kern/i386/pc/lzo1x.S: Likewise.
34460 * kern/i386/pc/startup.S: Likewise.
34461 * loader/i386/pc/chainloader.c: Likewise.
34462 * loader/i386/pc/linux.c: Likewise.
34463 * loader/i386/pc/multiboot.c: Likewise.
34464 * normal/cmdline.c: Likewise.
34465 * normal/command.c: Likewise.
34466 * normal/main.c: Likewise.
34467 * normal/menu.c: Likewise.
34468 * normal/i386/setjmp.S: Likewise.
34469 * term/i386/pc/console.c: Likewise.
34470 * term/i386/pc/vga.c: Likewise.
34471 * util/console.c: Likewise.
34472 * util/genmoddep.c: Likewise.
34473 * util/misc.c: Likewise.
34474 * util/pupa-emu.c: Likewise.
34475 * util/resolve.c: Likewise.
34476 * util/unifont2pff.rb: Likewise.
34477 * util/i386/pc/biosdisk.c: Likewise.
34478 * util/i386/pc/getroot.c: Likewise.
34479 * util/i386/pc/pupa-mkimage.c: Likewise.
34480 * util/i386/pc/pupa-setup.c: Likewise.
34481
e6eced71 344822004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
34483
34484 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
34485 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
34486 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
34487 reading and reset it after reading.
34488 (pupa_ext2_close): Return PUPA_ERR_NONE.
34489
34490 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
34491 Correct value.
34492 (struct linux_kernel_header): Add kernel_version and
34493 initrd_addr_max.
34494 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
34495 pupa_file_read succeeds.
34496 (pupa_rescue_cmd_initrd): Implement.
34497
5aded270 344982003-12-03 Marco Gerards <metgerards@student.han.nl>
34499
34500 * fs/ext2.c (pupa_ext2_label): New function.
34501 (pupa_ext2_fs): Added label.
34502 * fs/fat.c (pupa_fat_label): New function.
34503 (pupa_fat_fs): Added label.
34504 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
34505
34506 * kern/misc.c (pupa_strndup): New function.
34507 * include/pupa/misc.h (pupa_strndup): New prototype.
34508
34509 * include/pupa/normal.h: Include <pupa/err.h>.
34510 (pupa_set_history): New prototype.
34511 (pupa_iterate_commands): New prototype.
34512 * normal/cmdline.c: Include <pupa/machine/partition.h>,
34513 <pupa/disk.h>, <pupa/file.h>.
34514 (hist_size): New variable.
34515 (hist_lines): Likewise.
34516 (hist_end): Likewise.
34517 (hist_used): Likewise.
34518 (pupa_set_history): New function.
34519 (pupa_history_get): Likewise.
34520 (pupa_history_add): Likewise.
34521 (pupa_history_replace): Likewise.
34522 (pupa_tab_complete): Likewise.
34523 (pupa_cmdline_run): Added tab completion and history buffer. Tab
34524 completion shows partitionnames while completing partitions, this
34525 feature was suggested by Jeff Bailey.
34526 * normal/command.c (pupa_iterate_commands): New function.
34527 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
34528 (pupa_normal_init): Initialize history buffer.
34529 (PUPA_MOD_INIT): Likewise.
34530 (pupa_normal_fini): Free the history buffer.
34531 (PUPA_MOD_FINI): Likewise.
34532
34533 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
34534 key.
34535
34536 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
34537 * configure.ac [i386]: Check for regparam bug.
34538 (NESTED_FUNC_ATTR) [! i386]: Defined.
34539
1f7315a3 345402003-11-17 Marco Gerards <metgerards@student.han.nl>
34541
34542 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
34543 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
34544 (pupa_emu_SOURCES): New variable.
34545 (pupa_emu_LDFLAGS): Likewise.
34546 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
34547 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
34548 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
34549 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34550 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
34551 (pupa_jmp_buf): New typedef.
34552 (pupa_setjmp) [PUPA_UTIL]: New macro.
34553 (pupa_longjmp) [PUPA_UTIL]: Likewise.
34554 * include/pupa/term.h (struct pupa_term): New member `refresh'.
34555 (pupa_refresh): New prototype.
34556 * include/pupa/util/getroot.h: New file.
34557 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
34558 it.
34559 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
34560 (pupa_rescue_cmd_cat): Likewise.
34561 (pupa_rescue_cmd_ls): Likewise.
34562 (pupa_rescue_cmd_testload): Likewise.
34563 (pupa_rescue_cmd_lsmod): Likewise.
34564 * normal/cmdline.c (pupa_cmdline_get): Likewise.
34565 * normal/menu.c (run_menu): Likewise.
34566 * kern/term.c (pupa_cls): Likewise.
34567 (pupa_refresh): New function.
34568 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
34569 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34570 * util/console.c: New file.
f19dbdb7 34571
1f7315a3 34572 * util/i386/pc/getroot.c: New file.
34573 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
34574 (pupa_putchar): New function.
34575 (pupa_refresh): Likewise.
34576 (xgetcwd): Function moved to ...
34577 (strip_extra_slashes): Likewise.
34578 (get_prefix): Likewise.
f19dbdb7 34579 * util/i386/pc/getroot.c: ... here.
1f7315a3 34580 (find_root_device): Function moved and renamed to...
34581 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
34582 Changed all callers.
34583 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
34584 and renamed to...
34585 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
34586 Changed all callers.
34587 * util/misc.c (pupa_memalign): New function.
34588 (pupa_mm_init_region): Likewise.
34589 (pupa_register_exported_symbols): Likewise.
34590 (pupa_putchar): Function removed.
34591 * util/pupa-emu.c: New file.
34592
9a5c1ade 345932003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
34594
34595 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
34596 (_multiboot_mod_SOURCES): New variable.
34597 (_multiboot_mod_CFLAGS): Likewise.
34598 * loader/i386/pc/multiboot.c: New file.
34599 * include/pupa/i386/pc/multiboot.h: Likewise.
34600 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
34601 (pupa_multiboot_real_boot): New function.
34602 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
34603 (pupa_multiboot_real_boot): New prototype.
34604 (pupa_rescue_cmd_multiboot): Likewise
34605 (pupa_rescue_cmd_module): Likewise.
34606
34607 * kern/loader.c (pupa_loader_set): Continue when
34608 pupa_loader_unload_func() fails.
34609 (pupa_loader_unset): New function.
34610 * include/pupa/loader.h (pupa_loader_unset): New prototype.
34611
34612 * kern/misc.c (pupa_stpcpy): New function.
34613 * include/pupa/misc.h (pupa_stpcpy): New prototype.
34614
8e72a9c0 346152003-11-12 Marco Gerards <metgerards@student.han.nl>
34616
34617 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
34618 for available extensions.
34619
34620 * include/pupa/i386/pc/time.h: New file.
34621 * kern/disk.c: Include <pupa/machine/time.h>.
34622 (PUPA_CACHE_TIMEOUT): New macro.
34623 (pupa_last_time): New variable.
34624 (pupa_disk_open): Flush the cache when there was a timeout.
34625 (pupa_disk_close): Reset the timer.
34626 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
34627 pupa_currticks.
34628 * util/misc.c: Include <sys/times.h>
34629 (pupa_get_rtc): New function.
34630
c4adbd32 346312003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34632
34633 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
34634 as blocks.
34635 (pupa_ext2_get_file_block): Use blocks member.
34636
34637 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
34638 first block. Return -1 instead of pupa_errno on error.
34639
bfd30f06 346402003-10-27 Marco Gerards <metgerards@student.han.nl>
34641
34642 * README: In the pupa-mkimage example use _chain instead of chain
34643 and ext2 instead of fat.
34644 * TODO: Replace ext2fs with jfs as an example. Add an item for
34645 adding journal playback for ext2fs.
34646 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
34647 (pkgdata_MODULES): Added ext2.mod.
34648 (ext2_mod_SOURCES): New variable.
34649 (ext2_mod_CFLAGS): Likewise.
34650 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
34651 * include/pupa/misc.h (pupa_strncpy): New prototype.
34652 (pupa_strcat): Likewise.
34653 (pupa_strncmp): Likewise.
34654 * kern/misc.c (pupa_strcat): Enable function.
34655 (pupa_strncpy): New function.
34656 (pupa_strncmp): Likewise.
34657 * fs/ext2.c: New file.
f19dbdb7 34658
bfd30f06 34659 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
34660 when the read failed before retrying.
34661 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
34662 (_FILE_OFFSET_BITS): Likewise.
34663 * configure.ac: Added AC_SYS_LARGEFILE.
34664
98d15063 346652003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34666
34667 * genmk.rb (PModule#rule): Make sure to get only symbol names
34668 from the output of nm.
59cad637 34669 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 34670
18d9c7cd 346712003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34672
34673 I forgot to check in these changes for a long time. This adds
34674 incomplete support for VGA console, and this is still very
34675 buggy. Also, a lot of consideration is required for I18N,
34676 UNICODE, and VGA font issues. Therefore, assume that this is
34677 such that "better than nothing".
f19dbdb7 34678
18d9c7cd 34679 * font/manager.c: New file.
34680 * include/pupa/font.h: Likewise.
34681 * include/pupa/i386/pc/vga.h: Likewise.
34682 * term/i386/pc/vga.c: Likewise.
34683 * util/unifont2pff.rb: Likewise.
34684
34685 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
34686 (pkgdata_MODULES): Added vga.mod and font.mod.
34687 (vga_mod_SOURCES): New variables.
34688 (vga_mod_CFLAGS): Likewise.
34689 (font_mod_SOURCES): Likewise.
34690 (font_mod_CFLAGS): Likewise.
34691
34692 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
34693
34694 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 34695 (struct pupa_term): Added init and fini.
18d9c7cd 34696 Changed the argument of putchar to pupa_uint32_t.
34697
34698 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
34699 (pupa_console_real_putchar): New prototype.
34700 (pupa_console_putchar): Removed.
34701 (pupa_console_checkkey): Exported.
34702 (pupa_console_getkey): Likewise.
34703
34704 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
34705 characters.
34706
34707 * kern/term.c (pupa_term_set_current): Rewritten.
34708 (pupa_putchar): Likewise.
34709 (pupa_putcode): New function.
34710
34711 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
34712 (pupa_console_real_putchar): ... this.
34713 (pupa_vga_set_mode): New function.
34714 (pupa_vga_get_font): Likewise.
34715
34716 * normal/command.c: Include pupa/term.h.
34717 (terminal_command): New function.
34718 (pupa_command_init): Register the command "terminal".
34719
34720 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
34721 (DISP_UP): Likewise.
34722 (DISP_RIGHT): Likewise.
34723 (DISP_DOWN): Likewise.
34724 (DISP_HLINE): Likewise.
34725 (DISP_VLINE): Likewise.
34726 (DISP_UL): Likewise.
34727 (DISP_UR): Likewise.
34728 (DISP_LL): Likewise.
34729 (DISP_LR): Likewise.
34730
34731 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 34732
977329f5 347332003-02-08 NIIBE Yutaka <gniibe@m17n.org>
34734
34735 * util/resolve.c (pupa_util_resolve_dependencies): BUG
34736 FIX. Reverse the path_list.
34737
34738 * include/pupa/normal.h: Export pupa_register_command and
34739 pupa_unregister_command.
34740
34741 * hello/hello.c (pupa_cmd_hello): New module.
34742 * conf/i386-pc.rmk: Added hello.mod.
34743
1f5ab428 347442003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
34745
34746 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 34747
1f5ab428 34748 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
34749 (compress_kernel): New variable.
34750 (generate_image): Heavily modified to support compressing a
34751 large part of the core image.
34752
34753 * util/misc.c (pupa_util_read_image): Fix a file descriptor
34754 leak.
34755 (pupa_util_load_image): New function.
34756
34757 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
34758 (pupa_compressed_size): New variable.
34759 (codestart): Enable Gate A20 here.
34760 Decompress the compressed part of the core image.
34761 Rearrange the code to put functions and variables which are
34762 required for initialization in the non-compressed part.
34763 Include lzo1x.S.
34764
34765 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
34766 here.
34767
34768 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
34769
f19dbdb7 34770 * include/pupa/i386/pc/kernel.h
1f5ab428 34771 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
34772 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
34773 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34774 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34775 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
34776
34777 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
34778
34779 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
34780 (Utility#rule): Likewise.
34781
34782 * configure.ac: Check if LZO is available.
34783
ce5bf700 347842003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
34785
34786 * include/pupa/normal.h: New file.
34787 * include/pupa/setjmp.h: Likewise.
34788 * include/pupa/i386/setjmp.h: Likewise.
34789 * normal/cmdline.c: Likewise.
34790 * normal/command.c: Likewise.
34791 * normal/main.c: Likewise.
34792 * normal/menu.c: Likewise.
34793 * normal/i386/setjmp.S: Likewise.
f19dbdb7 34794
ce5bf700 34795 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
34796 (pupa_rescue_cmd_initrd): Likewise.
34797
34798 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
34799 Likewise.
34800
34801 * kern/i386/pc/startup.S (translation_table): New variable.
34802 (translate_keycode): New function.
34803 (pupa_console_getkey): Call translate_keycode.
34804
34805 * kern/rescue.c (attempt_normal_mode): New function.
34806 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
34807 it failed, print a message.
34808
34809 * kern/mm.c (pupa_real_malloc): Print more information when a
34810 free magic is broken.
34811 (pupa_free): If the first free header is not free actually, set
34812 it to P.
34813
34814 * kern/main.c (pupa_load_normal_mode): Just load the module
34815 "normal".
34816 (pupa_main): Don't print the message
34817 "Entering into rescue mode..." here.
34818
34819 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
34820 Declared.
34821 (pupa_rescue_cmd_initrd): Likewise.
34822 (pupa_rescue_cmd_initrd): Likewise.
34823
34824 * include/pupa/symbol.h (FUNCTION): Specify the type.
34825 (VARIABLE): Likewise.
34826
34827 * include/pupa/err.h (pupa_err_t): Added
34828 PUPA_ERR_UNKNOWN_COMMAND.
34829
34830 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
34831 (pupa_dl_get_prefix): Likewise.
34832
34833 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
34834 Added _chain.mod and _linux.mod instead of chain.mod and
34835 linux.mod.
34836 (chain_mod_SOURCES): Renamed to ...
34837 (_chain_mod_SOURCES): ... this.
34838 (chain_mod_CFLAGS): Renamed to ...
34839 (_chain_mod_CFLAGS): ... this.
34840 (linux_mod_SOURCES): Renamed to ...
34841 (_linux_mod_SOURCES): ... this.
34842 (linux_mod_CFLAGS): Renamed to ...
34843 (_linux_mod_CFLAGS): ... this.
34844 (normal_mod_SOURCES): New variable.
34845 (normal_mod_CFLAGS): Likewise.
34846 (normal_mod_ASFLAGS): Likewise.
34847
348482003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
34849
34850 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
34851 possible.
34852
fe6b695a 34853 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 34854 recursively.
34855 (pupa_dl_unref): Unrefer depending modules recursively.
34856 Don't call pupa_dl_unload implicitly, because PUPA can crash if
34857 a module is unloaded before one depending on that module is
34858 unloaded.
34859 (pupa_dl_unload): Unload depending modules explicitly,
34860 if possible.
34861
c04da074 348622003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
34863
34864 * include/pupa/i386/pc/linux.h: New file.
34865 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 34866
c04da074 34867 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
34868 Removed.
34869 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
34870 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
34871 of PUPA_CHAINLOADER_BOOT_SECTOR.
34872
34873 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
34874 (pupa_linux_prot_size): New variable.
34875 (pupa_linux_tmp_addr): Likewise.
34876 (pupa_linux_real_addr): Likewise.
34877 (pupa_linux_boot_zimage): New function.
34878 (pupa_linux_boot_bzimage): Likewise.
34879
34880 * kern/i386/pc/init.c (struct mem_region): New structure.
34881 (MAX_REGIONS): New macro.
34882 (mem_regions): New variable.
34883 (num_regions): Likewise.
34884 (pupa_os_area_addr): Likewise.
34885 (pupa_os_area_size): Likewise.
34886 (pupa_lower_mem): Likewise.
34887 (pupa_upper_mem): Likewise.
34888 (add_mem_region): New function.
34889 (compact_mem_regions): Likewise.
34890 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
34891 the size of the conventional memory and that of so-called upper
34892 memory (before the first memory hole).
34893 Instead of adding each found region to free memory, use
34894 add_mem_region and add them after removing overlaps.
34895 Also, add only 1/4 of the upper memory to free memory. The rest
34896 is used for loading OS images. Maybe this is ad hoc, but this
34897 makes it much easier to relocate OS images when booting.
34898
34899 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
34900 (pupa_enter_rescue_mode): Don't register initrd and module.
34901
34902 * kern/mm.c: Include pupa/dl.h.
34903
34904 * kern/main.c: Include pupa/file.h and pupa/device.h.
34905
34906 * kern/loader.c (pupa_loader_load_module_func): Removed.
34907 (pupa_loader_load_module): Likewise.
34908
34909 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
34910 ``.o''.
34911
34912 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
34913 (pupa_linux_tmp_addr): Likewise.
34914 (pupa_linux_real_addr): Likewise.
34915 (pupa_linux_boot_zimage): Likewise.
34916 (pupa_linux_boot_bzimage): Likewise.
34917
34918 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
34919 (pupa_upper_mem): Likewise.
34920 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
34921 module is too dangerous.
34922
34923 * include/pupa/loader.h (pupa_os_area_addr): Declared.
34924 (pupa_os_area_size): Likewise.
34925 (pupa_loader_set): Remove the first argument. Loader doesn't
34926 manage modules or initrd any longer.
34927 (pupa_loader_load_module): Removed.
34928
34929 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
34930 (linux_mod_SOURCES): New variable.
34931 (linux_mod_CFLAGS): Likewise.
34932
a13f9237 349332003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
34934
34935 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
34936 the length of a blocklist correctly.
34937
34938 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
34939 Use ioctl only if the OS file is a block device.
34940 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
34941 not very useful for normal files.
34942
34943 * kern/main.c (pupa_set_root_dev): New function.
34944 (pupa_load_normal_mode): Likewise.
34945 (pupa_main): Call those above.
34946
34947 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
34948 pupa_uint16_t.
34949
34950 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
34951
a5ffe966 349522003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34953
34954 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
34955 (setup): Configure the installed partition information and the
34956 dl prefix.
34957
34958 * loader/i386/pc/chainloader.c (my_mod): New variable.
34959 (pupa_chainloader_unload): New function.
34960 (pupa_rescue_cmd_chainloader): Refer itself.
34961 (PUPA_MOD_INIT): Save its own module in MY_MOD.
34962
34963 * kern/i386/pc/startup.S (install_partition): Removed.
34964 (version_string): Likewise.
34965 (config_file): Likewise.
34966 (pupa_install_dos_part): New variable.
34967 (pupa_install_bsd_part): Likewise.
34968 (pupa_prefix): Likewise.
34969 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
34970
34971 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
34972 and pupa/misc.h.
34973 (make_install_device): New function.
34974 (pupa_machine_init): Set the dl prefix.
34975
34976 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
34977 (buf): Renamed to ...
34978 (linebuf): ... this.
34979 (pupa_rescue_cmd_prefix): New function.
34980 (pupa_rescue_cmd_insmod): Likewise.
34981 (pupa_rescue_cmd_rmmod): Likewise.
34982 (pupa_rescue_cmd_lsmod): Likewise.
34983 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
34984 rmmod and lsmod.
34985
34986 * kern/mm.c (pupa_memalign): If failed even after invalidating
34987 disk caches, unload unneeded modules and retry.
34988
34989 * kern/misc.c (pupa_memmove): New function.
34990 (pupa_memcpy): Removed.
34991 (pupa_strcpy): New function.
34992 (pupa_itoa): Made static.
34993
34994 * kern/dl.c (pupa_dl_iterate): New function.
34995 (pupa_dl_ref): Likewise.
34996 (pupa_dl_unref): Likewise.
34997 (pupa_dl_unload): Return if succeeded or not.
34998 (pupa_dl_unload_unneeded): New function.
34999 (pupa_dl_unload_all): Likewise.
35000 (pupa_dl_init): Renamed to ...
35001 (pupa_dl_set_prefix): ... this.
35002 (pupa_dl_get_prefix): New function.
35003
35004 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
35005 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
35006 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
35007 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
35008 (pupa_install_dos_part): Declared.
35009 (pupa_install_bsd_part): Likewise.
35010 (pupa_prefix): Likewise.
35011 (pupa_boot_drive): Likewise.
35012
35013 * include/pupa/types.h: Fix a typo.
35014
35015 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
35016 pupa_memmove.
35017 (pupa_memmove): Declared.
35018 (pupa_strcpy): Likewise.
35019
35020 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
35021 pupa_mod_init takes one argument, its own module.
35022 (pupa_dl_unload_unneeded): Declared.
35023 (pupa_dl_unload_all): Likewise.
35024 (pupa_dl_ref): Likewise.
35025 (pupa_dl_unref): Likewise.
35026 (pupa_dl_iterate): Likewise.
35027 (pupa_dl_init): Renamed to ...
35028 (pupa_dl_set_prefix): ... this.
35029 (pupa_dl_get_prefix): Declared.
35030
35031 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 35032 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 35033 unloaded.
35034 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
35035 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
35036
35037 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
35038 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
35039
012d7999 350402003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35041
35042 * util/i386/pc/pupa-setup.c (setup): Define the internal
35043 function find_first_partition_start at the top level, because GCC
35044 3.0.x cannot compile internal functions in deeper scopes
35045 correctly.
35046 (find_root_device): Use lstat instead of stat.
35047 Don't follow symbolic links.
35048 Fix the path-constructing code.
35049
35050 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
35051 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
35052 by a BLKGETSIZE ioctl first, because block devices don't fill
35053 the member st_mode of the structure stat on Linux.
35054 [__linux__] (linux_find_partition): Use a temporary buffer
35055 REAL_DEV for the working space. Copy it to DEV before returning.
35056 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
35057 buffer cache consistent.
35058 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
35059 strncmp. The previous value was merely wrong.
35060 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
35061
35062 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
35063 FAT size is 12. The previous value was merely wrong.
35064
35065 * kern/main.c (pupa_main): Don't split the starting message from
35066 newlines.
35067
35068 * kern/term.c (pupa_putchar): Put CR after LF instead of before
35069 LF, because BIOS goes crazy about character attributes in this
35070 case.
35071
1cc73a62 350722003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35073
35074 * include/i386/pc/util/biosdisk.h: New file.
35075 * util/i386/pc/biosdisk.c: Likewise.
35076 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 35077
1cc73a62 35078 * Makefile.in (INCLUDE_DISTFILES): Added
35079 include/pupa/i386/pc/util/biosdisk.h.
35080 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
35081 directory util/i386/pc.
35082 (install-local): Added a rule for sbin_UTILITIES.
35083 (uninstall): Likewise.
35084
35085 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
35086
35087 * util/misc.c (xrealloc): New function.
35088 (pupa_malloc): Likewise.
35089 (pupa_free): Likewise.
35090 (pupa_realloc): Likewise.
35091 (pupa_stop): Likewise.
35092 (pupa_putchar): Likewise.
35093
35094 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
35095
35096 * include/pupa/util/misc.h (xrealloc): Declared.
35097
35098 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
35099 macro.
35100 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
35101 (PUPA_BOOT_MACHINE_BPB_END): ... this.
35102
35103 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
35104 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35105
35106 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
35107 way should be implemented.
35108 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35109
35110 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
35111 the size of NAME for safety.
35112 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
35113 0x88.
35114
35115 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
35116 (pupa_setup_SOURCES): Likewise.
35117
35118 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
35119
08b70fe8 351202002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35121
35122 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
35123 bunch of pushl's from pusha, because this destroys the return
35124 value.
35125
62ddcc8f 351262002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35127
35128 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
35129 This means that any missing prototypes could be fatal. Also, you
35130 must take care when writing assembly code. See the comments at
35131 the beginning of startup.S, for more details.
f19dbdb7 35132
62ddcc8f 35133 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
35134 compilation mechanism.
35135 (pupa_chainloader_real_boot): Likewise.
35136 (pupa_biosdisk_rw_int13_extensions): Likewise.
35137 (pupa_biosdisk_rw_standard): Likewise.
35138 (pupa_biosdisk_check_int13_extensions): Likewise.
35139 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
35140 (pupa_biosdisk_get_diskinfo_standard): Likewise.
35141 (pupa_get_memsize): Likewise.
35142 (pupa_get_mmap_entry): Likewise.
35143 (pupa_console_putchar): Likewise.
35144 (pupa_console_setcursor): Likewise.
35145 (pupa_getrtsecs): Use pushl instead of push.
35146
35147 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
35148 memory instead of the stack for a mmap entry, because some
35149 BIOSes may ignore the maximum size and overflow.
35150
35151 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
35152
35153 * genmk.rb (PModule#rule): Compile automatically generated
35154 sources with module-specific CFLAGS as well as other sources.
35155
9962ed99 351562002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35157
35158 * configure.ac: Check ld.
35159 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
35160 respectively, before checking endianness and sizes.
35161
35162 * Makefile.in (LD): New variable.
f19dbdb7 35163
abdfc3c5 351642002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35165
35166 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
35167
6a161fa9 351682002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35169
35170 * Changelog: New file.
35171