]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* .bzrignore: *.d removed (old rule), add *.image and symlist.h.
[grub2.git] / ChangeLog
CommitLineData
0f7ee3c9
YB
12010-09-17 Yves Blusseau <blusseau@zetam.org>
2
3 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
4
10854d0d
YB
52010-09-16 Yves Blusseau <blusseau@zetam.org>
6
7 * configure.ac: Avoid some annoying error messages if freetype-config
8 program is not found.
9
108538d8
CW
102010-09-16 Colin Watson <cjwatson@ubuntu.com>
11
12 Support RAID on virtio devices, and others.
13
14 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15 Rename to ...
16 [__MINGW32__] (grub_find_device): ... this.
17 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
18 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
19 reasonable default if dir is NULL.
20 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21 ...
22 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
23 (grub_guess_root_device): Update callers.
24 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
25
26 * util/raid.c (grub_util_getdiskname): Remove.
27 (grub_util_raid_getmembers): Use grub_find_device rather than
28 grub_util_getdiskname.
29
e5bfc130
CW
302010-09-16 Colin Watson <cjwatson@ubuntu.com>
31
32 * docs/grub.texi (serial): Remove obsolete comment about GRUB
33 needing to be compiled with serial support.
34 (ls): Indicate that multiple files are accepted.
35 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
36 indicate that multiple files are accepted.
37
be458ae2
CW
382010-09-16 Colin Watson <cjwatson@ubuntu.com>
39
40 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
41 libgrub_a_init.c, and util/bash-completion.d/grub.
42
cb731b5e
VS
432010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * util/grub-setup.c (setup): Fix incorrect container semantics.
46
35139e8a
VS
472010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
50 misusage.
51 Reported by: J. Nick Terry
52
e50fca4a
VS
532010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
54
55 Move embedding routines to partmap sources files.
56
57 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
58 [GRUB_UTIL]: New variable.
59 (gpt_partition_map_iterate): Set part.parent.
60 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
61 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
62 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
63 New function.
64 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
65 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
66 (grub_partition_map) [GRUB_UTIL]: New field embed.
67 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
68 (setup): Use ->embed.
69
f00478b7
VS
702010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
73 function.
74 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
75 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
76
2b94e3ff
YB
772010-09-15 Yves Blusseau <blusseau@zetam.org>
78
79 Add function to get completions from usage.
80
81 * util/bash-completion.d/grub-completion.bash.in: Add function to get
82 completions from usage. Use LC_ALL=C to get options properly.
83
2e04a006
VS
842010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * grub-core/gnulib/basename-lgpl.c: Imported.
87 * grub-core/gnulib/basename.c: Likewise.
88 * grub-core/gnulib/dirname-lgpl.c: Likewise.
89 * grub-core/gnulib/dirname.c: Likewise.
90 * grub-core/gnulib/dirname.h: Likewise.
91 * grub-core/gnulib/stripslash.c: Likewise.
92
5dcdf93a
VS
932010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * grub-core/gnulib/error.c: Resynced.
96 * grub-core/gnulib/getopt.c: Likewise.
97 * grub-core/gnulib/getopt_int.h: Likewise.
98 * grub-core/gnulib/regex.h: Likewise.
99 * grub-core/gnulib/regex_internal.c: Likewise.
100 * grub-core/gnulib/regex_internal.h: Likewise.
101
014f47b7
SJ
1022010-09-15 Szymon Janc <szymon@janc.net.pl>
103
104 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
105 CRC calculations and validity checks.
106 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
107 calculations.
108
dd521a4a
SJ
1092010-09-15 Szymon Janc <szymon@janc.net.pl>
110
111 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
112
79c4eeb9
VS
1132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
114
115 Fix incorrect echo options handling.
116 Reported by: Yves Blusseau.
117
118 * include/grub/command.h (grub_command_flags_t): New flags
119 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
120 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
121 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
122
ed80f7d5
VS
1232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
126 users updated.
127 (GRUB_COMMAND_FLAG_MENU): Likewise.
128 (GRUB_COMMAND_FLAG_BOTH): Likewise.
129 (GRUB_COMMAND_FLAG_TITLE): Removed.
130 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
131 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
132 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
133 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
134 (grub_command_flags_t): New enum. All users updated.
135
5fe7620a
SG
1362010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
137
138 Fix solaris compilation.
139
140 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
141 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
142 (grub-emu-list): Likewise.
143
545b752f
VS
1442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
145
146 Remove deprecated root command.
147
148 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
149 updated.
150
6c1a338c
VS
1512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * util/i386/pc/grub-setup.c: Merge this ...
154 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
155 * util/grub-setup.c: ... into this.
156 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
157 New struct.
158
1592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
162 possible.
163
d2ea4551
VS
1642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
167 allocate p.
168
3c3b5040
VS
1692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
172 explicit root argument to set to prevent UUID to be interpreted as
173 argument to set.
174
b71c3fae
VS
1752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
176
177 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
178
275433e6
VS
1792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
180
181 Don't export grub_gate_a20.
182
183 * grub-core/kern/i386/pc/init.c: Remove leftovers.
184 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
185 to ...
186 (grub_gate_a20): ... this. All users updated.
187 * include/grub/i386/pc/init.h: Removed. All users updated.
188
a5dbb1f1
VS
1892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
190
191 Create euro.pf2 which supports most European languages.
192
193 * Makefile.am (grubdata_DATA): Add euro.pf2.
194 (euro.pf2): New target.
195 (CLEANFILES): Add euro.pf2.
196
62a747cb
VS
1972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * configure.ac: Disable emu-usb by default to prevent inadvertent
200 device takeover.
201
608e43b1
VS
2022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
203
204 Disable usbserial on grub-emu since our libusb code isn't good enough
205 yet.
206
207 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
208 (usbserial_pl2303): Likewise.
209 (usbserial_ftdi): Likewise.
210
94564f81
VS
2112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * include/grub/disk.h (grub_disk): Remove has_partitions.
214 All users updated.
215 * disk/loopback.c (grub_loopback): Remove has_partitions.
216 All users updated.
217 (options): Remove partitions. All users updated.
218 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
219 * util/i386/pc/grub-setup.c (setup): copy partition table only when
220 actual partition table is found.
221
3352800b
VS
2222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
223
224 Remove readability checks (too many false negatives).
225
226 * util/grub-install.in: Remove readability checks.
227 * util/grub-mkconfig.in: Likewise.
228 * util/grub.d/10_hurd.in: Likewise.
229 * util/grub.d/10_kfreebsd.in: Likewise.
230 * util/grub.d/10_linux.in: Likewise.
231 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
232 way.
233
2419f17a
VS
2342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
235
236 Enable acpi shutdown on all ACPI platforms.
237
238 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
239 on coreboo, multiboot and EFI.
240 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
241 (grub_acpi_halt): Likewise.
242 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
243 (grub_cmd_halt): Don't call grub_acpi_halt directly.
244 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
245 * grub-core/lib/i386/halt.c (grub_halt)
246 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
247
0575c7c3
VS
2482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
251 context.
252
54ac3cd1
VS
2532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/video/efi_gop.c: Fix over-80-chars line.
256 * grub-core/video/efi_uga.c: Likewise.
257
b2a30ac5
VS
2582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
259
260 Filter devaliases and never open same device twice.
261
262 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
263 (last_ihandle): Likewise.
264 (ofdisk_hash_ent): New member shortest.
265 (ofdisk_hash_add): Add canonical path too.
266 (scan): New function.
267 (grub_ofdisk_iterate): Iterate over hashed entries.
268 (compute_dev_path): Don't add :0.
269 (grub_ofdisk_open): Don't really open the disk.
270 (grub_ofdisk_close): Avoid closing unrelated disk.
271 (grub_ofdisk_read): Implement reopen logic.
272 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
273 New function.
274 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
275 New proto.
276
fb53b340
VS
2772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
278
279 Fix sparc64.
280
281 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
282 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
283 right address. Add sparc64_ieee1275_ldflags.
284 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
285 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
286 to grub_host_to_target_addr
287 (load_image): Likewise.
288
f452b040
VS
2892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * grub-core/normal/completion.c (complete_file): Handle device
292 containing slash.
293 Fix based on patch by Doug Nazar.
294
9b5b2541
VS
2952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
296
297 grub-mknetdir script.
298
299 * Makefile.util.def (grub-mknetdir): New module.
300 * tests/util/grub-shell.in: Support boot=net
301 * util/grub-mknetdir.in: New file.
302
9d2be652
VS
3032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
304
305 videoinfo on non-vbe.
306
307 * grub-core/Makefile.core.def (vbeinfo): Removed.
308 (vbetest): Removed.
309 (videoinfo): New module.
310 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
311 * grub-core/commands/i386/pc/vbetest.c: Removed.
312 * grub-core/commands/videoinfo.c: New file.
313 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
314 specification.
315 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
316 as vbetest.
317 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
318 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
319 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
320 mode_number. New parameter mode. All users updated.
321 (grub_video_gop_iterate): New function.
322 (grub_video_efi_gop): New member iterate.
323 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
324 (grub_vbe_set_video_mode): Remove setting useless fields.
325 (vbe2videoinfo): New function.
326 (grub_video_vbe_iterate): Likewise.
327 (grub_video_vbe_setup): Use vbe2videoinfo.
328 (grub_video_vbe_print_adapter_specific_info): New function.
329 (grub_video_vbe_adapter): New fields iterate and
330 print_adapter_specific_info.
331 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
332 All users updated.
333 (grub_video_mode_info): New field mode_number.
334 (grub_video_adapter): New fields iterate and
335 print_adapter_specific_info.
336
179503f5
TG
3372010-09-13 Tristan Gingold <gingold@free.fr>
3382010-09-13 Robert Millan <rmh.grub@aybabtu.com>
3392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * grub-core/commands/efi/lsefisystab.c: New file.
342 * grub-core/commands/efi/lssal.c: Likewise.
343 * grub-core/Makefile.core.def (lsacpi): New module.
344 (lsefisystab): Likewise.
345 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
346 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
347 (grub_efi_sal_system_table): New struct.
348 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
349 (grub_efi_sal_system_table_memory_descriptor): Likewise.
350 (grub_efi_sal_system_table_platform_features): Likewise.
351 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
352 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
353 (grub_efi_sal_system_table_ap_wakeup): Likewise.
354 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
355
cf9827de
VS
3562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
357
358 Support explicit user claim that a device is BIOS-visible.
359
360 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
361 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
362 * grub-core/kern/emu/hostdisk.c
363 (convert_system_partition_to_system_disk): Support mdX.
364 (find_system_device): New parameter add. All users updated.
365 (grub_util_biosdisk_is_present): New function.
366 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
367 proto.
368
53f0eb1f
VS
3692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
370
371 Search hints support.
372
373 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
374 All users updated.
375
b23ffd70
YB
3762010-09-13 Yves Blusseau <blusseau@zetam.org>
377
378 Bash completion script for util commands
379
380 * Makefile.am: Add util/bash-completion.d directory
381 * configure.ac: Likewise.
382 * util/bash-completion.d/Makefile.am: New file.
383 * util/bash-completion.d/grub-completion.bash.in: Likewise.
384
d547dc28
VS
3852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
386
387 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
388 (print_backlog): set backlog_ucs4 and backlog_glyphs.
389 Reported by: Yves Blusseau.
390
2fc8ccb9
VS
3912010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
394 partition size and offset.
395
d8a84076
VS
3962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
399
84fb3b3d
VS
4002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
403
768ec2e2
VS
4042010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
407 (grub_xvasprintf): Likewise.
408
4870900f
VS
4092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
412
faca6bec
VS
4132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
416 args ending with NULL.
417
4182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
419
420 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
421 pointer.
422
3c70f225
SJ
4232010-09-11 Szymon Janc <szymon@janc.net.pl>
424
425 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
426
4df7996d
VS
4272010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
428
429 Shutdown using ACPI.
430
431 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
432 * grub-core/commands/acpihalt.c: New file.
433 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
434 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
435 (grub_acpi_halt): New proto.
436 (GRUB_ACPI_SLP_EN): New const.
437 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
438 (GRUB_ACPI_OPCODE_*): New enum.
439 (GRUB_ACPI_EXTOPCODE_*): Likewise.
440
126b4c32
TG
4412010-09-11 Tristan Gingold <gingold@free.fr>
4422010-09-11 Robert Millan <rmh.grub@aybabtu.com>
4432010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * commands/lsacpi.c: New file.
446 * grub-core/Makefile.core.def (lsacpi): New module.
447 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
448 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
449 (grub_acpi_madt_entry_header): New struct.
450 (grub_acpi_madt): Likewise.
451 (grub_acpi_madt_entry_interrupt_override): Likewise.
452 (grub_acpi_madt_entry_sapic): Likewise.
453 (grub_acpi_madt_entry_lsapic): Likewise.
454 (grub_acpi_madt_entry_platform_int_source): Likewise.
455 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
456 (PRIuGRUB_UINT32_T): Likewise.
457 (PRIxGRUB_UINT64_T): Likewise.
458
1aa4fe88
VS
4592010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
460
461 Implement loading palette on ieee1275_fb.
462
463 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
464 (have_setcolors): Likewise.
465 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
466 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
467 (grub_video_ieee1275_set_palette): Implement.
468
25761e13
VS
4692010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4702010-09-11 Colin Watson <cjwatson@ubuntu.com>
471
472 * util/grub-install.in (grub_partition): New variable.
473 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
474 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
475 Fixes a bug reported by Yves Blusseau.
476
050abaea
VS
4772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
478
479 Fix emu on mipsel.
480
481 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
482 =grub_cpu_flush_cache on all mips and not only yeeloong.
483 * configure.ac (COND_mips): New conditional.
484 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
485 platforms.
486 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
487 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
488 [GRUB_LINKER_HAVE_INIT]: New function.
489 (grub_emu_post_init): Likewise.
490 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
491 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
492 * include/grub/cache.h (_mips): Include mips/cache.h.
493 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
494 LVM and RAID prototypes.
495 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
496 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
497 function.
498
5ed7d816
CW
4992010-09-10 Colin Watson <cjwatson@ubuntu.com>
500
501 * util/grub-install.in: Don't try to verify core.img until after
502 running grub-mkimage to create it.
503
90367e04
RM
5042010-09-10 Robert Millan <rmh@gnu.org>
505
506 * util/grub.d/10_hurd.in: Add misc readability checks.
507 * util/grub.d/10_kfreebsd.in: Likewise.
508 * util/grub.d/10_linux.in: Likewise.
509
c452fa66
CW
5102010-09-10 Colin Watson <cjwatson@ubuntu.com>
511
512 * util/grub-install.in: ${imgext} won't be defined here until the
513 install branch is merged. For the meantime, only verify core.img on
514 i386-pc and sparc64-ieee1275 platforms.
515
c38fe9f4
RM
5162010-09-10 Robert Millan <rmh@gnu.org>
517
518 Solaris support in grub_find_zpool_from_dir(). Thanks
519 Seth Goldberg for referring to getextmntent() facility.
520
521 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
522 `sys/mkdev.h'.
523 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
524 `<sys/mnttab.h>'.
525 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
526 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
527 method for finding zpool name.
528
905f7773
CW
5292010-09-10 Colin Watson <cjwatson@ubuntu.com>
530
531 grub-fstest needs the host and hostfs modules while other utilities
532 actively require those modules to be absent, so grub-fstest needs
533 its own initialisation and finalisation code.
534
535 * Makefile.am (grub_fstest.pp): New target.
536 (grub_fstest_init.lst): Likewise.
537 (grub_fstest_init.c): Likewise.
538 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
539
fb90b546
RM
5402010-09-10 Robert Millan <rmh@gnu.org>
541
542 * configure.ac: Check for `struct statfs.f_fstypename' and
543 `struct statfs.f_mntfromname'.
544
545 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
546 kFreeBSD-specific code.
547
66d4bea5
RM
5482010-09-10 Robert Millan <rmh@gnu.org>
549
550 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
551 on ZFS. Now non-main filesystems are supported as / too.
552
b6a690ee
CW
5532010-09-09 Colin Watson <cjwatson@ubuntu.com>
554
555 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
556 and grub-core/disk/host.c to ...
557 (grub-fstest): ... here. Having the host disk implementation
558 present confuses grub-probe and other utility programs.
559
560 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
561 when writing to a file, not when writing to stdout.
562
8901b00c 5632010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
564
565 * tests/partmap_test.in: New test for partitions.
566 * Makefile.util.def: Rules for new test.
567
7bf45fdd
RM
5682010-09-09 Robert Millan <rmh@gnu.org>
569
570 * util/grub-probe.c (probe): Fix a pair of unhandled error
571 conditions.
572
4dfbc574
RM
5732010-09-09 Robert Millan <rmh@gnu.org>
574
575 Basic Btrfs support (detection and UUID).
576
577 * grub-core/fs/btrfs.c: New file.
578 * Makefile.util.def (library): Register btrfs.c.
579 * grub-core/Makefile.core.def: Likewise.
580
6b8e78ae
RM
5812010-09-08 Robert Millan <rmh@gnu.org>
582
583 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
584 with (optional) parameters to specify device and relative path.
585 * util/grub-install.in: Use is_path_readable_by_grub() to
586 verify readability of a few critical files.
587 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
588 verify readability of grub.cfg.new.
589
27f21a8b
VS
5902010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
591
592 Split minix.mod into minix.mod and minix2.mod.
593
594 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
595 * grub-core/Makefile.core.def (minix2): New module.
596 * grub-core/fs/minix.c: Use definitions instead of runtime version
597 checking.
598 * grub-core/fs/minix2.c: New file.
599
c0e53ea5
YB
6002010-09-08 Yves Blusseau <blusseau@zetam.org>
601
602 Add new --boot-directory option to replace --root-directory
603
604 * util/grub-install.in: Add new --boot-directory option
605 * util/grub-reboot.in: Likewise.
606 * util/grub-set-default.in: Likewise.
607
b9fe6ea2
YB
6082010-09-08 Yves Blusseau <blusseau@zetam.org>
609
610 * util/grub-mkconfig.in: Use new variable.
611
d87aedff
YB
6122010-09-08 Yves Blusseau <blusseau@zetam.org>
613
614 * configure.ac: Define some useful variables.
615
e55e8495
VS
6162010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
619 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
620 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
621 Use terminfo and don't use cursor-on/cursor-off unless it's known
622 to work.
623 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
624 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
625
6fa6d675
CW
6262010-09-08 Colin Watson <cjwatson@ubuntu.com>
627
628 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
629 starts with "(,", fill the drive containing the loaded image in
630 between those two characters, but expect that a full partition
631 specification including partition map names will follow.
632
92f2aef0
RM
6332010-09-08 Robert Millan <rmh@gnu.org>
634
635 * configure.ac: Remove `--enable-grub-fstest' option.
636 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
637
638 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
639 `grub-fstest' instead of `grub-probe' for readability verification.
640 * util/grub-probe.c (probe): Remove readability verification kludge.
641
99fd620d
RM
6422010-09-08 Robert Millan <rmh@gnu.org>
643
644 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
645 initializing `GRUB_FS'.
646
058e30ac 6472010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
648
649 Not command (!) support to GRUB script.
650
651 * tests/grub_script_not.in: New test.
652 * Makefile.util.def: Rules for new test.
653
654 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
655 ! command as a special case.
656 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
657
b61d05ed 6582010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
659
058e30ac 660 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
661 grub_free.
b61d05ed 662
4d69c786 6632010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
664
665 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
666
aa3119c4 6672010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
668
669 * docs/grub.texi (Shell-like scripting): Documentation for break,
670 continue, shift and return commands.
671
db0f7e3d
VS
6722010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
673
674 Rename CD-ROM to cd on BIOS.
675
676 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
677 "cd".
678 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
679
88b87c93
VS
6802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
683 * util/grub-probe.c (main): Likewise.
684 * util/i386/pc/grub-setup.c (main): Likewise.
685 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
686 Reported and debugged by: alexxy
687
294f324d
VS
6882010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
691 diagnostic info.
692
d7ee3441
JS
6932010-09-05 Jo Shields <directhex@apebox.org>
694
695 * util/grub.d/30_os-prober.in: Add missing classes.
696
d7e06c1f
VS
6972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * docs/grub.texi (Theme file format): Document new position format.
700
fc157e53
VS
7012010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
704 a table. Use @code instead of @verbatim.
705
506e9a1c
CB
7062010-09-05 Colin D Bennett <colin@gibibit.com>
707
708 Gfxmenu documentation.
709
710 * docs/grub.texi (Theme file format): New chapter.
711
f0aff67c
SJ
7122010-09-05 Szymon Janc <szymon@janc.net.pl>
713
714 * grub-core/Makefile.core.def (xzio): New module.
715 * grub-core/io/xzio.c: New file.
716 * grub-core/lib/xzembed/xz.h: New file (from xembed).
717 * grub-core/lib/xzembed/xz_config.h: Likewise.
718 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
719 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
720 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
721 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
722 * grub-core/lib/xzembed/xz_private.h: Likewise.
723 * grub-core/lib/xzembed/xz_stream.h: Likewise.
724 * include/grub/file.h (grub_file_filter_id): New compression filter
725 GRUB_FILE_FILTER_XZIO.
726
82a85062
VS
7272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
730 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
731 size.
732
3579415d
VS
7332010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
736 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
737
5124ae6d
VS
7382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
739
740 Uncompressed checksum support.
741
742 * grub-core/commands/hashsum.c (options): Add option --uncompress.
743 (check_list): New parameter uncompress.
744 (grub_cmd_hashsum): Handle --uncompress.
745
9aadb3d1
VS
7462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
747
748 Reintroduce testload.
749
750 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
751 from here ...
752 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
753 (GRUB_MOD_INIT): New function.
754 (GRUB_MOD_FINI): Likewise.
755 * grub-core/Makefile.core.def (testload): New module.
756
a17792c3
SJ
7572010-09-05 Szymon Janc <szymon@janc.net.pl>
758
759 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
760 (uint8_t): New type.
761 (uint16_t): Likewise.
762 (uint32_t): Likewise.
763 (uint64_t): Likewise.
764
b81e40a3
SJ
7652010-09-05 Szymon Janc <szymon@janc.net.pl>
766
767 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
768
fc2ef117
VS
7692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
772 Made static.
773 (grub_gzfile_open): Removed. All users updated.
774 (GRUB_MOD_INIT): New function.
775 (GRUB_MOD_FINI): Likewise.
776 * grub-core/kern/file.c (grub_file_filters_all): New variable.
777 (grub_file_filters_enabled): Likewise.
778 (grub_file_open): Handle filters.
779 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
780 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
781 * include/grub/file.h (grub_file_filter_id_t): New type.
782 (grub_file_filter_t): Likewise.
783 (grub_file_filters_all): New extern variable.
784 (grub_file_filters_enabled): Likewise.
785 (grub_file_filter_register): New inline function.
786 (grub_file_filter_unregister): Likewise.
787 (grub_file_filter_disable): Likewise.
788 (grub_file_filter_disable_compression): Likewise.
789 * include/grub/gzio.h: Removed.
790
35ee15e0
BC
7912010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
792
793 Filename expansion support for wildcards in GRUB script.
794
795 * tests/grub_script_expansion.in: New test.
796 * Makefile.util.def: Rule for new test.
797
798 * grub-core/commands/wildcard.c: New file, implements filename
799 expansion support for GRUB script.
800 * grub-core/Makefile.core.def: Rule update for regexp.mod.
801 * grub-core/script/argv.c: Cosmetic changes.
802 * grub-core/script/execute.c (grub_script_arglist_to_argv):
803 Refactored to perform wildcard expansion on arguments.
804 * include/grub/script_sh.h (grub_script_wildcard_translator): New
805 struct.
806
807 * tests/util/grub-shell.in: Fix quoting for read input.
808
5f0c4aca
BC
8092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
810
811 Support for updating environment variables with matched substrings
812 of regexp.
813
814 * tests/grub_cmd_regexp.in: New test.
815 * Makefile.util.def: Rule for new test.
816
817 * grub-core/commands/regexp.c: New option -s to update environment
818 variables with regexp matches.
819
3759a35f
SJ
8202010-09-04 Szymon Janc <szymon@janc.net.pl>
821
822 * include/grub/file.h (grub_file): New member not_easly_seekable.
823 (grub_file_seekable): New inline function.
824 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
825 easily seekable.
826 (grub_gzio_open): Set not_easly_seekable.
827 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
828 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
829
ed8c6dec
BC
8302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
831
832 Support for options to appear multiple times on cmdline.
833
834 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
835 * grub-core/commands/extcmd.c: Support for repeatable option.
836 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
837 repeatable option support.
838
839 Refactor menuentry into a regular command.
840
841 * grub-core/commands/menuentry.c: New file, menuentry command
842 implementation.
843 * grub-core/Makefile.core.def: Rule update for normal.mod.
844 * grub-core/normal/main.c: Moved menuentry creation to
845 grub-core/commands/menuentry.c.
846 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
847 (grub_menu_execute_entry_real): Removed.
848 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
849 function.
850 (grub_script_execute_menuentry): Removed.
851 * grub-core/script/parser.y (menuentry): Removed.
852 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
853 * grub-core/script/yylex.l (menuentry): Removed.
854 * include/grub/menu.h (grub_menu_init): New prototype.
855 (grub_menu_fini): New prototype.
856 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
857 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
858 (grub_script_execute_sourcecode): New prototype.
859
dacd0cf0
BC
8602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
861
862 "return" command for GRUB script functions.
863
864 * tests/grub_script_return.in: New test.
865 * Makefile.util.def: Rules for new test.
866
867 * grub-core/script/execute.c (grub_script_return): New function.
868 * grub-core/script/main.c: Register/unregister return commaond.
869 * include/grub/script_sh.h (grub_script_return): New prototype.
870
52e72f9d
BC
8712010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
872
873 "setparams" command to update positional parameters.
874
875 * tests/grub_script_setparams.in: New test.
876 * Makefile.util.def: Rules for new test.
877
878 * grub-core/script/argv.c (grub_script_argv_make): New function.
879 * grub-core/script/execute.c (replace_scope): New function.
880 (grub_script_setparams): New function.
881 * grub-core/script/lexer.c: Remove unused variables.
882 * grub-core/script/main.c: Register/unregister setparams command.
883 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
884 (grub_script_setparams): New prototype.
885
25b60c91
BC
8862010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
887
888 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
889 grub_free order.
890
37e7bf68
BC
8912010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
892
893 Support for passing block of commands as an argument to extcmds.
894
895 * Makefile.util.def: Rules for new test.
896 * tests/grub_script_blockarg.in: New test.
897 * grub-core/tests/test_blockarg.c: New file, block argument
898 command used in the test.
899
900 * include/grub/extcmd.h (grub_extcmd_context): New struct.
901 (grub_register_extcmd_prio): New function prototype.
902 (grub_extcmd_dispatcher): New function prototype.
903 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
904 type.
905 * include/grub/script_sh.h (struct grub_script): New members
906 `children', `next_siblings' and `refcnt' for block arguments and
907 reference counting.
908 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
909 (grub_script_arg): New member `script' for block argument.
910 (grub_script_argv): New member `script' for block argument.
911 (grub_parser_param): New member `scripts' for block argument.
912 (grub_script_mem_free): New extern function prototype.
913 (grub_script_ref): New function prototype.
914 (grub_script_unref): New function prototype.
915
916 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
917 extcmd form to support block arguments.
918 * grub-core/script/argv.c: Block arguments support.
919 * grub-core/script/execute.c: Likewise.
920 * grub-core/script/lexer.c: Likewise.
921 * grub-core/script/main.c: Likewise.
922 * grub-core/script/script.c: Likewise.
923 * grub-core/script/parser.y: Likewise. New `block' and `block0'
924 non-terminals.
925
926 * grub-core/commands/acpi.c: Update extcmd implementations with
927 grub_extcmd_context_t.
928 * grub-core/commands/cat.c: Likewise.
929 * grub-core/commands/echo.c: Likewise.
930 * grub-core/commands/extcmd.c: Likewise.
931 * grub-core/commands/hashsum.c: Likewise.
932 * grub-core/commands/hdparm.c: Likewise.
933 * grub-core/commands/help.c: Likewise.
934 * grub-core/commands/hexdump.c: Likewise.
935 * grub-core/commands/i386/cpuid.c: Likewise.
936 * grub-core/commands/i386/pc/drivemap.c: Likewise.
937 * grub-core/commands/i386/pc/halt.c: Likewise.
938 * grub-core/commands/i386/pc/sendkey.c: Likewise.
939 * grub-core/commands/iorw.c: Likewise.
940 * grub-core/commands/keystatus.c: Likewise.
941 * grub-core/commands/loadenv.c: Likewise.
942 * grub-core/commands/ls.c: Likewise.
943 * grub-core/commands/lspci.c: Likewise.
944 * grub-core/commands/memrw.c: Likewise.
945 * grub-core/commands/probe.c: Likewise.
946 * grub-core/commands/search_wrap.c: Likewise.
947 * grub-core/commands/setpci.c: Likewise.
948 * grub-core/commands/sleep.c: Likewise.
949 * grub-core/disk/loopback.c: Likewise.
950 * grub-core/hello/hello.c: Likewise.
951 * grub-core/loader/i386/bsd.c: Likewise.
952 * grub-core/loader/xnu.c: Likewise.
953 * grub-core/term/gfxterm.c: Likewise.
954 * grub-core/term/serial.c: Likewise.
955 * grub-core/tests/lib/functional_test.c: Likewise.
956
888d1500
BC
9572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
958
959 Multi-line quoted strings support.
960
961 * grub-core/script/lexer.c (append_newline): Removed.
962 (grub_script_lexer_yywrap): Refactored.
963 (grub_script_lexer_init): Refactored.
964 * grub-core/script/yylex.l (yywrap): New function.
965 (grub_lexer_resplit): New function.
966 (grub_lexer_unput): New function.
967 * include/grub/script_sh.h (grub_lexer_param): New members, unput
968 and resplit.
969 * tests/grub_script_echo1.in: Added few more testcases.
970
dda060dd
VS
9712010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * grub-core/kern/misc.c: Don't add abort alias in utils.
974 Reported by: echoline.
975
6556eba9
BC
9762010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
977
978 Add missing files into "make dist" tarball for other platforms.
979
980 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
981 * conf/Makefile.common (dist_noinst_DATA): New variable.
982 * conf/Makefile.extra-dist: Added missing make dist files.
983 * grub-core/Makefile.core.def: Likewise.
984
c8e7bf5f
VS
9852010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
986
987 Compress grub_prefix.
988
989 * grub-core/boot/i386/pc/lnxboot.S: Use
990 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
991 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
992 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
993 GRUB_MACHINE_PREFIX_END. All users updated.
994 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
995 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
996 + 0x40.
997 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
998 * util/grub-mkimage.c (image_target_desc): Change data_end to
999 prefix_end. All users updated.
1000
a7c00cdb
VS
10012010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
1004 value.
1005 (grub_openbsd_boot): Likewise.
1006 (grub_netbsd_boot): Likewise.
1007 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
1008 (grub_xnu_boot): Likewise.
1009
9f915872
VS
10102010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * configure.ac: Clean LIBS variable after tests.
1013
efa1bee7
CW
10142010-09-02 Colin Watson <cjwatson@ubuntu.com>
1015
1016 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
1017
61d720e5
VS
10182010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
1021 echo if libdevmapper will be used.
1022
ef8e0ec8
IT
10232010-09-02 Ian Turner <Ian.Turner@deshaw.com>
1024
1025 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
1026 constant for the same file.
1027
03e261d8
VS
10282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
1031
c2a4eba6
CW
10322010-09-02 Colin Watson <cjwatson@ubuntu.com>
1033
1034 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
1035 grub-core/*.pp.
1036
9056cbf3
CW
10372010-09-02 Colin Watson <cjwatson@ubuntu.com>
1038
1039 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
1040 required by the boot protocol.
1041
1042 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
1043 ebp and edi members.
1044 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
1045 state.ebp and state.edi.
1046 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
1047 %ebp and %edi according to grub_relocator32_ebp and
1048 grub_relocator32_edi respectively.
1049 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
1050 and state.edi.
1051
529cc99a
VS
10522010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 Add i386-pc-pxe image target.
1055
1056 * util/grub-mkimage.c (image_target_desc): New enum value
1057 IMAGE_I386_PC_PXE.
1058 (image_targets): New target i386-pc-pxe.
1059 (generate_image): Handle i386-pc-pxe image.
1060
9a093920
VS
10612010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 Fix grub_pxe_scan.
1064
1065 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
1066 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
1067 All users updated.
1068 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
1069 (grub_pxe_pxenv): Correct type.
1070
f9cefc4e
CW
10712010-09-01 Colin Watson <cjwatson@ubuntu.com>
1072
1073 * NEWS: Document most of the important changes since 1.98.
1074
4066f57f
CW
10752010-09-01 Colin Watson <cjwatson@ubuntu.com>
1076
1077 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
1078 generated manual page) a little.
1079
da2891f9
CW
10802010-09-01 Colin Watson <cjwatson@ubuntu.com>
1081
1082 * docs/grub.texi: Add myself as an author.
1083
ad717fae
VS
10842010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * Makefile.util.def (libgrub.a): Add missing sunpc.
1087 Reported by: Seth Goldberg.
1088
eefe8abd
VS
10892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 Interrupt wrapping and code simplifications.
1092
9494ef9a
VS
1093 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
1094 x86_noieee1275 which are functionaly equivalent in this case.
1095 (grub-install): Make source on each platform explicit. Enable on
1096 all noemu.
1097 * gentpl.py (x86_efi_pc): Removed group.
1098 (x86_noefi): Likewise.
1099 (i386_noefi): Likewise.
1100 (x86_noieee1275): Likewise.
1101 (i386_noieee1275): Likewise.
1102 (i386_noefi_noieee1275): Likewise.
1103 (i386_pc_qemu_coreboot): Likewise.
1104 (i386_coreboot_multiboot): Likewise.
1105 (i386_pc_coreboot_multiboot_qemu): Likewise.
1106 (x86_noefi_mips): Likewise.
1107 (noieee1275): Likewise.
1108 (ieee1275_mips): Likewise.
1109 (noemu_noieee1275): Likewise.
1110 (cmos): New group.
1111 (usb): Likewise.
1112 (videoinkernel): Likewise.
1113 (videomodules): Likewise.
eefe8abd 1114 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
1115 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
1116 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
1117 include/grub/loader.h, include/grub/msdos_partition.h,
1118 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
1119 include/grub/machine/console.h, include/grub/machine/vga.h,
1120 include/grub/machine/vbe.h, include/grub/machine/init.h,
1121 include/grub/machine/kernel.h, include/grub/cpu/time.h,
1122 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 1123 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
1124 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
1125 * grub-core/Makefile.core.def (kernel): Explicit the source for
1126 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
1127 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
1128 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
1129 Use videoinkernel tag.
1130 (usb): Enable on all usb.
1131 (usbserial_common): Likewise.
1132 (usbserial_pl2303): Likewise.
1133 (usbserial_ftdi): Likewise.
1134 (uhci): Enable on all x86.
1135 (ohci): Enable on all pci.
1136 (cmostest): Enable on all CMOS.
1137 (acpi): Include commands/acpi.c on all platforms.
1138 (halt): Add relevant lib/*/halt.c.
1139 (hdparm): Enable on all pci.
1140 (lspci): Likewise.
1141 (usbtest): Enable on all usb.
1142 (ata): Enable on all pci.
1143 (ata_pthru): Likewise.
1144 (usbms): Enable on all usb.
1145 (usb_keyboard): Likewise.
1146 (font): Use tag videomodules.
1147 (bufio): Likewise.
1148 (datetime): Use tag cmos. Enable on all noemu.
1149 (mmap): Use tags common and x86.
1150 (gfxterm): Use tag videomodules.
1151 (bitmap): Likewise.
1152 (bitmap_scale): Likewise.
1153 (video_fb): Likewise.
1154 (video): Likewise.
1155 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
1156 adjust padding accordingly. All users updated.
1157 (grub_ohci_transaction): Fix bad format specification.
1158 (GRUB_MOD_INIT): Add asserts for struct size.
1159 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
1160 (grub_alloc_td): Likewise.
1161 (grub_free_queue): Likewise.
1162 (grub_uhci_transfer): Likewise.
1163 (grub_uhci_transaction): Fix bad format specification.
1164 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
1165 (grub_usb_bulk_readwrite): Likewise.
1166 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
1167 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
1168 Made static.
1169 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
1170 Made static.
1171 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
1172 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
1173 Transformed into C.
1174 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
1175 Moved from here ...
1176 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
1177 ... here. Transformed into C. Made static.
1178 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
1179 Moved from here ...
1180 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
1181 ... here. Transformed into C. Made static.
1182 * grub-core/kern/i386/pc/startup.S
1183 (grub_biosdisk_check_int13_extensions): Moved from here ...
1184 * grub-core/disk/i386/pc/biosdisk.c
1185 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
1186 Made static.
1187 * grub-core/kern/i386/pc/startup.S
1188 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
1189 * grub-core/disk/i386/pc/biosdisk.c
1190 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
1191 Transformed into C. Made static.
1192 * grub-core/kern/i386/pc/startup.S
1193 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
1194 * grub-core/disk/i386/pc/biosdisk.c
1195 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
1196 Transformed into C. Made static.
1197 * grub-core/kern/i386/pc/startup.S
1198 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
1199 * grub-core/disk/i386/pc/biosdisk.c
1200 (grub_biosdisk_get_diskinfo_standard): ... here.
1201 Transformed into C. Made static.
1202 * grub-core/kern/i386/pc/startup.S
1203 (grub_biosdisk_get_num_floppies): Moved from here ...
1204 * grub-core/disk/i386/pc/biosdisk.c
1205 (grub_biosdisk_get_num_floppies): ... here.
1206 Transformed into C. Made static.
1207 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
1208 New function.
1209 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
1210 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
1211 Transformed into C. Made static.
1212 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
1213 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
1214 Transformed into C. Made static.
1215 * grub-core/kern/i386/ieee1275/init.c: Removed.
1216 * grub-core/kern/i386/misc.S: Likewise.
1217 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
1218 Splitted from here ...
1219 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
1220 Transformed into C. Made static. All users updated.
1221 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
1222 Transformed into C. Made static. All users updated.
1223 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
1224 Moved from here...
1225 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
1226 Transformed into C. Made static. All users updated.
1227 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
1228 Moved from here...
1229 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
1230 Transformed into C. Made static. All users updated.
1231 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
1232 Removed (replaced by C version).
1233 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
1234 Moved from here...
1235 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
1236 Transformed into C. Made static.
1237 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
1238 Moved from here...
1239 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
1240 ... here. Transformed into C.
1241 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
1242 Moved from here...
1243 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
1244 ... here. Transformed into C.
1245 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
1246 Moved from here...
1247 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
1248 ... here. Transformed into C. Made static.
1249 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
1250 Moved from here...
1251 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
1252 ... here. Transformed into C.
21ed554b
VS
1253 * grub-core/kern/i386/pc/startup.S
1254 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
1255 * grub-core/video/i386/pc/vbe.c
1256 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
1257 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
1258 Moved from here...
1259 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
1260 ... here. Transformed into C.
1261 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
1262 Moved from here...
1263 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
1264 ... here. Transformed into C.
1265 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
1266 Moved from here...
1267 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
1268 ... here. Transformed into C.
1269 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
1270 Moved from here...
1271 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
1272 ... here. Transformed into C.
1273 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
1274 Moved from here...
1275 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
1276 ... here. Transformed into C. Made static.
1277 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
1278 Moved from here...
1279 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
1280 ... here. Transformed into C. Made static.
1281 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
1282 Moved from here...
1283 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
1284 ... here. Transformed into C. Made static.
1285 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
1286 pxe_rm_entry as third argument.
1287 (grub_bios_interrupt): New function.
1288 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
1289 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
1290 of calling grub_stop.
1291 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
1292 * grub-core/lib/efi/halt.c (grub_halt): ...here.
1293 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
1294 * grub-core/lib/emu/halt.c (grub_halt): ... here.
1295 * grub-core/lib/i386/halt.c: Moved from here ...
1296 * grub-core/lib/i386/halt.c: ... here.
1297 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
1298 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
1299 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
1300 grub_stop_floppy.
1301 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
1302 * include/grub/i386/coreboot/init.h: Removed.
1303 * include/grub/i386/multiboot/init.h: Likewise.
1304 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
1305 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
1306 * include/grub/i386/pc/int.h: New file.
1307 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
1308 (grub_pxe_scan): Removed.
1309 (grub_pxe_call): Update prototype.
1310 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
1311 prototypes.
1312 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
1313 * include/grub/i386/qemu/init.h: Removed.
1314 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
1315 noreturn.
1316 (grub_halt): Likewise.
1317 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
1318 (grub_reboot): Likewise.
1319 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
1320 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
1321 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
1322
215dd471
RM
13232010-08-30 Robert Millan <rmh@gnu.org>
1324
1325 * NEWS: Document addition of ZFS support in `grub-install' and
1326 `grub-mkconfig'.
1327
ebd65b82
BC
13282010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
1329
1330 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
1331 dprintf output.
1332
11721d19
VS
13332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 Remove leftover embedding of font objects.
1336
1337 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
1338 * util/grub-install.in (font): Removed.
1339 * util/grub-mkimage.c (generate_image): Remove font support. All users
1340 updated.
1341
b4c1aae0
VS
13422010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 1345 Reported by: Ian Turner
b4c1aae0 1346
8920a08d
VS
13472010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
1350 timeout to avoid indefinite boot stalling.
1351
f21db033
VS
13522010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
1355 (grub_env_write_color_highlight): Likewise.
1356
9a9de209
VS
13572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * grub-core/normal/term.c (print_more): Return to normal and not
1360 to standard state after printing "---MORE---".
1361
3dca01d7
VS
13622010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
1365 Mask out the bit 0x80 since it has other meaning that specifiing color.
1366
0b986c40
VS
13672010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 New relocator. Allows for more kernel support and more straightforward
1370 loader writing.
1371
1372 * Makefile.am (BOOTTARGET): New variable.
1373 (QEMU32): Likewise.
1374 (linux.init.x86_64): New target.
1375 (linux.init.i386): Likewise.
1376 (multiboot.elf): Likewise.
1377 (kfreebsd.elf): Likewise.
1378 (kfreebsd.aout): Likewise.
1379 (pc-chainloader.elf): Likewise.
1380 (pc-chainloader.bin): Likewise.
1381 (ntldr.elf): Likewise.
1382 (ntldr.bin): Likewise.
1383 (multiboot2.elf): Likewise.
1384 (kfreebsd.init.x86_64): Likewise.
1385 (kfreebsd.init.i386): Likewise.
1386 (knetbsd.init.i386): Likewise.
1387 (kopenbsd.init.i386): Likewise.
1388 (knetbsd.init.x86_64): Likewise.
1389 (kopenbsd.init.x86_64): Likewise.
1390 (linux-initramfs.i386): Likewise.
1391 (linux-initramfs.x86_64): Likewise.
1392 (kfreebsd-mfsroot.i386.img): Likewise.
1393 (knetbsd.image.i386): Likewise.
1394 (kopenbsd.image.i386): Likewise.
1395 (kopenbsd.image.x86_64): Likewise.
1396 (knetbsd.miniroot-image.i386.img): Likewise.
1397 (kfreebsd-mfsroot.x86_64.img): Likewise.
1398 (knetbsd.image.x86_64): Likewise.
1399 (knetbsd.miniroot-image.x86_64.img): Likewise.
1400 (kfreebsd-mfsroot.i386.gz): Likewise.
1401 (bootcheck-kfreebsd-i386): Likewise.
1402 (kfreebsd-mfsroot.x86_64.gz): Likewise.
1403 (bootcheck-kfreebsd-x86_64): Likewise.
1404 (knetbsd.miniroot-image.i386.gz): Likewise.
1405 (bootcheck-knetbsd-i386): Likewise.
1406 (bootcheck-kopenbsd-i386): Likewise.
1407 (bootcheck-kopenbsd-x86_64): Likewise.
1408 (knetbsd.miniroot-image.x86_64.gz): Likewise.
1409 (bootcheck-knetbsd-x86_64): Likewise.
1410 (bootcheck-linux-i386): Likewise.
1411 (bootcheck-linux-x86_64): Likewise.
1412 (bootcheck-linux16-i386): Likewise.
1413 (bootcheck-linux16-x86_64): Likewise.
1414 (bootcheck-multiboot): Likewise.
1415 (bootcheck-multiboot2): Likewise.
1416 (bootcheck-kfreebsd-aout): Likewise.
1417 (bootcheck-pc-chainloader): Likewise.
1418 (bootcheck-ntldr): Likewise.
1419 (CLEANFILES): Add new targets.
1420 (BOOTCHECKS): New variable.
1421 (.PHONY): Add bootchecks.
1422 (SUCCESSFUL_BOOT_STRING): New variable.
1423 (BOOTCHECK_TIMEOUT): Likewise.
1424 (bootcheck): New target
1425 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
1426 * configure.ac: Correct efiemu excuse.
1427 * docs/grub.texi (Supported kernels): New chapter.
1428 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
1429 include/grub/mm_private.h. Simplify inclusion of
1430 include/grub/boot.h, include/grub/loader.h
1431 and include/grub/msdos_partition.h
1432 (KERNEL_HEADER_FILES) [i386_coreboot]:
1433 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
1434 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
1435 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
1436 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
1437 include/grub/machine/loader.h.
1438 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
1439 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
1440 extra_dist.
1441 (pci.mod): Enable on i386-multiboot.
1442 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
1443 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
1444 i386-qemu.
1445 (relocator.mod): Rewritten.
1446 (aout.mod): Enable on all x86.
1447 (bsd.mod): Likewise.
1448 (ntldr.mod): New module.
1449 (linux.mod): Use loader/i386/linux.c on all x86.
1450 (xnu.mod): Enable on all x86.
1451 (vga_text.mod): disable on EFI and QEMU.
1452 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
1453 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
1454 * grub-core/efiemu/loadcore.c: Likewise.
1455 * grub-core/efiemu/main.c: Likewise.
1456 (grub_efiemu_exit_boot_services): Removed.
1457 (grub_efiemu_finish_boot_services): Likewise.
1458 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
1459 function.
1460 * grub-core/efiemu/i386/nocfgtables.c: New file.
1461 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
1462 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
1463 (grub_efi_finish_boot_services): Moved from here ...
1464 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
1465 Fille finish memory map and related data.
1466 (finish_mmap_buf): New variable.
1467 (grub_efi_uintn_t finish_mmap_size): Likewise.
1468 (grub_efi_uintn_t finish_key): Likewise.
1469 (grub_efi_uintn_t finish_desc_size): Likewise.
1470 (grub_efi_uint32_t finish_desc_version): Likewise.
1471 (grub_efi_is_finished): Likewise.
1472 (grub_efi_get_memory_map): Use saved memory map if EFI is already
1473 finished.
1474 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
1475 (grub_elf64_phdr_iterate): Likewise.
1476 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
1477 (grub_os_area_size): Likewise.
1478 (grub_machine_init): Don't reserve os area.
1479 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
1480 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
1481 * grub-core/kern/i386/loader.S: Removed.
1482 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
1483 (grub_os_area_size): Likewise.
1484 (grub_machine_init): Don't reserve os area.
1485 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1486 Don't call grub_dl_unload_all.
1487 Don't include loader.S.
1488 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
1489 Declare the memory after _end as available.
1490 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 1491 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 1492 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
1493 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
1494 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
1495 * include/grub/mm_private.h (grub_mm_header): ... here.
1496 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
1497 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
1498 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
1499 (grub_mm_region): ..here. Removed addr. Added pre_size.
1500 All users updated.
1501 * grub-core/kern/mm.c (base): Renamed to ...
1502 (grub_mm_base): ... this. Made global.
1503 (grub_real_malloc): Alloc from end of region.
1504 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
1505 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
1506 * grub-core/kern/powerpc/cache_flush.S: ... here.
1507 * grub-core/lib/efi/relocator.c: New file.
1508 * grub-core/lib/i386/relocator.c: Rewritten.
1509 * grub-core/lib/i386/relocator16.S: New file.
1510 * grub-core/lib/i386/relocator32.S: Likewise.
1511 * grub-core/lib/i386/relocator64.S: Likewise.
1512 * grub-core/lib/i386/relocator_asm.S: Rewritten.
1513 * grub-core/lib/i386/relocator_common.S: New file.
1514 * grub-core/lib/ieee1275/relocator.c: Likewise.
1515 * grub-core/lib/mips/relocator.c: Rewritten.
1516 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
1517 stylistic adjustments.
1518 * grub-core/lib/powerpc/relocator.c: New file.
1519 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
1520 * grub-core/lib/relocator.c: Rewritten.
1521 * grub-core/lib/x86_64/relocator_asm.S: New file.
1522 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
1523 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
1524 (bsd_tag): New struct.
1525 (tags): New variable.
1526 (tags_last): Likewise.
1527 (netbsd_module): New struct.
1528 (netbsd_mods): New variable.
1529 (netbsd_mods_last): Likewise.
1530 (openbsd_opts): New parameter "serial".
1531 (OPENBSD_SERIAL_ARG): New definition.
1532 (netbsd_opts): New parameter "serial".
1533 (NETBSD_SERIAL_ARG): New definition.
1534 (grub_freebsd_add_meta): Reorganised into ...
1535 (grub_bsd_add_meta): ...this. All users updated.
1536 (grub_freebsd_add_mmap): Reorganised into ...
1537 (generate_e820_mmap): ...this...
1538 (grub_bsd_add_mmap): ...and this. All users updated.
1539 (grub_freebsd_list_modules): Use tags.
1540 (grub_netbsd_add_meta_module): New function.
1541 (grub_netbsd_list_modules): Likewise.
1542 (grub_freebsd_boot): Use relocator and finish EFI.
1543 (grub_openbsd_boot): Likewise.
1544 (grub_netbsd_setup_video): New function.
1545 (grub_netbsd_add_modules): Likewise.
1546 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
1547 and finish EFI.
1548 (grub_bsd_unload): Unload tags.
1549 (grub_bsd_load_aout): Use relocator.
1550 (grub_bsd_elf32_size_hook): New function.
1551 (grub_bsd_elf32_hook): Use relocator.
1552 (grub_bsd_elf64_size_hook): New function.
1553 (grub_bsd_elf64_hook): Use relocator.
1554 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
1555 (grub_bsd_load): Zero-out openbsd_ramdisk.
1556 (grub_bsd_load): Use relocator.
1557 (grub_cmd_openbsd): Support serial.
1558 (grub_cmd_netbsd): Support modules.
1559 (grub_cmd_freebsd_module): Use relocator.
1560 (grub_netbsd_module_load): New function.
1561 (grub_cmd_netbsd_module): Likewise.
1562 (grub_cmd_openbsd_ramdisk): Likewise.
1563 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
1564 kopenbsd_ramdisk.
1565 (GRUB_MOD_FINI): Unregister new commands.
1566 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
1567 (grub_freebsd_load_elfmodule_obj): Use relocator.
1568 (grub_freebsd_load_elfmodule): Likewise.
1569 (grub_freebsd_load_elf_meta): Likewise.
1570 (grub_netbsd_load_elf_meta): New function.
1571 (grub_openbsd_find_ramdisk): Likewise.
1572 * grub-core/loader/i386/bsd_helper.S: Removed.
1573 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
1574 * grub-core/loader/i386/bsd_trampoline.S: Removed.
1575 * grub-core/loader/i386/efi/linux.c: Likewise.
1576 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
1577 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
1578 (DEFAULT_VIDEO_MODE): Likewise.
1579 (real_mode_target): New variable.
1580 (prot_mode_target): Likewise.
1581 (initrd_mem_target): Likewise.
1582 (relocator): Likewise.
1583 (efi_mmap_buf): Likewise.
1584 (efi_mmap_size): Likewise.
1585 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
1586 (free_pages): Use relocator.
1587 (allocate_pages): Account for efi_mmap and use relocator. Return error.
1588 (grub_linux_setup_video): Return error.
1589 (grub_linux_trampoline_start): Removed.
1590 (grub_linux_trampoline_end): Likewise.
1591 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
1592 andd video parameters depending on firmware.
1593 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
1594 [GRUB_MACHINE_EFI]: Pass EFI parameters.
1595 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
1596 (grub_cmd_initrd): Use relocator.
1597 * grub-core/loader/i386/linux_trampoline.S: Removed.
1598 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
1599 (elf_sec_entsize): Likewise.
1600 (elf_sec_shstrndx): Likewise.
1601 (elf_sections): Likewise.
1602 (grub_multiboot_load): Use relocator.
1603 (grub_multiboot_get_mbi_size): Account for sections.
1604 (grub_multiboot_make_mbi): Use relocator and support sections.
1605 (grub_multiboot_add_elfsyms): New function.
1606 (grub_multiboot_free_mbi): Free sections.
1607 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
1608 (grub_linux_real_target): Likewise.
1609 (grub_linux_real_chunk): Likewise.
1610 (grub_linux16_prot_size): Likewise.
1611 (grub_linux16_boot): Use relocator.
1612 (grub_linux_unload): Unload relocator.
1613 (grub_cmd_linux): Use relocator.
1614 (grub_cmd_initrd): Likewise.
1615 * grub-core/loader/i386/pc/ntldr.c: New file.
1616 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
1617 Don't try to guess CPU frequency.
1618 (grub_xnu_set_video): Stretch bitmap.
1619 (grub_xnu_boot): Use relocator.
1620 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
1621 (grub_linux_unload): Free relocator.
1622 (grub_linux_load32): Use relocator.
1623 (grub_linux_load64): Likewise.
1624 (grub_cmd_initrd): Likewise.
1625 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
1626 (grub_multiboot_unload): Unload relocator.
1627 (grub_cmd_multiboot): Use relocator.
1628 (grub_cmd_module): Likewise.
1629 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
1630 Use relocator and support sections.
1631 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
1632 (elf_sec_entsize): Likewise.
1633 (elf_sec_shstrndx): Likewise.
1634 (elf_sections): Likewise.
1635 (grub_multiboot_load): Use relocator.
1636 (grub_multiboot_get_mbi_size): Account for sections.
1637 (grub_multiboot_make_mbi): Use relocator and support sections.
1638 (grub_multiboot_add_elfsyms): New function.
1639 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
1640 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
1641 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
1642 Prototype changed. All users updated.
1643 (grub_xnu_align_heap): Simplified.
1644 (grub_xnu_writetree_toheap): Likewise.
1645 (grub_xnu_unload): Unload relocator.
1646 (grub_cmd_xnu_kernel): Use relocator.
1647 (grub_cmd_xnu_kernel64): Likewise.
1648 (grub_xnu_register_memory): Simplified.
1649 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
1650 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
1651 EFI is finished.
1652 (grub_console_checkkey): Likewise.
1653 (grub_console_getkey): Likewise.
1654 (grub_console_getwh): Likewise.
1655 (grub_console_getxy): Likewise.
1656 (grub_console_gotoxy): Likewise.
1657 (grub_console_cls): Likewise.
1658 (grub_console_setcolorstate): Likewise.
1659 (grub_console_setcursor): Likewise.
1660 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
1661 * grub-core/tests/boot/kbsd.init-i386.S: New file.
1662 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
1663 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
1664 * grub-core/tests/boot/kernel-8086.S: Likewise.
1665 * grub-core/tests/boot/kernel-i386.S: Likewise.
1666 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
1667 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
1668 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
1669 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
1670 * grub-core/tests/boot/knetbsd.cfg: Likewise.
1671 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
1672 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
1673 * grub-core/tests/boot/linux.cfg: Likewise.
1674 * grub-core/tests/boot/linux.init-i386.S: Likewise.
1675 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
1676 * grub-core/tests/boot/linux16.cfg: Likewise.
1677 * grub-core/tests/boot/multiboot.cfg: Likewise.
1678 * grub-core/tests/boot/multiboot2.cfg: Likewise.
1679 * grub-core/tests/boot/ntldr.cfg: Likewise.
1680 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
1681 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
1682 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
1683 New definition.
1684 * include/grub/dl.h (grub_dl_unload_all): Removed.
1685 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
1686 (grub_efi_finish_boot_services): Change prototype.
1687 (grub_efi_is_finished): New variable.
1688 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
1689 Changed prototype.
1690 (grub_efiemu_finish_boot_services): Removed.
1691 (grub_machine_efiemu_init_tables): New prototype.
1692 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
1693 (grub_elf64_phdr_iterate): Likewise.
1694 * include/grub/i386/bsd.h: Include relocator.h.
1695 (freebsd_tag_header): New struct.
1696 (grub_openbsd_bios_mmap): Removed.
1697 (grub_unix_real_boot): Removed.
1698 (grub_freebsd_load_elfmodule32): Changed prototype.
1699 (grub_freebsd_load_elfmodule_obj64): Likewise.
1700 (grub_freebsd_load_elf_meta32): Likewise.
1701 (grub_freebsd_load_elf_meta64): Likewise.
1702 (grub_freebsd_add_meta): Removed.
1703 (grub_netbsd_load_elf_meta32): New prototype.
1704 (grub_netbsd_load_elf_meta64): Likewise.
1705 (grub_bsd_add_meta): Likewise.
1706 (grub_openbsd_ramdisk_descriptor): New struct.
1707 (grub_openbsd_find_ramdisk32): New prototype.
1708 (grub_openbsd_find_ramdisk64): Likewise.
1709 * include/grub/i386/coreboot/loader.h: Removed.
1710 * include/grub/i386/efi/loader.h: Likewise.
1711 * include/grub/i386/ieee1275/loader.h: Likewise.
1712 * include/grub/i386/linux.h (linux_kernel_header): Change void *
1713 to grub_uint32_t.
1714 * include/grub/i386/loader.h: Removed.
1715 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
1716 value.
1717 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
1718 (grub_phys_addr_t): New type.
1719 (grub_vtop): New inline function.
1720 (grub_map_memory): Likewise.
1721 (grub_unmap_memory): Likewise.
1722 * include/grub/i386/multiboot/loader.h: Removed.
1723 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
1724 (NETBSD_BTINFO_CONSOLE): New definition.
1725 (NETBSD_BTINFO_SYMTAB): Likewise.
1726 (NETBSD_BTINFO_MODULES): Likewise.
1727 (NETBSD_BTINFO_FRAMEBUF): Likewise.
1728 (grub_netbsd_bootinfo): New struct.
1729 (grub_netbsd_btinfo_common): Use explicit bitsize.
1730 (grub_netbsd_btinfo_mmap_entry): Removed.
1731 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
1732 (grub_netbsd_btinfo_bootdisk): New struct.
1733 (grub_netbsd_btinfo_symtab): Likewise.
1734 (grub_netbsd_btinfo_serial): Likewise.
1735 (grub_netbsd_btinfo_modules): Likewise.
1736 (grub_netbsd_btinfo_framebuf): Likewise.
1737 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
1738 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
1739 Likewise.
1740 (grub_openbsd_bootargs): Use explicit bitsize.
1741 (grub_openbsd_bootarg_console): New struct.
1742 (GRUB_OPENBSD_COM_MAJOR): New definition.
1743 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
1744 * include/grub/i386/pc/efiemu.h: Removed.
1745 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
1746 * include/grub/i386/qemu/loader.h: Removed.
1747 * include/grub/i386/relocator.h: Rewritten.
1748 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
1749 * include/grub/mips/memory.h: New file.
1750 * include/grub/mips/multiboot.h: Rewritten.
1751 * include/grub/mips/relocator.h: Rewritten.
1752 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
1753 (grub_vtop): New function.
1754 (grub_map_memory): Likewise.
1755 (grub_unmap_memory): Likewise.
1756 * include/grub/misc.h (ALIGN_DOWN): New definition.
1757 * include/grub/mm.h (grub_mm_check_real): New proto.
1758 (GRUB_MM_CHECK): New definition.
1759 * include/grub/mm_private.h: New file.
1760 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
1761 (grub_multiboot_get_mbi_size): Removed.
1762 (grub_multiboot_make_mbi): Change prottype.
1763 (grub_multiboot_set_accepts_video): New proto.
1764 (grub_multiboot_add_elfsyms): Likewise.
1765 (grub_multiboot_payload_eip): New variable.
1766 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
1767 New prototype.
1768 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
1769 New definition.
1770 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
1771 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
1772 * include/grub/powerpc/ieee1275/loader.h: Removed.
1773 * include/grub/powerpc/memory.h: New file.
1774 * include/grub/powerpc/relocator.h: Likewise.
1775 * include/grub/relocator.h: Likewise.
1776 * include/grub/relocator_private.h: Likewise.
1777 * include/grub/sparc64/ieee1275/loader.h: Removed.
1778 * include/grub/x86_64/memory.h: New file.
1779 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
1780 (grub_xnu_heap_malloc): Likewise.
1781 (grub_xnu_heap_real_start): Removed.
1782 (grub_xnu_heap_start): Likewise.
1783 (grub_xnu_relocator): New variable.
1784 (grub_xnu_heap_target_start): Likewise.
1785 * tests/util/grub-shell.in: Support non-pc.
1786 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 1787
5303b85d
VS
17882010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
1791 on malloc error.
1792 (grub_bidi_logical_to_visual): Check that malloc succeded.
1793 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
1794 puts.
1795 (grub_xputs_normal): Likewise.
1796
d768d159
VS
17972010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
1800 extra_dist.
1801
18022010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * grub-core/efiemu/runtime/efiemu.sh: Removed.
1805
5bf84df4
VS
18062010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
1809
3626810e
VS
18102010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
1813 dprintf.
1814
a7363f53
BC
18152010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
1816
1817 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
1818
902f75f6
VS
18192010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * grub-core/normal/term.c (print_more): Fix a memory leak.
1822 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
1823 (grub_xputs_normal): Likewise.
1824
3c707967
VS
18252010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
1828 the begining of the string
1829
2053cc07
VS
18302010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/script/script.c (grub_script_parse): Free parsed on
1833 failure.
1834
46422ebf
VS
18352010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
1838 on failure.
1839
9e0fa3f6
VS
18402010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
1843 return.
1844
3393cf16
VS
18452010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
1848 (scroll_up): Fix a memory leak.
1849
b17540cb
VS
18502010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
1853 errors.
1854
67140446
VS
18552010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 Handle USB pendrives exposed as floppies.
1858
1859 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
1860 floppy.
1861 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
1862 Check for partitions on all devices.
1863
e35e46fc
VS
18642010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
1867 (readkey): Likewise.
1868
d24c6190
BC
18692010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
1870
1871 Multiple variable names support to "export" command.
1872
1873 * normal/context.c (grub_cmd_export): "export" command supports
1874 multiple variable names.
1875
04ddcc6a
ST
18762010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
1877
1878 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
1879 --target=drive output to Mach device name.
1880
0c8b61d8
BC
18812010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
1882
1883 New Automake based build system for GRUB.
1884
1885 * ABOUT-NLS: New file.
1886 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
1887 in Makefile.util.def file.
1888 * Makefile.util.def: New file. Autogen build definitions file for
1889 GRUB host utils.
1890 * conf/Makefile.common: New file. Common variables for GRUB host
1891 utils and target modules.
1892 * conf/Makefile.extra-dist: New file. Extra files for make dist.
1893 * docs/Makefile.am: New file. Automake file for docs.
1894 * gentpl.py: New file. Python script to generate Autogen
1895 template.
1896 * grub-core/Makefile.am: New file. GRUB target modules' rules
1897 that doesn't fit in Makefile.core.def file.
1898 * grub-core/Makefile.core.def: New file. Autogen build
1899 definitions file for GRUB target modules.
1900 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
1901 specific setjmp.S file.
1902 * po/Makefile.am: New file.
1903
1904 * .bzrignore: New ignores.
1905 * INSTALL: New requirements, without Ruby.
1906 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
1907 * autogen.sh: Updated to invoke autogen as necessary.
1908 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
1909 and defines for Automake conditionals.
1910 * geninit.sh: Refactoring.
1911
1912 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
1913 necessary.
1914 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
1915 New prototype.
1916
1917 * include/grub/test.h: Fix functional test modules' naming.
1918 * grub-core/tests/example_functional_test.c: Fix test module name.
1919
1920 * util/misc.c: Hosted versions' of grub functions for libgrub.a
1921 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
1922 * util/grub-editenv.c: Likewise.
1923 * util/grub-fstest.c: Likewise.
1924 * util/grub-mkdevicemap.c: Likewise.
1925 * util/grub-mkfont.c: Likewise.
1926 * util/grub-mkimage.c: Likewise.
1927 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1928 * util/grub-probe.c: Likewise.
1929 * util/grub-script-check.c: Likewise.
1930 * util/i386/pc/grub-setup.c: Likewise.
1931 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1932
1933 * tests/util/grub-shell.in: Fix override directory path.
1934 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
1935 * util/import_gcry.py: Create Makefile.gcry.def file instead.
1936
1937 * util/lvm.c: Update #includes.
1938 * util/raid.c: Likewise.
1939 * util/resolve.c: Likewise.
1940 * grub-core/bus/emu/pci.c: Likewise.
1941 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
1942 * grub-core/lib/posix_wrap/string.h: Likewise.
1943 * grub-core/kern/emu/main.c: Likewise.
1944
1945 * grub-core/gensymlist.sh: New file. Script for generating kernel
1946 symbols file.
1947 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
1948
1949 * grub-core/gentrigtables.c: Fix unused variable warnings.
1950
1951 * Makefile.in: Removed.
1952 * conf/any-emu.rmk: Removed.
1953 * conf/common.rmk: Removed.
1954 * conf/i386-coreboot.rmk: Removed.
1955 * conf/i386-efi.rmk: Removed.
1956 * conf/i386-ieee1275.rmk: Removed.
1957 * conf/i386-multiboot.rmk: Removed.
1958 * conf/i386-pc.rmk: Removed.
1959 * conf/i386-qemu.rmk: Removed.
1960 * conf/i386.rmk: Removed.
1961 * conf/mips-yeeloong.rmk: Removed.
1962 * conf/mips.rmk: Removed.
1963 * conf/powerpc-ieee1275.rmk: Removed.
1964 * conf/sparc64-ieee1275.rmk: Removed.
1965 * conf/tests.rmk: Removed.
1966 * conf/x86-efi.rmk: Removed.
1967 * conf/x86_64-efi.rmk: Removed.
1968 * gendistlist.sh: Removed.
1969 * geninitheader.sh: Removed.
1970 * genkernsyms.sh.in: Removed.
1971 * genmk.rb: Removed.
1972 * gensymlist.sh.in: Removed.
1973 * mkinstalldirs: Removed.
1974 * boot: Moved ...
1975 * grub-core/boot: ... to here.
1976 * bus: Moved ...
1977 * grub-core/bus: ... to here.
1978 * commands: Moved ...
1979 * grub-core/commands: ... to here.
1980 * disk: Moved ...
1981 * grub-core/disk: ... to here.
1982 * efiemu: Moved ...
1983 * grub-core/efiemu: ... to here.
1984 * font: Moved ...
1985 * grub-core/font: ... to here.
1986 * fs: Moved ...
1987 * grub-core/fs: ... to here.
1988 * gencmdlist.sh: Moved ...
1989 * grub-core/gencmdlist.sh: ... to here.
1990 * genemuinit.sh: Moved ...
1991 * grub-core/genemuinit.sh: ... to here.
1992 * genemuinitheader.sh: Moved ...
1993 * grub-core/genemuinitheader.sh: ... to here.
1994 * genfslist.sh: Moved ...
1995 * grub-core/genfslist.sh: ... to here.
1996 * genhandlerlist.sh: Moved ...
1997 * grub-core/genhandlerlist.sh: ... to here.
1998 * genmoddep.awk: Moved ...
1999 * grub-core/genmoddep.awk: ... to here.
2000 * genmodsrc.sh: Moved ...
2001 * grub-core/genmodsrc.sh: ... to here.
2002 * genpartmaplist.sh: Moved ...
2003 * grub-core/genpartmaplist.sh: ... to here.
2004 * genparttoollist.sh: Moved ...
2005 * grub-core/genparttoollist.sh: ... to here.
2006 * genterminallist.sh: Moved ...
2007 * grub-core/genterminallist.sh: ... to here.
2008 * gentrigtables.c: Moved ...
2009 * grub-core/gentrigtables.c: ... to here.
2010 * genvideolist.sh: Moved ...
2011 * grub-core/genvideolist.sh: ... to here.
2012 * gettext: Moved ...
2013 * grub-core/gettext: ... to here.
2014 * gfxmenu: Moved ...
2015 * grub-core/gfxmenu: ... to here.
2016 * gnulib: Moved ...
2017 * grub-core/gnulib: ... to here.
2018 * hello: Moved ...
2019 * grub-core/hello: ... to here.
2020 * hook: Moved ...
2021 * grub-core/hook: ... to here.
2022 * io: Moved ...
2023 * grub-core/io: ... to here.
2024 * kern: Moved ...
2025 * grub-core/kern: ... to here.
2026 * lib: Moved ...
2027 * grub-core/lib: ... to here.
2028 * loader: Moved ...
2029 * grub-core/loader: ... to here.
2030 * mmap: Moved ...
2031 * grub-core/mmap: ... to here.
2032 * normal: Moved ...
2033 * grub-core/normal: ... to here.
2034 * partmap: Moved ...
2035 * grub-core/partmap: ... to here.
2036 * parttool: Moved ...
2037 * grub-core/parttool: ... to here.
2038 * script: Moved ...
2039 * grub-core/script: ... to here.
2040 * term: Moved ...
2041 * grub-core/term: ... to here
2042 * tests/example_functional_test.c: Moved ...
2043 * grub-core/tests/example_functional_test.c: ... to here.
2044 * tests/lib/functional_test.c: Moved ...
2045 * grub-core/tests/lib/functional_test.c: ... to here.
2046 * tests/lib/test.c: Moved ...
2047 * grub-core/tests/lib/test.c: ... to here.
2048 * video: Moved ...
2049 * grub-core/video: ... to here.
2050
645586e6
BC
20512010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
2052
2053 Replace --enable-grub-emu-modules with grub-emu-lite.
2054
2055 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
2056 cache.S.
2057
2058 * include/grub/emu/misc.h (grub_emu_init): New prototype.
2059 * kern/emu/full.c: New file. For grub-emu specific initialization.
2060 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
2061 * kern/emu/main.c: Call initialization function grub_emu_init.
2062
2063 * Makefile.in: Include grub-emu-lite in install.
2064 * commands/parttool.c: Use grub_no_autoload to differentiate
2065 between grub-emu and grub-emu-lite.
2066 * include/grub/misc.h: New variable grub_no_autoload.
2067
2068 * conf/any-emu.rmk: New rules for grub-emu-lite.
2069 * configure.ac: Remove --enable-grub-emu-modules.
2070 * genmk.rb: Cleanup unnecessary rules.
2071 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
2072
2073 * normal/main.c: Don't load list files on grub-emu-lite.
2074 * util/misc.c (grub_arch_sync_caches): Removed.
2075
f86a4030
CW
20762010-08-23 Colin Watson <cjwatson@ubuntu.com>
2077
2078 * kern/mips/startup.S (grub_prefix): Update comment to refer to
2079 grub-mkimage rather than grub-mkelfimage.
2080 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
2081
06776944
VS
20822010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
2085 a key after CapsLock or NumLock. It's just a qemu bug.
2086
df262419
VS
20872010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
2090 needed by libusb wrapper.
2091
b40ea81b
ST
20922010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
2093
2094 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
2095
dee50575
VS
20962010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
2099 --nounzip is passed.
2100
fb1d7b79
VS
21012010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 USB hotunplugging and USB serial support.
2104
2105 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
2106 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
2107 (grub_uhci_transfer): Respect timeout and set *actual.
2108 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
2109 non-standard length.
2110 (grub_usb_device_attach): Autoload modules.
2111 (GRUB_MOD_INIT): Set grub_term_poll_usb.
2112 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
2113 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
2114 users updated.
2115 (grub_usb_add_hub): Fill nports and children.
2116 (attach_root_port): Receive hub instead of controller.
2117 All users updated. Fill hub->devices.
2118 (grub_usb_root_hub): Allocate hub->devices.
2119 (detach_device): New function.
2120 (poll_nonroot_hub): Fill children and detach devices.
2121 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
2122 actual arguments. All users updated.
2123 (grub_usb_bulk_read_extended): New function.
2124 * bus/usb/serial/common.c: New file.
2125 * bus/usb/serial/ftdi.c: Likewise.
2126 * bus/usb/serial/pl2303.c: Likewise.
2127 * commands/terminal.c (handle_command): Support wildcard.
2128 * commands/usbtest.c: Output "Unknown" instead of empty string.
2129 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
2130 (usbserial_common_mod_SOURCES): New variable.
2131 (usbserial_common_mod_CFLAGS): Likewise.
2132 (usbserial_common_mod_LDFLAGS): Likewise.
2133 (pkglib_MODULES): Add usbserial_pl2303.mod.
2134 (usbserial_pl2303_mod_SOURCES): New variable.
2135 (usbserial_pl2303_mod_CFLAGS): Likewise.
2136 (usbserial_pl2303_mod_LDFLAGS): Likewise.
2137 (pkglib_MODULES): Add usbserial_ftdi.mod.
2138 (usbserial_ftdi_mod_SOURCES): New variable.
2139 (usbserial_ftdi_mod_CFLAGS): Likewise.
2140 (usbserial_ftdi_mod_LDFLAGS): Likewise.
2141 (pkglib_MODULES): Add serial.mod.
2142 (serial_mod_SOURCES): New variable.
2143 (serial_mod_CFLAGS): Likewise.
2144 (serial_mod_LDFLAGS): Likewise.
2145 * conf/i386-pc.rmk: Likewise.
2146 * conf/mips-yeeloong.rmk: Likewise.
2147 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
2148 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
2149 * disk/usbms.c (first_available_slot): New variable.
2150 (grub_usbms_attach): Don't reuse free slots due to potential cache
2151 problems.
2152 * include/grub/serial.h: Moved to ..
2153 * include/grub/ns8250.h: ...this.
2154 * include/grub/serial.h: New file.
2155 * include/grub/term.h (grub_term_poll_usb): New variable.
2156 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
2157 readkey. All users updated.
2158 (grub_terminfo_output_state): Pass term to put.
2159 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
2160 (grub_usb_controller_dev): Add timeout and actual arguments to
2161 transfer. All users updated.
2162 (grub_usb_interface): New field detach_data.
2163 (grub_usb_device): New fields children and nports.
2164 (grub_usb_ep_type_t): New type.
2165 (grub_usb_get_ep_type): New function.
2166 (grub_usb_bulk_read_extended): Likewise.
2167 * include/grub/usbdesc.h (grub_usb_desc): New type.
2168 * include/grub/usbserial.h: New file.
2169 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
2170 * kern/term.c (grub_term_poll_usb): New variable.
2171 (grub_getkey): Call grub_term_poll_usb if set.
2172 (grub_checkkey): Likewise.
2173 (grub_getkeystatus): Likewise.
2174 * term/serial.c: Moved controller-specific parts to ...
2175 * term/ns8250.c: ... here.
2176 * term/serial.c: Mostly rewritten.
2177 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
2178 according to spec.
2179
21a313de
RM
21802010-08-20 Robert Millan <rmh@gnu.org>
2181
2182 Make kFreeBSD code more generic to support ext2fs as root, ufs as
2183 a separate module and maybe other interesting combinations.
2184
2185 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
2186 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
2187 (kfreebsd_entry): Add generic filesystem module load routine.
2188 Map GRUB `ext2' to kFreeBSD `ext2fs'.
2189
63c734a6
CW
21902010-08-20 Colin Watson <cjwatson@ubuntu.com>
2191
2192 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
2193 "numcenter" (I misunderstood the purpose of this entry).
2194 * docs/grub.texi (sendkey): Likewise.
2195
c4d16542
CW
21962010-08-20 Colin Watson <cjwatson@ubuntu.com>
2197
2198 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
2199 status flag options; simply omitting the option is equivalent and
2200 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
2201 (keysym_table): Rename "num5numlock" to "numlock".
2202 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
2203 can uniformly say that only the last of multiple `sendkey'
2204 invocations has any effect.
2205 * docs/grub.texi (sendkey): New section.
2206
93541d66
CW
22072010-08-19 Colin Watson <cjwatson@ubuntu.com>
2208
2209 * commands/i386/pc/sendkey.c (options): Fix three typos.
2210
b4ece5e1
VS
22112010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 Implement sendkey support.
2214
2215 * commands/i386/pc/sendkey.c: New file.
2216 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
2217 (sendkey_mod_SOURCES): New variable.
2218 (sendkey_mod_CFLAGS): Likewise.
2219 (sendkey_mod_LDFLAGS): Likewise.
2220
51f1f5af
CW
22212010-08-18 Colin Watson <cjwatson@ubuntu.com>
2222
2223 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
2224 fix warnings from Autoconf.
2225
9da94e05
CW
22262010-08-18 Colin Watson <cjwatson@ubuntu.com>
2227
2228 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
2229 to avoid false positives with some assemblers that output things
2230 like "someprefix_func" as part of their output.
2231
729a0f2e
RM
22322010-08-15 Robert Millan <rmh@gnu.org>
2233
2234 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
2235 errors.
2236 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
2237 grub_get_libzfs_handle() errors.
2238
f3710e08
RM
22392010-08-14 Robert Millan <rmh@gnu.org>
2240
2241 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
2242 filesystem is not ZFS.
2243
7a3c13de
BC
22442010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
2245
2246 Fix for misspelled color names defaulting to black/black (bug
2247 reported by Doug Nazar)
2248
2249 * include/grub/normal.h (grub_parse_color_name_pair): Add return
2250 status to prototype.
2251 * normal/color.c (grub_parse_color_name_pair): Return failure
2252 status.
2253 (grub_env_write_color_normal): Ignore bad color names.
2254 (grub_env_write_color_highlight): Likewise.
2255 * normal/main.c (GRUB_MOD_INIT): Set default color names.
2256
ab8ba50d
BC
22572010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
2258
2259 "shift" command support to GRUB script.
2260
2261 * include/grub/script_sh.h (grub_script_shift): New prototype.
2262 * script/execute.c (grub_script_shift): New function.
2263 * script/main.c (grub_script_init): Register shift command.
2264 (grub_script_fini): Unregister shift command.
2265 * util/grub-script-check.c (grub_script_cmd_shift): New function.
2266
2267 * tests/grub_script_shift.in: New testcase.
2268 * conf/tests.rmk: Rules for new testcase.
2269
4d61999e
BC
22702010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
2271
2272 "continue" command support to GRUB script.
2273
2274 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
2275 (grub_script_break): Continue support.
2276 * script/main.c (grub_script_init): Register continue command.
2277 (grub_script_fini): Unregister continue command.
2278
2279 * tests/grub_script_continue.in: New testcase.
2280 * conf/tests.rmk: Rules for new testcase.
2281
4df51e00
BC
22822010-08-12 BVK Chaitanya <bvk@dbook>
2283
2284 "break" command support to GRUB script.
2285
2286 * conf/common.rmk: Rule updates to grub-script-check.
2287 * include/grub/misc.h (grub_min): New function.
2288 * include/grub/script_sh.h (grub_script_init): New prototype.
2289 (grub_script_fini): New prototype.
2290 (grub_script_break): New prototype.
2291 * script/main.c (grub_script_init): New function.
2292 (grub_script_fini): New function.
2293 * script/execute.c (grub_script_break): New function.
2294 * normal/main.c: Calls to grub_script_{init,fini}.
2295 * util/grub-script-check.c (grub_script_break): New function.
2296
2297 * tests/grub_script_break.in: New testcase.
2298 * conf/tests.rmk: Rules for new test case.
2299
f12c8420
BC
23002010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
2301
2302 Function parameters support to GRUB script.
2303
2304 * script/yylex.l (VARIABLE): Regular expression update.
2305 * script/function.c (grub_script_function_call): Moved ...
2306 * script/execute.c (grub_script_function_call): ... to here.
2307 (grub_script_execute_arglist_to_argv): Removed.
2308 (grub_script_arglist_to_argv): New function.
2309 * script/argv.c: New file.
2310 (grub_script_argv_free): New function.
2311 (grub_script_argv_next): Likewise.
2312 (grub_script_argv_append): Likewise.
2313 (grub_script_argv_split_append): Likewise.
2314 * include/grub/script_sh.h (grub_script_argv): New struct.
2315 (grub_script_argv_free): New function.
2316 (grub_script_argv_next): Likewise.
2317 (grub_script_argv_append): Likewise.
2318 (grub_script_argv_split_append): Likewise.
2319
2320 * conf/common.rmk (normal.mod): New source script/argv.c.
2321
2322 * tests/grub_script_echo1.in: More tests.
2323 * tests/grub_script_vars1.in: Likewise.
2324 * tests/grub_script_functions.in: New test case.
2325 * conf/tests.rmk: Rules for new testcase.
2326
8022b748
BC
23272010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
2328
2329 Remove grub_script_cmdblock struct.
2330
2331 * include/grub/script_sh.h: Remove grub_script_cmdblock.
2332 * script/parser.y: Likewise.
2333 * script/execute.c: Rename cmdblock suffix to cmdlist.
2334 * script/script.c: Likewise.
2335 * util/grub-script-check.c: Likewise.
2336
79a6ba61
YB
23372010-08-11 Yves Blusseau <blusseau@zetam.org>
2338
2339 * .bzrignore: add grub-macho2img
2340
d04b9414
VS
23412010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
2344
f947ab49
VS
23452010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 Remove the dump of sm712 initialisation sequence.
2348
2349 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
2350 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
2351 (GRUB_VGA_IO_MISC_WRITE): Likewise.
2352 (GRUB_VGA_CR_*): Added many registers.
2353 (GRUB_VGA_SR_*): Likewise.
2354 (GRUB_VGA_GR_*): Likewise.
2355 (grub_vga_write_arx): New function.
2356 (grub_video_hw_config): New struct.
2357 (grub_vga_set_geometry): New function.
2358 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
2359 GRUB_PCI_CLASS_SUBCLASS_VGA.
2360 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
2361 * video/sm712.c (grub_sm712_write_reg): New function
2362 (grub_sm712_read_reg): Likewise.
2363 (grub_sm712_sr_write): Likewise.
2364 (grub_sm712_gr_write): Likewise.
2365 (grub_sm712_cr_write): Likewise.
2366 (grub_sm712_write_arx): Likewise.
2367 (grub_sm712_cr_shadow_write): Likewise.
2368 (grub_sm712_write_dda_lookup): Likewise.
2369 (grub_video_sm712_setup): Initialise the video rather then
2370 blindly replay the dump.
2371 (main) [TEST]: Add a routine to be able to compile as standalone for
2372 tests.
2373 * video/sm712_init.c (sm712_init): Removed.
2374 (sm712_sr_seq1): New array.
2375 (sm712_sr_seq2): Likewise.
2376
f0206638
VS
23772010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * include/grub/vga.h: Add missing grub/pci.h include.
2380
2764da3b
YB
23812010-08-10 Yves Blusseau <blusseau@zetam.org>
2382
2383 * util/grub-macho2img.c (main): fix typo
2384
cf0c775e
VS
23852010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
2388 (grub_vga_gr_read): Likewise.
2389 (grub_vga_cr_write): Likewise.
2390 (grub_vga_cr_read): Likewise.
2391 (grub_vga_sr_write): Likewise.
2392 (grub_vga_sr_read): Likewise.
2393 (grub_vga_palette_read): Likewise.
2394 (grub_vga_palette_write): Likewise.
2395 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
2396 (grub_sm712_sr_read): New function.
2397 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
2398 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
2399
07f360e9
RM
24002010-08-09 Robert Millan <rmh@gnu.org>
2401
2402 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
2403 out unused variables on non-ZFS build.
2404
346c2072
RM
24052010-08-08 Robert Millan <rmh@gnu.org>
2406
2407 Fix path generation for sub-filesystems in ZFS.
2408
2409 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
2410 missing slash.
2411
71175420
RM
24122010-08-08 Robert Millan <rmh@gnu.org>
2413
2414 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
2415
0d8286f3
RM
24162010-08-08 Robert Millan <rmh@gnu.org>
2417
2418 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
2419 exist, issue a proper error message (rely on `ls' for translated
2420 strings).
2421
55dd2924
RM
24222010-08-08 Robert Millan <rmh@gnu.org>
2423
2424 Fix grub-probe invocation.
2425
2426 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
2427
d3dd9e80
RM
24282010-08-04 Robert Millan <rmh@gnu.org>
2429
2430 * configure.ac: Remove checks for getfsstat() and getmntany().
2431 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
2432 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
2433 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
2434 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
2435 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
2436 function.
2437 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
2438 via find_mount_point_from_dir() and getfsstat() / getmntany().
2439
0de22aa9
RM
24402010-08-04 Robert Millan <rmh@gnu.org>
2441
2442 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
2443 (grub_find_zpool_from_mount_point): Merge into ...
2444 (grub_find_zpool_from_dir): ... this.
2445 * kern/emu/misc.c: Likewise.
2446
2447 * kern/emu/misc.c
2448 (grub_make_system_path_relative_to_its_root): Replace
2449 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
2450 with grub_find_zpool_from_dir().
2451 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
2452
62858144
RM
24532010-08-04 Robert Millan <rmh@gnu.org>
2454
2455 Support OpenSolaris in ZFS device resolution.
2456
2457 * configure.ac: Check for getmntany().
2458 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
2459 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
2460 support.
2461
9dd6fd50
RM
24622010-08-03 Robert Millan <rmh@gnu.org>
2463
2464 Fix grub-emu build.
2465
2466 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
2467 * include/grub/emu/misc.h: ... here.
2468
2469 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
2470 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
2471
2472 * util/misc.c: Remove `<grub/util/libzfs.h>'.
2473 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
2474 (grub_get_libzfs_handle): Move to ...
2475 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
2476 (grub_get_libzfs_handle): ... here.
2477
c9f7ff97
BC
24782010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
2479
2480 * script/execute.c (grub_script_execute_cmdline): Check for NULL
2481 as command name case.
2482
a870a783
CW
24832010-08-02 Colin Watson <cjwatson@ubuntu.com>
2484
2485 * disk/raid.c (insert_array): Select unique numbers for named arrays
2486 as well, for use as keys in the disk cache.
2487
c7db243b
RM
24882010-08-01 Robert Millan <rmh@gnu.org>
2489
2490 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
2491 kFreeBSD device name, except on ZFS where the filesystem label is
2492 used.
2493 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
2494 `/boot/zfs/zpool.cache'.
2495 Set mountfrom kernel variable using ${kfreebsd_device}.
2496
f7abdefb
RM
24972010-08-01 Robert Millan <rmh@gnu.org>
2498
2499 Make it even harder to use uninitialized `libzfs_handle' (and
2500 make the interface a bit simpler).
2501
2502 * include/grub/util/misc.h (grub_util_init_libzfs)
2503 (libzfs_handle): Remove.
2504 (grub_get_libzfs_handle): New prototype.
2505
2506 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
2507 attribute.
2508 (grub_util_init_libzfs): Remove.
2509 (grub_get_libzfs_handle): New function.
2510
2511 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
2512 grub_get_libzfs_handle() to obtain a libzfs handle instead of
2513 accessing `libzfs_handle' directly.
2514
c882acc0
RM
25152010-08-01 Robert Millan <rmh@gnu.org>
2516
2517 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
2518 (grub_find_zpool_from_mount_point): New function prototypes.
2519
2520 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
2521 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
2522
2523 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
2524 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
2525 `static' attribute.
2526
2527 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
2528 finding zpool from mount point into ...
2529 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
2530
2531 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
2532 requested path is part of a ZFS pool, use
2533 grub_find_zpool_from_mount_point() to detect its filesystem name,
2534 and generate a path with `/fsname@path' syntax.
2535
8bfe31d8
CW
25362010-08-01 Colin Watson <cjwatson@ubuntu.com>
2537
2538 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
2539 (void) rather than () so that this is a proper prototype.
2540
553df63d
VS
25412010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
2544
8687cf07
VS
25452010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
2548 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
2549
ea9be8ea
CW
25502010-08-01 Colin Watson <cjwatson@ubuntu.com>
2551
2552 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
2553
6eea041a
CW
25542010-08-01 Colin Watson <cjwatson@ubuntu.com>
2555
2556 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
2557
2cfb45df
CW
25582010-08-01 Colin Watson <cjwatson@ubuntu.com>
2559
2560 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
2561 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
2562 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
2563 disable gfxpayload.
2564 (Shell-like scripting): Add real content.
2565 (Serial terminal): Suggest `terminal_input serial; terminal_output
2566 serial' rather than putting the two commands on separate lines,
2567 since console input will be inoperative after the first command.
2568 (menuentry): Document --class, --users, and --hotkey options.
2569 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
2570 Vladimir Serbinenko).
2571
7decd202
VS
25722010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25732010-08-01 Colin Watson <cjwatson@ubuntu.com>
2574
2575 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
2576
c882acc0
RM
25772010-08-01 Robert Millan <rmh@gnu.org>
2578
2579 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
2580 (grub_find_zpool_from_mount_point): New function prototypes.
2581
2582 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
2583 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
2584
2585 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
2586 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
2587 `static' attribute.
2588
2589 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
2590 finding zpool from mount point into ...
2591 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
2592
2593 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
2594 requested path is part of a ZFS pool, use
2595 grub_find_zpool_from_mount_point() to detect its filesystem name,
2596 and generate a path with `/fsname@path' syntax.
2597
deb0caa3
RM
25982010-08-01 Robert Millan <rmh@gnu.org>
2599
2600 Prevent accidental use of uninitialized libzfs_handle.
2601
2602 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
2603 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
2604 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
2605
ce04ef47
CW
26062010-08-01 Colin Watson <cjwatson@ubuntu.com>
2607
2608 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
2609 util/grub.d/10_linux.in). Fixes Debian bug #591093.
2610
ebf53056
RM
26112010-08-01 Robert Millan <rmh@gnu.org>
2612
2613 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 2614
3710bb6b
RM
26152010-07-31 Robert Millan <rmh@gnu.org>
2616
2617 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
2618
8072efeb
RM
26192010-07-31 Robert Millan <rmh@gnu.org>
2620
2621 * kern/emu/misc.c: Add missing license header.
2622
3169f4c7
RM
26232010-07-31 Robert Millan <rmh@gnu.org>
2624
2625 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
2626
2627 * include/grub/util/libnvpair.h: Include `<config.h>'.
2628 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
2629 declaring libnvpair prototypes ourselves.
2630 * include/grub/util/libzfs.h: Include `<config.h>'.
2631 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
2632 declaring libzfs prototypes ourselves.
2633
2634 (libzfs_handle): Moved to ...
2635 * include/grub/util/misc.h (libzfs_handle): ... here.
2636 Include `<grub/util/libzfs.h>'.
2637
c9a00aee
RM
26382010-07-30 Robert Millan <rmh@gnu.org>
2639
2640 * include/grub/emu/misc.h: Add missing license header.
2641
a184f9c8
RM
26422010-07-30 Robert Millan <rmh@gnu.org>
2643
2644 Enable `grub-probe -t device' resolution on ZFS.
2645
2646 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
2647 * include/grub/util/libnvpair.h: New file.
2648 * include/grub/util/libzfs.h: New file.
2649
2650 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
2651 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
2652 `<grub/util/libnvpair.h>'.
2653 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
2654
2655 (find_mount_point_from_dir): New static function.
2656 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
2657 function.
2658 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
2659 find_root_device_from_libzfs() before ressorting to find_root_device().
2660
2661 * include/grub/util/misc.h (grub_util_init_libzfs): New function
2662 prototype.
2663 * util/misc.c: Include `<grub/util/libzfs.h>'.
2664 (grub_util_init_libzfs): New function.
2665 [HAVE_LIBZFS] (libzfs_handle): New global variable.
2666 [HAVE_LIBZFS] (fini_libzfs): New static function.
2667 (grub_util_init_libzfs): New function.
2668 * util/grub-probe.c (main): Call grub_util_init_libzfs().
2669
f7790cdd
RM
26702010-07-30 Robert Millan <rmh@gnu.org>
2671
2672 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
2673 (xmalloc, xrealloc, xstrdup, xasprintf): Add
2674 `warn_unused_result' attribute.
2675 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
2676 (grub_xasprintf, grub_xvasprintf): Likewise.
2677 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
2678
0806b63c
RM
26792010-07-29 Robert Millan <rmh@gnu.org>
2680
2681 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
2682 (probe): Handle `PRINT_FS_LABEL'.
2683 (main): Handle `-t fs_label'.
2684
9f841f5c
RM
26852010-07-29 Robert Millan <rmh@gnu.org>
2686
2687 * configure.ac: Remove grub-mkisofs checks.
2688
46371121
VS
26892010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * util/ieee1275/grub-install.in: Don't use empty grub_device.
2692 Reported by: Lennart Sorensen.
2693
26942010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
2697 prior to terminal_input/terminal_output separation. It's been over 1.5
2698 years and those versions weren't widely deployed.
2699
a9600892
CW
27002010-07-22 Colin Watson <cjwatson@ubuntu.com>
2701
2702 * disk/raid.c (insert_array): Don't count named arrays when looking
2703 for unused array numbers.
697e053c 2704 Reported and tested by: Michael Guntsche.
a9600892 2705
c03507df
CW
27062010-07-20 Colin Watson <cjwatson@ubuntu.com>
2707
2708 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
2709 implementation of this so that grub-emu links again, with a note
2710 that this should support hotplugging in the future.
2711
b26f1c11
CW
27122010-07-20 Colin Watson <cjwatson@ubuntu.com>
2713
2714 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
2715
efc9d7f1
CW
27162010-07-20 Colin Watson <cjwatson@ubuntu.com>
2717
2718 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
2719 handle on failure.
2720 (grub_loopback_close): Remove empty function.
2721 (grub_loopback_dev): Remove close method.
2722
dd8ff5c9
CW
27232010-07-20 Colin Watson <cjwatson@ubuntu.com>
2724
2725 Disable EFI cursor when the EFI console becomes inactive.
2726
2727 * term/efi/console.c (grub_efi_console_init): New function.
2728 (grub_efi_console_fini): New function.
2729 (grub_console_term_output): Register init and fini methods.
2730
5e3bec67
VS
27312010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * tests/util/grub-shell-tester.in: Remove bashism and declare as
2734 sh script.
2735
afaec079
VS
27362010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * disk/loopback.c (grub_loopback): Replace filename with file.
2739 (delete_loopback): Handle new semantics.
2740 (grub_cmd_loopback): Likewise.
2741 (grub_loopback_iterate): Likewise.
2742 (grub_loopback_close): Likewise.
2743
a6a11f3c
VS
27442010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
2747 with -p "".
2748 Reported by: Tito Keitel.
2749
64a638b0
VS
27502010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * docs/grub.texi (Naming convention): Document new naming convention.
2753
ab8ba957
VS
27542010-07-20 Vadim Solomin <vadic052@gmail.com>
27552010-07-20 Colin Watson <cjwatson@ubuntu.com>
2756
2757 Generate device.map in something closer to the old ordering.
2758
2759 * util/deviceiter.c (struct device): New declaration.
2760 (compare_file_names): Rename to ...
2761 (compare_devices): ... this. Sort by kernel name in preference to
2762 the stable by-id name, but keep the latter as a fallback comparison.
2763 Update header comment.
2764 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
2765 of `struct device' rather than of plain file names.
2766
a29d6a4b
TF
27672010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
2768
2769 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
2770 on i386.
2771
39d824e8
VS
27722010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * commands/acpi.c (setup_common_tables): Use sizeof instead of
2775 hardcoding size.
2776 (setv1table): Likewise.
2777
f058276b
FZ
27782010-07-20 Colin Watson <cjwatson@ubuntu.com>
2779
2780 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
2781 removing the homehost if present.
2782 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
2783 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
2784 removing the homehost if present.
2785 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
2786 if possible.
2787 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
2788
2789 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
2790 parameter. Set its pointer target to 0.
2791 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
2792 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
2793 `data_offset' value from the superblock for 1.x metadata.
2794 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
2795 data on the device.
2796 (insert_array): Record the start sector of data on the device.
2797 (grub_raid_register): Pass start_sector parameters to
2798 grub_raid_list->detect and insert_array.
2799 * include/grub/raid.h (struct grub_raid_array): Add start_sector
2800 member.
2801 (struct grub_raid): Add start_sector parameter to `detect'.
2802
2803 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
2804 __attribute__ ((packed)), leaving a comment.
2805 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
2806 (grub_mdraid_detect_09): ... here and ...
2807 (grub_mdraid_detect_1x): ... here.
2808
28092010-07-20 Peter Henn <peter.henn@web.de>
2810
2811 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
2812 chunk size and disk size, which are already given as sector counts
2813 as distinct from the 0.90 units. Fetch the correct device number
2814 from the role table instead of using the table index.
2815
28162010-07-20 Felix Zielcke <fzielcke@z-51.de>
2817
2818 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
2819 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
2820 (WriteMostly1): New macro.
2821 Set array->name to NULL for metadata format 0.90. Add support for
2822 metadata 1.x. Fix some comments.
2823 * disk/raid.c (): Add support for name based RAID arrays. Fix a
2824 few comments.
2825 * util/getroot.c (grub_util_get_grub_dev): Add support for
2826 /dev/md/name style devices.
2827
4b761da9
CW
28282010-07-20 Colin Watson <cjwatson@ubuntu.com>
2829
2830 * .bzrignore: Ignore 20_linux_xen.
2831
5771289a
CW
28322010-07-17 Colin Watson <cjwatson@ubuntu.com>
2833
2834 * util/import_unicode.py: Remove unnecessary imports.
2835
5dab68df
AN
28362010-07-17 Aleš Nesrsta <starous@volny.cz>
2837
2838 Hotplugging and USB hub support.
2839
2840 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
2841 (grub_ohci): Likewise.
2842 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
2843 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
2844 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
2845 (GRUB_OHCI_CTRL_EDS): Likewise.
2846 (GRUB_OHCI_BULK_EDS): Likewise.
2847 (GRUB_OHCI_TDS): Likewise.
2848 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
2849 (grub_ohci_ed_phys2virt): New function.
2850 (grub_ohci_virt_to_phys): Likewise.
2851 (grub_ohci_td_phys2virt): Likewise.
2852 (grub_ohci_td_virt2phys): Likewise.
2853 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
2854 attachment.
2855 (grub_ohci_find_ed): New function.
2856 (grub_ohci_alloc_td): Likewise.
2857 (grub_ohci_free_td): Likewise.
2858 (grub_ohci_free_tds): Likewise.
2859 (grub_ohci_transfer): Use previously allocated memory.
2860 (grub_ohci_portstatus): Reset status changed bit.
2861 (grub_ohci_detect_dev): Supply status changed.
2862 (grub_ohci_fini_hw): Free memory.
2863 (grub_ohci_restore_hw): Reallocate memory.
2864 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
2865 Reset status change.
2866 (grub_uhci_detect_dev): Supply status_change.
2867 * bus/usb/usb.c (attach_hooks): New var.
2868 (grub_usb_device_attach): New function.
2869 (grub_usb_register_attach_hook_class): Likewise.
2870 (grub_usb_unregister_attach_hook_class): Likewise.
2871 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
2872 (grub_usb_add_hub): Reset connection changed bit.
2873 (attach_root_port): New function.
2874 (grub_usb_root_hub): Likewise.
2875 (poll_nonroot_hub): Likewise.
2876 (grub_usb_poll_devices): Likewise.
2877 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
2878 * disk/usbms.c (grub_usbms_open): Use device hooks.
2879 (grub_usbms_iterate) :Poll devices.
2880 (grub_usbms_finddevs): Split into ...
2881 (grub_usbms_attach): ... this ...
2882 (grub_usbms_attach): ... and this.
2883 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
2884 in detect_dev.
2885 (grub_usb_interface): New fields attached and detach_hook.
2886 (grub_usb_attach_hook_class): New type.
2887 (grub_usb_attach_desc): New struct.
2888 (grub_usb_register_attach_hook_class): New function.
2889 (grub_usb_unregister_attach_hook_class): Likewise.
2890 (grub_usb_poll_devices): Likewise.
2891 (grub_usb_device_attach): Likewise.
2892 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
2893 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
2894
3222efaf
VS
28952010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
2898 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
2899 delta determination style. Works with most NetBSD partitions too.
2900
139b714a
VS
29012010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
2904 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
2905
986aad56
VS
29062010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
2909
99be513c
AB
29102010-07-14 Anton Blanchard <anton@samba.org>
2911
2912 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
2913 ET_DYN files.
2914
18075f62
GS
29152010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
2916
2917 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
2918
8d9a5b15
GS
29192010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
2920
2921 * kern/partition.c (grub_partition_check_containment): New function to
2922 check that a partition is physically contained in a parent. Since
2923 offsets are relative (and non-negative), this reduces to checking that
2924 the partition ends before its parent.
2925 (grub_partition_map_probe): Discard out-of-range sub-partitions.
2926 (grub_partition_iterate): Likewise.
2927 * include/grub/partition.h (grub_partition_map): Slightly more detailed
2928 comments.
2929 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
2930 partitions that start before their parent, and add debug printfs.
2931
19563c25
CW
29322010-07-13 Colin Watson <cjwatson@ubuntu.com>
2933
2934 * Makefile.in (.SUFFIX): Spell correctly, as ...
2935 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
2936 bare module name without `.mod', e.g. `test') tried to invoke a
2937 Modula-2 compiler.
2938
1a1f1e67
CW
29392010-07-13 Colin Watson <cjwatson@ubuntu.com>
2940
2941 * README: Point to the Info manual.
2942
811b0dca
JS
29432010-07-13 Jiro SEKIBA <jir@unicus.jp>
2944
2945 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
2946 2nd superblock position from partition size.
2947
e4f4eafc
CW
29482010-07-10 Colin Watson <cjwatson@ubuntu.com>
2949
2950 * Makefile.in (MAINTAINER_CLEANFILES): Remove
2951 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
2952 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
2953 outputs.
2954
4274c30f
VS
29552010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 Restructure SCSI .id handling.
2958 Reported and tested by: Aleš Nesrsta.
2959
2960 * disk/ata.c (grub_atapi_close): Removed. All users updated.
2961 (grub_atapi_dev): Changed .name to "ata". New field .id.
2962 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
2963 (grub_usbms_dev): New field .id.
2964 * disk/scsi.c (grub_scsi_iterate): Generate name.
2965 (grub_scsi_open): Parse name.
2966 * include/grub/scsi.h (grub_make_scsi_id): New function.
2967 (grub_scsi_dev): Change iterate and open to number instead of naming
2968 busses. All users updated.
2969 (grub_scsi): Remove name. Add .bus.
2970
5bc24388
VS
29712010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * commands/help.c (grub_cmd_help): Fix a typo.
2974
249975ba
VS
29752010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
2978 Reported and tested by: Colin Watson.
2979
3eaac1a1
VS
29802010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
2983 in this context.
2984
becce1b1
VS
29852010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
2988
f7bf0918
CW
29892010-07-07 Colin Watson <cjwatson@ubuntu.com>
2990
2991 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
2992 indentation.
2993
0b0f9620
CW
29942010-07-06 Colin Watson <cjwatson@ubuntu.com>
2995
2996 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
2997 and disk/raid6_recover.c.
2998 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2999 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
3000
1e545469
CW
30012010-07-06 Colin Watson <cjwatson@ubuntu.com>
3002
3003 * term/gfxterm.c (repaint_schedulded): Rename to ...
3004 (repaint_scheduled): ... this. Update all callers.
3005 (repaint_was_schedulded): Rename to ...
3006 (repaint_was_scheduled): ... this. Update all callers.
3007
5357687a
CW
30082010-07-06 Colin Watson <cjwatson@ubuntu.com>
3009
3010 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
3011 which we expect to be handled by upper layers.
3012
29d7e783
BC
30132010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
3014
3015 * bus/usb/usbhub.c: #include time.h header.
3016
37582066
CW
30172010-07-06 Colin Watson <cjwatson@ubuntu.com>
3018
3019 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
3020 entry_name also for entries without stat blocks (e.g. ".."); fixes
3021 corruption of the first entry in a directory.
3022
c8c06953
CW
30232010-07-06 Colin Watson <cjwatson@ubuntu.com>
3024
3025 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
3026 after setting gfxterm as the active terminal. GRUB_BACKGROUND
3027 doesn't work otherwise.
3028
e75056f1
CW
30292010-07-05 Colin Watson <cjwatson@ubuntu.com>
3030
3031 * docs/grub.texi (Features): Update list of supported file systems.
3032 (GNU/Linux): Update for GRUB 2.
3033 (Serial terminal): Remove mention of --disable-serial, which was a
3034 GRUB Legacy configure option. Update instructions to use
3035 `terminal_input' and `terminal_output' rather than `terminal'.
3036 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
3037 configuration' and `Installing GRUB using grub-install'.
3038 (Menu entry editor): Update for GRUB 2.
3039 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
3040 Document new -a, -u, and -v options.
3041 (initrd): New section.
3042 (initrd16): New section.
3043 (linux): New section.
3044 (linux16): New section.
3045 (search): The `var' argument to `--set' is optional.
3046 (GRUB only offers a rescue shell): Go into a little more detail on
3047 drive ordering.
3048
5cf69151
CW
30492010-07-05 Colin Watson <cjwatson@ubuntu.com>
3050
3051 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
3052
e3f90044
CW
30532010-07-05 Colin Watson <cjwatson@ubuntu.com>
3054
3055 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
3056 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
3057
38d8f4f3
CW
30582010-07-05 Colin Watson <cjwatson@ubuntu.com>
3059
3060 * util/i386/pc/grub-setup.c (setup): Rename prefix to
3061 install_prefix, in line with install_dos_part and install_bsd_part.
3062 Add new prefix variable, which is copied to install_prefix after
3063 comparing core.img in memory with the one read from disk in the
3064 no-embedding case, and use that rather than overwriting
3065 install_prefix immediately when installing to a partition.
3066 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
3067 Bicakci.
3068
57ebd41e
GS
30692010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
3070
3071 * configure.ac: Avoid == in test command, it's not portable.
3072 * util/grub.d/30_os-prober.in: Likewise.
3073
cb7f64b2
CW
30742010-07-04 Colin Watson <cjwatson@ubuntu.com>
3075
3076 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
3077
6b654bb0
GS
30782010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
3079
3080 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
3081 multiple (top-level) partmaps.
3082
72a2026d
VS
30832010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 3086 Reported by: Tino Keitel.
72a2026d 3087
df3eb88f
VS
30882010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 Bidi and diacritics support.
3091
3092 * Makefile.in (widthspec.bin): New target.
3093 (widthspec.h): Likewise.
3094 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
3095 * autogen.sh: Generate unidata.c.
3096 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
3097 * commands/ls.c (grub_ls_list_devices): Likewise.
3098 (grub_ls_list_files): Likewise.
3099 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
3100 (grub_mini_cmd_lsmod): Likewise.
3101 * commands/read.c: Likewise.
3102 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
3103 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
3104 * lib/arg.c (grub_arg_show_help): Likewise.
3105 * lib/crypto.c (grub_password_get): Likewise.
3106 * normal/auth.c (grub_username_get): Likewise.
3107 * normal/misc.c (grub_normal_print_device_info): Likewise.
3108 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
3109 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
3110 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
3111 (normal/charset.c_DEPENDENCIES): New variable.
3112 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
3113 (pkglib_MODULES): Remove charset.mod.
3114 (charset_mod_SOURCES): Removed.
3115 (charset_mod_CFLAGS): Likewise.
3116 (charset_mod_LDFLAGS): Likewise.
3117 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
3118 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
3119 and term/tparm.c.
3120 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
3121 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
3122 (kernel_img_HEADERS): Add terminfo.h.
3123 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
3124 Fill ->font. Reverse ascii bitmaps.
3125 (grub_font_get_xheight): New function.
3126 * font/font.c (grub_font_get_string_width): Moved from here ...
3127 * gfxmenu/font.c (grub_font_get_string_width): ... here.
3128 * font/font.c (grub_font_draw_string): Moved from here ...
3129 * gfxmenu/font.c (grub_font_draw_string): ... here.
3130 * font/font.c (grub_font_dup_glyph): New function.
3131 (grub_font_blit_glyph): Likewise.
3132 (grub_font_blit_glyph_mirror): Likewise.
3133 (blit_comb): Likewise.
3134 (grub_font_construct_dry_run): Likewise.
3135 (grub_font_get_constructed_device_width): Likewise.
3136 (grub_font_construct_glyph): Likewise.
3137 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
3138 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
3139 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
3140 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
3141 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
3142 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
3143 (grub_font_get_xheight): New proto.
3144 (grub_font_get_constructed_device_width): Likewise.
3145 (grub_font_construct_glyph): Likewise.
3146 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
3147 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
3148 * include/grub/font.h (grub_font_draw_string): Moved from here ...
3149 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
3150 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
3151 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
3152 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
3153 (grub_console_getcharwidth): Likewise.
3154 * include/grub/misc.h (grub_xputs): New proto.
3155 (grub_puts): Inlined.
3156 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
3157 (grub_normal_get_line_counter): Removed.
3158 (grub_install_newline_hook): Likewise.
3159 (grub_normal_get_char_counter): New proto.
3160 (grub_normal_reset_more): Likewise.
3161 (grub_xputs_normal): Likewise.
3162 * include/grub/powerpc/ieee1275/console.h: Removed.
3163 * include/grub/sparc64/ieee1275/console.h: Likewise.
3164 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
3165 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
3166 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
3167 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
3168 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
3169 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
3170 (grub_term_input): Pass reference to self. All users updated.
3171 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
3172 Pass reference to self. New fields normal_color, highlight_color and
3173 data. All users updated.
3174 (grub_putchar): Removed.
3175 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
3176 (grub_unicode_estimate_width): New function.
3177 (grub_term_getcharwidth): Add defaults.
3178 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
3179 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
3180 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
3181 (grub_cls): Remove EXPORT_FUNC.
3182 (grub_setcolorstate): Inline.
3183 (grub_newline_hook): Removed.
3184 * include/grub/terminfo.h: Rewritten. All users updated.
3185 * include/grub/unicode.h: New file.
3186 * include/grub/video.h (grub_video_signed_rect): New type.
3187 * kern/emu/console.c (grub_console_highlight_color): Removed.
3188 (grub_console_normal_color): Likewise.
3189 (grub_console_standard_color): Made static.
3190 (grub_ncurses_putchar): Remove mapping.
3191 (grub_ncurses_getcharwidth): Removed.
3192 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
3193 (grub_ncurses_setcolor): Removed.
3194 (grub_ncurses_getcolor): Likewise.
3195 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
3196 (grub_console_putchar): ... this.
3197 (grub_console_putchar): Handle argument difference.
3198 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
3199 console_init_early and console_init_lately.
3200 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
3201 * kern/misc.c (grub_puts): Removed.
3202 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
3203 (grub_vsnprintf_real): Remove str = NULL support.
3204 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
3205 * normal/charset.c (grub_utf8_to_ucs4): ... here.
3206 * kern/term.c (grub_putcode): Renamed to ...
3207 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
3208 (grub_putchar): Removed.
3209 (grub_xputs_dumb): New function.
3210 (grub_xputs): New variable.
3211 * lib/charset.c: Move from here ...
3212 * normal/charset.c: ... to here.
3213 (grub_ucs4_to_utf8): New function.
3214 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
3215 (join_types): New variable.
3216 (unpack_join): New function.
3217 (bidi_types): New variable.
3218 (unpack_bidi): New function.
3219 (get_bidi_type): Likewise.
3220 (get_join_type): Likewise.
3221 (is_mirrored): Likewise.
3222 (grub_unicode_get_comb_type): Likewise.
3223 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
3224 (is_type_after): Likewise.
3225 (grub_unicode_aglomerate_comb): Likewise.
3226 (bidi_line_wrap): Likewise.
3227 (grub_bidi_line_logical_to_visual): Likewise.
3228 (grub_bidi_logical_to_visual): Likewise.
3229 (grub_unicode_mirror_code): Likewise.
3230 (grub_unicode_shape_code): Likewise.
3231 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
3232 Don't use grub_putchar.
3233 * normal/main.c (grub_normal_init_page): Use grub_putcode.
3234 (grub_normal_reader_init): Likewise.
3235 (grub_xputs_saved): New variable.
3236 (GRUB_MOD_INIT): Set grub_xputs.
3237 (GRUB_MOD_FINI): Restore grub_xputs.
3238 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
3239 (menu_init): Avoid printing gfxmenu error.
3240 (show_menu): Use grub_normal_get_char_counter.
3241 * normal/menu_entry.c (update_screen): Fix out-of-array.
3242 (complete): Avoid NULL dereferencing.
3243 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
3244 * normal/menu_text.c (print_spaces): Removed.
3245 (grub_print_ucs4): Likewise.
3246 (grub_print_message_indented): Use grub_print_ucs4.
3247 (print_message): Use grub_putcode.
3248 (print_entry): Hanlde diacritics.
3249 * normal/term.c (term_state): New type.
3250 (grub_more_lines): Removed.
3251 (term_states): New variable.
3252 (grub_normal_line_counter): Renamed to ..
3253 (grub_normal_char_counter): ...this. All users updated.
3254 (grub_normal_get_line_counter): Renamed to ...
3255 (grub_normal_get_char_counter): ... this.
3256 (grub_normal_reset_more): New function.
3257 (process_newline): Removed.
3258 (print_more): New function.
3259 (grub_install_newline_hook): Removed.
3260 (map_code): New function.
3261 (grub_puts_terminal): Use grub_print_ucs4.
3262 (putglyph): New function.
3263 (putcode_real): Likewise.
3264 (grub_putcode): Use putcode_real.
3265 (get_maxwidth): New function.
3266 (get_startwidth): Likewise.
3267 (print_ucs4_terminal): Likewise.
3268 (find_term_state): Likewise.
3269 (put_glyphs_terminal): Likewise.
3270 (print_backlog): Likewise.
3271 (print_ucs4_real): Likewise.
3272 (grub_print_ucs4): Likewise.
3273 (grub_xputs_normal): Likewise.
3274 * term/efi/console.c (grub_console_putchar): Output diacritics.
3275 (grub_console_getcharwidth): Removed.
3276 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
3277 * term/gfxterm.c (clear_char): Free chars.
3278 (scroll_up): Avoid leaking memory.
3279 (grub_gfxterm_putchar): Support diacritics.
3280 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
3281 * term/i386/pc/console.c (grub_console_term_output): Declare as
3282 GRUB_TERM_CODE_TYPE_VGA.
3283 * term/i386/pc/vga.c (grub_vga_term): Declare as
3284 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
3285 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
3286 GRUB_TERM_CODE_TYPE_VGA.
3287 * term/i386/vga_common.c (map_char): Removed.
3288 (grub_console_putchar): Likewise.
3289 (grub_console_getcharwidth): Likewise.
3290 * term/ieee1275/ofconsole.c: Simplify using terminfo.
3291 (colors): Reordered to match terminfo.
3292 (grub_ofconsole_normal_color): Removed.
3293 (grub_ofconsole_writeesc): Likewise.
3294 (grub_ofconsole_highlight_color): Likewise.
3295 (grub_ofconsole_getcharwidth): Likewise.
3296 (grub_ofconsole_setcolorstate): Likewise.
3297 (grub_ofconsole_setcolor): Likewise.
3298 (grub_ofconsole_getcolor): Likewise.
3299 (grub_ofconsole_readkey): Renamed to ...
3300 (readkey): ... this. Remove escape sequence handling. Return -1 on no
3301 key.
3302 (grub_ofconsole_checkkey): Removed.
3303 (grub_ofconsole_getkey): Likewise.
3304 (grub_ofconsole_getxy): Likewise.
3305 (grub_ofconsole_gotoxy): Likewise.
3306 (grub_ofconsole_cls): Likewise.
3307 (grub_ofconsole_refresh): Likewise.
3308 (grub_ofconsole_terminfo_input): New struct.
3309 (grub_ofconsole_terminfo_output): Likewise.
3310 (grub_ofconsole_term_input): Use terminfo.
3311 (grub_ofconsole_term_output): Likewise.
3312 (grub_console_init): Split into ...
3313 (grub_console_init_early): ...this and ...
3314 (grub_console_init_lately): ...this. Use terminfo.
3315 (grub_ofconsole_putchar): Renamed to ...
3316 (put): ... this. Remove mapping.
3317 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
3318 * term/serial.c: Simplify using terminfo.
3319 (xpos): Removed.
3320 (ypos): Likewise.
3321 (keep_track): Likewise.
3322 (registered): Likewise.
3323 (input_buf): Likewise.
3324 (npending): Likewise.
3325 (serial_translate_key_sequence): Likewise.
3326 (fill_input_buf): Likewise.
3327 (grub_serial_checkkey): Likewise.
3328 (grub_serial_getkey): Likewise.
3329 (grub_serial_getxy): Likewise.
3330 (grub_serial_gotoxy): Likewise.
3331 (grub_serial_putchar): Likewise.
3332 (grub_serial_cls): Likewise.
3333 (grub_serial_setcolorstate): Likewise.
3334 (grub_serial_setcursor): Likewise.
3335 (serial_hw_init): Use serial_hw_fetch.
3336 (grub_serial_terminfo_input): New variable.
3337 (grub_serial_terminfo_output): Likewise.
3338 (grub_serial_term_input): Use terminfo.
3339 (grub_serial_term_output): Likewise.
3340 * term/terminfo.c (putstr): Use put.
3341 (grub_terminfo_all_free): New function
3342 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
3343 (grub_terminfo_output_register): New function.
3344 (grub_terminfo_output_unregister): Likewise.
3345 (grub_terminfo_getxy): Likewise.
3346 (grub_terminfo_readkey): Likewise.
3347 (grub_terminfo_checkkey): Likewise.
3348 (grub_terminfo_getkey): Likewise.
3349 (grub_terminfo_input_init): Likewise.
3350 (print_terminfo): Likewise.
3351 (grub_cmd_terminfo): Handle encoding.
3352 (grub_terminfo_gotoxy): Track position.
3353 (grub_terminfo_cls): Likewise.
3354 (grub_terminfo_putchar): Likewise.
3355 (grub_terminfo_setcolorstate): Handle colors
3356 (grub_terminfo_cursor_on): This ...
3357 (grub_terminfo_cursor_off): ... and this merged into ...
3358 (grub_terminfo_setcursor): ... this.
3359 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
3360 * unicode/ArabicShaping.txt: New file (imported from Unicode).
3361 * unicode/BidiMirroring.txt: Likewise.
3362 * unicode/UnicodeData.txt: Likewise.
3363 * unicode/COPYING: Likewise.
3364 * util/grub-editenv.c (grub_putchar): Removed.
3365 (grub_xputs_real): New function.
3366 (grub_xputs): New variable.
3367 * util/grub-fstest.c (grub_putchar): Removed.
3368 (grub_xputs_real): New function.
3369 (grub_xputs): New variable.
3370 * util/grub-mkdevicemap.c (grub_putchar): Removed.
3371 (grub_xputs_real): New function.
3372 (grub_xputs): New variable.
3373 * util/grub-probe.c (grub_putchar): Removed.
3374 (grub_xputs_real): New function.
3375 (grub_xputs): New variable.
3376 * util/grub-script-check.c (grub_putchar): Removed.
3377 (grub_xputs_real): New function.
3378 (grub_xputs): New variable.
3379 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
3380 (grub_xputs_real): New function.
3381 (grub_xputs): New variable.
3382 * util/import_unicode.py: New file.
3383 * util/grub-mkfont.c (ft_errmsgs): New array.
3384 (grub_glyph_info): Make bitmap a pointer.
3385 (file_formats): New type WIDTH_SPEC.
3386 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
3387 (options): Add width-spec.
3388 (help): Likewise.
3389 (add_char): Renamed to ...
3390 (add_glyph): ... this.
3391 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
3392 (glyph_replace): New type.
3393 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
3394 (add_char): New function.
3395 (add_subst): Likewise.
3396 (process_cursive): Likewise.
3397 (add_font): Handle GSUB.
3398 (write_font_width_spec): New function.
3399 (main): Sort glyphs.
3400 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
3401 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
3402 * kern/term.c (grub_cls): Moved from here...
3403 * normal/term.c (grub_cls): ... here.
3404
50f0bcda
CW
34052010-07-02 Colin Watson <cjwatson@ubuntu.com>
3406
3407 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
3408 suitable for using within the format argument of printf when
3409 converting grub_size_t.
3410 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
3411 "x" to convert grub_size_t arguments.
3412
40372103
VS
34132010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
3416 too long captions.
3417 (list_get_minimal_size): Take selection box into account.
3418
942a10c7
VS
34192010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
3422 NULL font.
3423
2bdb2892
CW
34242010-07-02 Colin Watson <cjwatson@ubuntu.com>
3425
3426 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
3427 devices when iterating over /dev/disk/by-id; they will be handled
3428 later if appropriate, which they aren't always (e.g. LVM).
3429
e03ed6c1
CW
34302010-07-02 Colin Watson <cjwatson@ubuntu.com>
3431
3432 * include/grub/misc.h (grub_reboot): Declare as noreturn.
3433 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
3434 fails.
3435 (grub_halt): Likewise.
3436 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
3437 reset-all fails.
3438 (grub_halt): Don't return, even if all of shut-down, power-off, and
3439 poweroff fail.
3440
47695765
CW
34412010-07-02 Colin Watson <cjwatson@ubuntu.com>
3442
3443 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
3444 arguments, not three.
3445
507736c8
CW
34462010-07-02 Colin Watson <cjwatson@ubuntu.com>
3447
3448 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
3449 * util/grub.d/10_linux.in: Use it to check for LVM, so that
3450 LVM-on-RAID is handled correctly.
3451
e3c8cd37
CW
34522010-07-02 Colin Watson <cjwatson@ubuntu.com>
3453
3454 * docs/grub.texi (Changes from GRUB Legacy): New section.
3455 (Future): Fix typo.
3456
8d4a2fec
CW
34572010-07-02 Colin Watson <cjwatson@ubuntu.com>
3458
3459 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
3460 grub.d/README accidentally ends up executable for one reason or
3461 another. Ignore it.
3462
1c4827be
VS
34632010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
3466 (gpt_partition_map_iterate): Support non-512B sectors.
3467
d9a0c941
VS
34682010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 * kern/efi/init.c (grub_efi_init): Disable watchdog.
3471 Tested by: Seth Goldberg.
3472
48f27e87
VS
34732010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
3476 Properly align mbi.
3477 Reported by: Seth Goldberg.
3478
b0c4f956
VS
34792010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * util/grub-mkrescue.in: Avoid module duplication.
3482
105a2e8c
SF
34832010-07-01 Sean Finney <seanius@seanius.net>
3484
3485 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
3486
5944958c
SF
34872010-07-01 Sean Finney <seanius@seanius.net>
3488
3489 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
3490
34912010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * disk/lvm.c (grub_lvm_checkvalue): New function.
3494 (grub_lvm_check_flag): Likewise.
3495
b79889ba
RM
34962010-07-01 Robert Millan <rmh@gnu.org>
3497
3498 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
3499 Support 'p' as partition separator on kernel of FreeBSD (used
3500 with GPT labels).
3501 (grub_util_biosdisk_get_grub_dev): Likewise.
3502
ec1d04f1
VS
35032010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
3504
3505 Yeeloong firmware port.
3506
3507 * boot/mips/yeeloong/fwstart.S: New file.
3508 * bus/cs5536.c (gpiodump): New const.
3509 (set_io_space): New function.
3510 (set_iod): Likewise.
3511 (set_p2d): Likewise.
3512 (grub_cs5536_init_geode): Likewise.
3513 * commands/mips/yeeloong/lsspd.c: New file.
3514 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
3515 (serial_mod_SOURCES): New variable.
3516 (serial_mod_CFLAGS): Likewise.
3517 (serial_mod_LDFLAGS): Likewise.
3518 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
3519 term/terminfo.c and term/tparm.c.
3520 (pkglib_IMAGES): Add fwstart.img.
3521 (fwstart_img_SOURCES): New variable.
3522 (fwstart_img_CFLAGS): Likewise.
3523 (fwstart_img_ASFLAGS): Likewise.
3524 (fwstart_img_LDFLAGS): Likewise.
3525 (fwstart_img_FORMAT): Likewise.
3526 (pkglib_MODULES): Add lsspd.mod.
3527 (lsspd_mod_SOURCES): New variable.
3528 (lsspd_mod_CFLAGS): Likewise.
3529 (lsspd_mod_LDFLAGS): Likewise.
3530 (pkglib_MODULES): Add halt.mod.
3531 (halt_mod_SOURCES): New variable.
3532 (halt_mod_CFLAGS): Likewise.
3533 (halt_mod_LDFLAGS): Likewise.
3534 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
3535 (serial_mod_SOURCES): Removed.
3536 (serial_mod_CFLAGS): Likewise.
3537 (serial_mod_LDFLAGS): Likewise.
3538 * disk/ata.c (check_device): New function.
3539 (grub_ata_device_initialize): Use check_device.
3540 (grub_ata_iterate): Recheck devices.
3541 (grub_ata_open): Likewise.
3542 (grub_atapi_iterate): Likewise.
3543 (grub_atapi_open): Likewise.
3544 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
3545 (GRUB_ATA_CH1_PORT1): Likewise.
3546 (GRUB_ATA_CH0_PORT2): Likewise.
3547 (GRUB_ATA_CH1_PORT2): Likewise.
3548 * include/grub/mips/loongson.h: New file.
3549 * include/grub/mips/yeeloong/ec.h: Likewise.
3550 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
3551 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
3552 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
3553 * include/grub/misc.h (grub_halt): Declare as noreturn.
3554 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
3555 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
3556 (UART_ENABLE_FIFO_TRIGGER1): New definition.
3557 (UART_ENABLE_DTRRTS): Likewise.
3558 (UART_ENABLE_MODEM): Removed.
3559 (UART_ENABLE_OUT2): New const.
3560 * include/grub/term.h (grub_term_register_input_active): New function.
3561 (grub_term_register_output_active): Likewise.
3562 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
3563 argument.
3564 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
3565 (init_pci): New function.
3566 (grub_machine_init): Execute platform init when firmware. Init serial.
3567 (grub_halt): Implement.
3568 (grub_exit): Likewise.
3569 (grub_reboot): Likewise.
3570 * term/serial.c (serial_hw_init): Update macros.
3571 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
3572 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
3573 (image_targets): New target mipsel-yeeloong-flash.
3574 (generate_image): Support IMAGE_YEELOONG_FLASH.
3575 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
3576 (grub_video_sm712_setup): Init card.
3577 (grub_video_sm712_set_palette): Removed.
3578 * video/sm712_init.c: New file.
3579
ff4a70d2
CW
35802010-06-30 Colin Watson <cjwatson@ubuntu.com>
3581
3582 * Makefile.in (install-local): Temporarily prepend $(builddir) to
3583 PATH when running help2man and then run it on the unadorned
3584 executable names, rather than passing $(builddir)/* paths to
3585 help2man. This avoids the build directory ending up in generated
3586 manual pages.
3587
1246efeb
CW
35882010-06-29 Colin Watson <cjwatson@ubuntu.com>
3589
3590 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
3591 to avoid accidents when debugging with 'sh -x'.
3592 * util/grub-mkrescue.in: Likewise.
3593 * util/grub.d/00_header.in: Likewise.
3594 * util/grub.d/10_hurd.in: Likewise.
3595 * util/grub.d/10_kfreebsd.in: Likewise.
3596 * util/grub.d/10_linux.in: Likewise.
3597 * util/grub.d/10_netbsd.in: Likewise.
3598 * util/grub.d/10_windows.in: Likewise.
3599 * util/grub.d/20_linux_xen.in: Likewise.
3600 * util/grub.d/30_os-prober.in: Likewise.
3601 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3602
1ba9b889
CW
36032010-06-29 Colin Watson <cjwatson@ubuntu.com>
3604
3605 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
3606 last character in the buffer.
3607 Reported by: Vladimir Serbinenko.
3608
dccaf99d
RM
36092010-06-29 Robert Millan <rmh@gnu.org>
3610
3611 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
3612 (Command-line and menu entry commands): Document `badram' command.
3613
d500ed12
RM
36142010-06-28 Robert Millan <rmh@gnu.org>
3615
3616 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
3617 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
3618 command using ${GRUB_BADRAM} as parameter.
3619
20bc84a6
CW
36202010-06-28 Colin Watson <cjwatson@ubuntu.com>
3621
3622 * docs/grub.texi (Device map): New section.
3623 (Themes): New section (stub).
3624 * Makefile.in (docs/grub.info): The info documentation now builds
3625 without errors. Make sure it stays that way.
3626
4045dee1
VS
36272010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 Use normal parser for menu entries.
3630 Reported by: Thomas Frauendorfer
3631
3632 * include/grub/parser.h (grub_parser_execute): Don't export.
3633 * normal/menu.c (grub_menu_execute_entry_real): New function.
3634 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
3635
bca58c7b
CW
36362010-06-28 Colin Watson <cjwatson@ubuntu.com>
3637
3638 * docs/grub.texi (Embedded configuration): New section (replacing
3639 old "Preset Menu" stub).
3640 (Images): New section.
3641 (configfile): Note that any menu entries defined in `file' are shown
3642 immediately.
3643
dec53e63
JT
36442010-06-28 Josh Triplett <josh@joshtriplett.org>
3645
3646 * mmap/i386/pc/mmap_helper.S: Set CF on return.
3647
c06e40f7
CW
36482010-06-28 Colin Watson <cjwatson@ubuntu.com>
3649
3650 * util/grub-install.in: Add --debug-image= option.
3651
cb88052b
CW
36522010-06-28 Colin Watson <cjwatson@ubuntu.com>
3653
3654 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
3655 possible on Linux.
3656
3657 * util/deviceiter.c (check_device): Rename to ...
3658 (check_device_readable_unique): ... this. Update all callers.
3659 Maintain and check a list of which devices (by canonicalized name)
3660 have already been seen.
3661 (clear_seen_devices): New function.
3662 (compare_file_names) [__linux__]: New function.
3663 (grub_util_iterate_devices): Clear the list of seen devices on exit
3664 and (just in case) on entry.
3665 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
3666 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
3667 seen-devices list, superseded by general code in check_device.
3668
bbe34652
CW
36692010-06-28 Colin Watson <cjwatson@ubuntu.com>
3670
3671 * commands/cat.c (options): New variable.
3672 (grub_cmd_cat): Parse options. If the --dos option is given, print
3673 DOS-style "\r\n" line endings as simple newlines (Debian bug
3674 #586358).
3675 (GRUB_MOD_INIT): Use extcmd.
3676 (GRUB_MOD_FINI): Likewise.
3677 * docs/grub.texi (cat): Document --dos.
3678
412e09f3
VS
36792010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 XEN with Linux grub-mkconfig support.
3682
3683 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
3684 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
3685 GRUB_CMDLINE_XEN_DEFAULT.
3686 * util/grub.d/20_linux_xen.in: New file.
3687
53f3ef38 36882010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
3689
3690 Initialise VGA video on qemu ourselves.
3691
3692 * boot/i386/qemu/boot.S: Don't call 0xc000.
3693 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
3694 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
3695 (kernel_img_HEADERS): Add pci.h.
3696 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
3697 * configure.ac: Force unifont on qemu and yeeloong.
3698 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
3699 (grub_vga_palette_write): Use correct register.
3700 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
3701 Call grub_qemu_init_cirrus.
3702 * kern/i386/qemu/init.c: New file.
3703 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
3704
3705 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
3706
c75be4fb
PR
37072010-06-26 Pavel Roskin <proski@gnu.org>
3708
3709 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
3710 13.
3711
d8034603
CW
37122010-06-26 Colin Watson <cjwatson@ubuntu.com>
3713
3714 * docs/grub.texi (Simple configuration): Explain that
3715 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
3716 set to `true' to disable their respective recovery entries, not
3717 merely set.
3718
3fa06487
CW
37192010-06-26 Colin Watson <cjwatson@ubuntu.com>
3720
3721 Make the `source' command slightly faster.
3722
3723 * normal/main.c (grub_normal_execute): Don't re-read list files when
3724 nested.
3725
e9b29642
CW
37262010-06-23 Colin Watson <cjwatson@ubuntu.com>
3727
3728 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
3729 field position and mask size to red fields from mode_info, not
3730 green.
3731 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
3732 Remove redundant tag->common.framebuffer_type assignment.
3733 Reported by: Seth Goldberg.
3734
e726542f
CW
37352010-06-23 Colin Watson <cjwatson@ubuntu.com>
3736
3737 Sync up other versions of the Linux loader with Robert Millan's
3738 change of 2010-01-09, "Make loader output a bit more user-friendly".
3739
3740 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
3741 grub_dprintf().
3742 (grub_cmd_linux): Likewise.
3743 (grub_cmd_initrd): Likewise.
3744 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
3745 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3746
d6e98a17
CW
37472010-06-21 Colin Watson <cjwatson@ubuntu.com>
3748
3749 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
3750 larger than MEMORY_MAP_SIZE.
3751
14d3f08e
BC
37522010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
3753
3754 Fix parallel build.
3755
3756 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
3757 dependency.
3758 * script/parser.y: #include grub_script.tab.h header.
3759
4f9613a3
VS
37602010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 Support >3GiB and <16MiB RAM in i386-qemu.
3763
3764 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
3765 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
3766 (grub_lower_mem): Removed.
3767 (grub_upper_mem): Likewise.
3768 (mem_size): Made static.
3769 (above_4g): New variable.
3770 (grub_machine_mmap_init): Detect small mem_size and above_4g.
3771 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
3772 support.
3773
05e51879
VS
37742010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 Cirrus 5446 and Bochs video cards support.
3777
3778 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
3779 video_bochs.mod
3780 (video_cirrus_mod_SOURCES): New variable.
3781 (video_cirrus_mod_CFLAGS): Likewise.
3782 (video_cirrus_mod_LDFLAGS): Likewise.
3783 (video_bochs_mod_SOURCES): Likewise.
3784 (video_bochs_mod_CFLAGS): Likewise.
3785 (video_bochs_mod_LDFLAGS): Likewise.
3786 * include/grub/vga.h: New file.
3787 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
3788 (grub_video_fb_set_page_t): New type.
3789 (grub_video_fb_setup): New prototype.
3790 (grub_video_fb_swap_buffers): Likewise.
3791 (grub_video_fb_get_info_and_fini): Likewise.
3792 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
3793 (CRTC_DATA_PORT): Likewise.
3794 (CRTC_CURSOR): Likewise.
3795 (CRTC_CURSOR_ADDR_HIGH): Likewise.
3796 (CRTC_CURSOR_ADDR_LOW): Likewise.
3797 (CRTC_CURSOR_DISABLE): Likewise.
3798 (update_cursor): Use grub_vga_cr_write.
3799 (grub_vga_text_setcursor): Likewise.
3800 * video/bochs.c: New file.
3801 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
3802 (palette): Likewise.
3803 (palette_size): Likewise.
3804 (framebuffer): New variable.
3805 (grub_video_fb_init): Use 'framebuffer'.
3806 (grub_video_fb_fini): Likewise.
3807 (grub_video_fb_get_info): Likewise.
3808 (grub_video_fb_get_palette): Likewise.
3809 (grub_video_fb_set_palette): Likewise.
3810 (grub_video_fb_set_viewport): Likewise.
3811 (grub_video_fb_get_viewport): Likewise.
3812 (grub_video_fb_map_color): Likewise.
3813 (grub_video_fb_map_rgb): Likewise.
3814 (grub_video_fb_map_rgba): Likewise.
3815 (grub_video_fb_unmap_color): Likewise.
3816 (grub_video_fb_unmap_color_int): Likewise.
3817 (grub_video_fb_fill_rect): Likewise.
3818 (grub_video_fb_blit_bitmap): Likewise.
3819 (grub_video_fb_blit_render_target): Likewise.
3820 (grub_video_fb_scroll): Likewise.
3821 (grub_video_fb_create_render_target): Likewise.
3822 (grub_video_fb_doublebuf_blit_init): Likewise.
3823 (grub_video_fb_set_active_render_target): Handle doublebuffering.
3824 (doublebuf_pageflipping_update_screen): New function.
3825 (doublebuf_pageflipping_init): Likewise.
3826 (grub_video_fb_setup): Likewise.
3827 (grub_video_fb_swap_buffers): Likewise.
3828 (grub_video_fb_get_info_and_fini): Likewise.
3829 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
3830 All users updated.
3831 (doublebuf_pageflipping_commit): Restructured into ...
3832 (doublebuf_pageflipping_set_page): ... this.
3833 (doublebuf_pageflipping_update_screen): Removed.
3834 (doublebuf_pageflipping_init): Likewise.
3835 (double_buffering_init): Likewise.
3836 (grub_video_vbe_setup): Use grub_video_fb_setup.
3837 (grub_video_vbe_swap_buffers): Removed.
3838 (grub_video_vbe_set_active_render_target): Likewise.
3839 (grub_video_vbe_get_active_render_target): Likewise.
3840 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
3841 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
3842 grub_video_fb_set_active_render_target and
3843 grub_video_fb_get_active_render_target.
3844 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
3845 (SEQUENCER_DATA_PORT): Likewise.
3846 (MAP_MASK_REGISTER): Likewise.
3847 (CRTC_ADDR_PORT): Likewise.
3848 (CRTC_DATA_PORT): Likewise.
3849 (START_ADDR_HIGH_REGISTER): Likewise.
3850 (START_ADDR_LOW_REGISTER): Likewise.
3851 (GRAPHICS_ADDR_PORT): Likewise.
3852 (GRAPHICS_DATA_PORT): Likewise.
3853 (READ_MAP_REGISTER): Likewise.
3854 (INPUT_STATUS1_REGISTER): Likewise.
3855 (INPUT_STATUS1_VERTR_BIT): Likewise.
3856 (get_map_mask): Use grub_vga_sr_read.
3857 (set_map_mask): Use grub_vga_sr_write.
3858 (set_read_map): Use grub_vga_gr_write.
3859 (set_start_address): Use grub_vga_cr_write.
3860 * video/sm712.c (framebuffer): Remove leftover fields.
3861
4321c64a
CW
38622010-06-20 Colin Watson <cjwatson@ubuntu.com>
3863
3864 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
3865 setting GRUB_VIDEO_BACKEND. Make it available as a user override
3866 instead. Replace the gfxterm backend check with a check that
3867 ${GRUB_PREFIX}/video.lst is non-empty.
3868 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
3869 again.
3870 (load_video): New generated function. Call it before loading
3871 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
3872 * util/grub.d/10_linux.in (linux_entry): Call load_video.
3873 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
3874 * docs/grub.texi (Simple configuration): Document
3875 GRUB_VIDEO_BACKEND.
3876
38772010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 Use video functions in linux and xnu loaders.
3880
3881 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
3882 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
3883 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
3884 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
3885 loader/i386/pc/linux.c.
3886 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
3887 (find_line_len): Removed.
3888 (find_framebuf): Likewise.
3889 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
3890 * loader/i386/efi/xnu.c: Removed.
3891 * loader/i386/pc/xnu.c: Moved from here...
3892 * loader/i386/xnu.c: ...here.
3893
3894 Enable priorities in video drivers.
3895
3896 * include/grub/video.h (grub_video_adapter_prio_t): New type.
3897 (grub_video_adapter): New field prio.
3898 (grub_video_register): Respect prio when inserting.
3899 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
3900 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
3901 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
3902 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
3903 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
3904 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
3905 * video/sm712.c (grub_video_sm712_adapter): Likewise.
3906
3907 Fix SDL driver ID.
3908
3909 * include/grub/video.h (grub_video_driver_id_t): New value
3910 GRUB_VIDEO_DRIVER_SDL.
3911 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
3912
7d24e434
CW
39132010-06-17 Colin Watson <cjwatson@ubuntu.com>
3914
3915 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
3916 argument to printf.
3917 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
3918
c88a83f6
CW
39192010-06-17 Colin Watson <cjwatson@ubuntu.com>
3920
3921 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
3922 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
3923
094dfb69
CW
39242010-06-17 Colin Watson <cjwatson@ubuntu.com>
3925
3926 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
3927 directly, and recommend grub-install instead.
3928 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
3929
2164da6b
CW
39302010-06-17 Colin Watson <cjwatson@ubuntu.com>
3931
3932 Fix i386-pc prefix handling with nested partitions (Debian bug
3933 #585068). Note that the case where the core image is booted using
3934 multiboot and relocated from its original location still requires
3935 more work.
3936
3937 * kern/i386/pc/init.c (make_install_device): If the prefix starts
3938 with "(,", fill the boot drive in between those two characters, but
3939 expect that a full partition specification including partition map
3940 names will follow.
3941 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
3942 specified, write a prefix without the drive name but including a
3943 full partition specification.
3944
044e2e60
CW
39452010-06-16 Colin Watson <cjwatson@ubuntu.com>
3946
3947 * util/grub-mkconfig.in: Ignore non-option arguments, for
3948 compatibility with older versions (before 2010-06-12) which did the
3949 same. In particular, this makes it easier to ship an update-grub
3950 wrapper which is compatible with that used with GRUB Legacy (Debian
3951 bug #586056).
3952
5591324f
GS
39532010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
3954
3955 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
3956 for manual page generation.
3957
662e24d5
GS
39582010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
3959
3960 * po/POTFILES: Remove leftover commands/handler.c.
3961
8d70754e
CW
39622010-06-14 Colin Watson <cjwatson@ubuntu.com>
3963
3964 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
3965 left this script non-functional.
3966
41160e2e
CW
39672010-06-14 Colin Watson <cjwatson@ubuntu.com>
3968
3969 * docs/man/grub-emu.h2m: New file.
3970
b5309cc1
CW
39712010-06-13 Colin Watson <cjwatson@ubuntu.com>
3972
3973 * docs/grub.texi (Commands): Document reduced command set in rescue
3974 mode.
3975 (cpuid): New section.
3976
fcb2d090
GS
39772010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
3978
3979 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
3980 new partition naming style.
3981 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
3982
96e5c556
BC
39832010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
3984
3985 Add "-o grub.iso" like cmdline options support.
3986
3987 * util/grub-install.in: Improve cmdline option parsing.
3988 * util/grub-mkconfig.in: Likewise.
3989 * util/grub-mkrescue.in: Likewise.
3990 * util/grub-reboot.in: Likewise.
3991 * util/grub-set-default.in: Likewise.
3992 * util/i386/efi/grub-install.in: Likewise.
3993 * util/ieee1275/grub-install.in: Likewise.
3994 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3995
c16be99b
CW
39962010-06-12 Colin Watson <cjwatson@ubuntu.com>
3997
3998 * .bzrignore: Ignore 41_custom.
3999
ce08a9fb
TS
40002010-06-12 Thomas Schmitt <scdbackup@gmx.net>
4001
4002 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
4003
7beac90c
CW
40042010-06-12 Colin Watson <cjwatson@ubuntu.com>
4005
4006 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
4007 prototype declarations.
4008
4009 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
4010 generating fs, partmap, and video lists.
4011 * include/grub/fs.h (grub_fs_register): Omit prototype if
4012 GRUB_LST_GENERATOR is defined.
4013 * include/grub/partition.h (grub_partition_map_register): Likewise.
4014 * include/grub/video.h (grub_video_register): Likewise.
4015
1c8f0f8d
JM
40162010-06-12 Javier Martín <lordhabbit@gmail.com>
4017
4018 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
4019
a6085973
TS
40202010-06-12 Thomas Schmitt <scdbackup@gmx.net>
4021
4022 * util/grub-mkrescue.in: Support --xorriso argument.
4023
25c56d29
VS
40242010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
4027 Suggested by: Thomas Schmitt.
4028
e03e4b24
VS
40292010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
4032 Suggested by: Thomas Schmitt.
4033
57711df6
VS
40342010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 custom.cfg support.
4037
4038 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
4039 * util/grub.d/41_custom.in: New file.
4040
ee62c427
CW
40412010-06-12 Colin Watson <cjwatson@ubuntu.com>
4042
4043 * util/grub-mkrescue.in (make_image): Remove sh module, which has
4044 been merged back into normal.
4045
283af07a
CW
40462010-06-11 Colin Watson <cjwatson@ubuntu.com>
4047
4048 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
4049 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
4050
56a0d956
CW
40512010-06-11 Colin Watson <cjwatson@ubuntu.com>
4052
4053 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
4054 when generating manual pages.
4055 * docs/man/grub-bin2h.h2m: New file.
4056 * docs/man/grub-editenv.h2m: New file.
4057 * docs/man/grub-fstest.h2m: New file.
4058 * docs/man/grub-install.h2m: New file.
4059 * docs/man/grub-macho2img.h2m: New file.
4060 * docs/man/grub-mkconfig.h2m: New file.
4061 * docs/man/grub-mkdevicemap.h2m: New file.
4062 * docs/man/grub-mkfont.h2m: New file.
4063 * docs/man/grub-mkimage.h2m: New file.
4064 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
4065 * docs/man/grub-mkrelpath.h2m: New file.
4066 * docs/man/grub-mkrescue.h2m: New file.
4067 * docs/man/grub-ofpathname.h2m: New file.
4068 * docs/man/grub-pe2elf.h2m: New file.
4069 * docs/man/grub-probe.h2m: New file.
4070 * docs/man/grub-reboot.h2m: New file.
4071 * docs/man/grub-script-check.h2m: New file.
4072 * docs/man/grub-set-default.h2m: New file.
4073 * docs/man/grub-setup.h2m: New file.
4074
3a37e322
VS
40752010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 Use FOR_* macros instead of *_iterate whenever possible.
4078
4079 * commands/handler.c: Removed.
4080 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
4081 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
4082 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
4083 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
4084 (grub_probe_SOURCES): Remove kern/parser.c.
4085 (util/grub-script-check.c_DEPENDENCIES): Removed.
4086 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
4087 and grub_script_check_init.c.
4088 (grub_script_check_init.lst): Removed.
4089 (grub_script_check_init.h): Likewise.
4090 (grub_script_check_init.c): Likewise.
4091 (pkglib_MODULES): Remove handler.mod and sh.mod.
4092 (handler_mod_SOURCES): Removed.
4093 (handler_mod_CFLAGS): Likewise.
4094 (handler_mod_LDFLAGS): Likewise.
4095 (normal_mod_SOURCES): Remove normal/handler.c.
4096 Add script/main.c, script/script.c, script/execute.c,
4097 script/function.c, script/lexer.c, grub_script.tab.c
4098 and grub_script.yy.c.
4099 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
4100 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4101 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
4102 (grub_setup_SOURCES): Remove kern/parser.c.
4103 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
4104 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
4105 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
4106 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4107 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4108 (grub_setup_SOURCES): Remove kern/parser.c.
4109 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
4110 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
4111 * include/grub/command.h (grub_command_iterate): Removed.
4112 (FOR_COMMANDS): New macro.
4113 * include/grub/dl.h (grub_dl): New member next.
4114 (grub_dl_iterate): Removed.
4115 (grub_dl_head): New variable declaration.
4116 (FOR_DL_MODULES): New macro.
4117 * include/grub/fs.h: Include list.h.
4118 (grub_fs): Make next first element.
4119 (grub_fs_list): New variable declaration.
4120 (grub_fs_register): Make inline.
4121 (grub_fs_unregister): Likewise.
4122 (grub_fs_iterate): Removed.
4123 (FOR_FILESYSTEMS): New macro.
4124 * include/grub/handler.h: Removed.
4125 * include/grub/list.h (grub_list_hook_t): Removed.
4126 (grub_list_test_t): Likewise.
4127 (grub_list_pop): Likewise.
4128 (grub_list_iterate): Likewise.
4129 (grub_list_insert): Likewise.
4130 (FOR_LIST_ELEMENTS): New macro.
4131 * include/grub/parser.h (grub_parser_class): Removed.
4132 (grub_parser_register): Likewise.
4133 (grub_parser_unregister): Likewise.
4134 (grub_parser_get_current): Likewise.
4135 (grub_parser_set_current): Likewise.
4136 (grub_register_rescue_parser): Likewise.
4137 (grub_rescue_parse_line): New function.
4138 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
4139 * include/grub/script_sh.h (grub_script_function_list): New variable
4140 declaration.
4141 (FOR_SCRIPT_FUNCTIONS): New macro.
4142 (grub_script_function_iterate): Removed.
4143 (grub_normal_parse_line): New prototype.
4144 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
4145 (FOR_DISABLED_TERM_INPUTS): Likewise.
4146 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
4147 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
4148 * include/grub/video.h (grub_video_adapter): Move 'next' to first
4149 element.
4150 (grub_video_register): Inline.
4151 (grub_video_unregister): Likewise.
4152 (grub_video_adapter_list): New variable declaration.
4153 (grub_video_iterate): Removed.
4154 (FOR_VIDEO_ADAPTERS): New macro.
4155 * kern/dl.c (grub_dl_list): Removed. All users updated.
4156 (grub_dl_iterate): Removed.
4157 * kern/fs.c (grub_fs_list): Make global.
4158 (grub_fs_register): Removed.
4159 (grub_fs_unregister): Likewise.
4160 (grub_fs_iterate): Likewise.
4161 * kern/handler.c: Removed.
4162 * kern/list.c (grub_list_pop): Removed.
4163 (grub_list_iterate): Likewise.
4164 (grub_list_insert): Likewise.
4165 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
4166 (grub_prio_list_insert): Don't use grub_list_insert.
4167 * kern/main.c (grub_register_rescue_parser): Don't call
4168 grub_register_rescue_parser.
4169 * kern/parser.c (grub_parser_class): Removed.
4170 (grub_parser_execute): Use grub_rescue_parse_line.
4171 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
4172 (grub_rescue_parser): Removed.
4173 (grub_register_rescue_parser): Likewise.
4174 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
4175 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
4176 (grub_auth_check_authentication): Likewise.
4177 * normal/completion.c (iterate_command): Removed.
4178 (grub_normal_do_completion): Use FOR_COMMANDS.
4179 * normal/handler.c: Removed.
4180 * normal/main.c (read_config_file): Remove parser changing.
4181 (grub_normal_execute): Don't call read_handler_list.
4182 (grub_normal_read_line_real): Statically allocate prompt.
4183 (grub_cmdline_run): Use grub_normal_parse_line.
4184 (GRUB_MOD_FINI): Don't call free_handler_list.
4185 * normal/menu_entry.c (run): Likewise.
4186 * script/function.c (grub_script_function_list): Make global.
4187 (grub_script_function_iterate): Removed.
4188 * script/main.c (grub_normal_parse_line): Make global.
4189 (grub_sh_parser): Removed.
4190 (GRUB_MOD_INIT): Likewise.
4191 (GRUB_MOD_FINI): Likewise.
4192 * tests/lib/functional_test.c (grub_functional_test): Use
4193 FOR_LIST_ELEMENTS.
4194 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
4195 (grub_test_run): Use FOR_LIST_ELEMENTS.
4196 * tests/lib/unit_test.c (main): Likewise.
4197 * util/deviceiter.c (grub_util_iterate_devices): Don't use
4198 grub_list_pop.
4199 * util/grub-fstest.c (grub_term_input_class): Removed.
4200 (grub_term_output_class): Likewise.
4201 * util/grub-probe.c: Likewise.
4202 * util/i386/pc/grub-setup.c: Likewise.
4203 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4204 * util/grub-script-check.c (main): Don't call grub_init_all and
4205 grub_fini_all.
4206 * video/video.c (grub_video_adapter_list): Make global.
4207 (grub_video_register): Removed.
4208 (grub_video_unregister): Likewise.
4209 (grub_video_iterate): Likewise.
4210
6289c3a7
VS
42112010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
4214 reported by Henrique Ferreiro.
4215
91460247
RM
42162010-06-09 Robert Millan <rmh@gnu.org>
4217
4218 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
4219 ones, when both are available.
4220
0ea7c4f9
GS
42212010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
4222
4223 Make --version uniform and avoid hard-coded program name.
4224
4225 * util/grub-mkimage.c (main): Use `program_name' instead of
4226 hard-coded string.
4227 * util/i386/pc/grub-setup.c (main): Likewise.
4228 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
4229 * util/grub-install.in: Save the basename of $0 in $self, and use the
4230 latter in informational messages. Use the same format for --version
4231 as the binary programs.
4232 * util/grub-mkconfig.in: Likewise.
4233 * util/grub-mkrescue.in: Likewise.
4234 * util/grub-reboot.in: Likewise.
4235 * util/grub-set-default.in: Likewise.
4236 * util/i386/efi/grub-install.in: Likewise.
4237 * util/ieee1275/grub-install.in: Likewise.
4238 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4239
e8a6f3b6
GS
42402010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
4241
4242 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
4243 embedding area. Use <= instead of == when checking for non-emptiness.
4244
f4d095d7
GS
42452010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
4246
4247 * configure.ac: Add `.' to the directories searched for unifont.
4248
50e532ca
CW
42492010-06-08 Colin Watson <cjwatson@ubuntu.com>
4250
4251 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
4252 grub_script.yy.h.
4253
d39f3dec
CW
42542010-06-08 Colin Watson <cjwatson@ubuntu.com>
4255
4256 * docs/grub.texi (History): Expand to cover GRUB 2.
4257 (Serial terminal): Refer to `terminal_input' and `terminal_output'
4258 commands, not `terminal'.
4259 (serial): Likewise.
4260 (terminal_input): New section.
4261 (terminal_output): New section.
4262 (uppermem): New section (stub).
4263 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
4264
6ef0ddb4
CW
42652010-06-08 Colin Watson <cjwatson@ubuntu.com>
4266
4267 * docs/grub.texi (Security): Menu entries are unrestricted by
4268 default, not restricted to superusers as I had previously thought.
4269 Reword to account for this.
4270
e0f4c438
CW
42712010-06-07 Colin Watson <cjwatson@ubuntu.com>
4272
4273 * kern/emu/misc.c (device_mapper_null_log): New function.
4274 (grub_device_mapper_supported): New function.
4275 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
4276 prototype.
4277 * kern/emu/hostdisk.c (find_partition_start): Check whether
4278 device-mapper is supported before trying to use it.
4279 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
4280
da908200
CW
42812010-06-07 Colin Watson <cjwatson@ubuntu.com>
4282
4283 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
4284 (File name syntax): Likewise.
4285 (help): --all is no longer supported in GRUB 2. Be more precise
4286 about pattern matching.
4287
fb55c3ac
CW
42882010-06-07 Colin Watson <cjwatson@ubuntu.com>
4289
4290 * normal/completion.c (grub_normal_do_completion): When completing
4291 arguments to "set" and the current word contains an equals sign,
4292 skip to after the equals sign before starting completion.
4293
258c2573
CW
42942010-06-07 Colin Watson <cjwatson@ubuntu.com>
4295
4296 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
4297
ee75515e
CW
42982010-06-07 Colin Watson <cjwatson@ubuntu.com>
4299
4300 * docs/grub.texi (Network): New section.
4301 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
4302 `(nd)' as in GRUB Legacy.
4303 (pxe_unload): New section.
4304
a6a700aa
CW
43052010-06-07 Colin Watson <cjwatson@ubuntu.com>
4306
4307 * docs/grub.texi (Troubleshooting): `echo' is not usually available
4308 in the rescue shell, so recommend using `set' instead. Thanks,
4309 Jordan Uggla.
4310
4003dd38
CW
43112010-06-07 Colin Watson <cjwatson@ubuntu.com>
4312
4313 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
4314 (password): New section.
4315 (password_pbkdf2): New section.
4316 (search): New section.
4317 (Security): New section.
4318 (Troubleshooting): New section, currently very incomplete.
4319 (Invoking grub-mkpasswd-pbkdf2): New section.
4320 (Internals): New section, currently very incomplete.
4321
e1cbcc40
CW
43222010-06-07 Colin Watson <cjwatson@ubuntu.com>
4323
4324 * util/grub.d/00_header.in: Add some more quoting (of
4325 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
4326 work again.
4327 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
4328
db8fa1ad
CW
43292010-06-07 Colin Watson <cjwatson@ubuntu.com>
4330
4331 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
4332 to `count', fixing variable shadowing that broke the -c option.
4333
43342010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
4335
4336 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
4337 in case they contain spaces.
4338
f28a9212
CW
43392010-06-04 Colin Watson <cjwatson@ubuntu.com>
4340
4341 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
4342 "part_" to partmap module names, in line with grub-install.
4343 Reported by: Jindřich Makovička (Debian bug #584426).
4344
9cdfe32f
CW
43452010-06-04 Colin Watson <cjwatson@ubuntu.com>
4346
4347 * util/grub-mkimage.c: Make target-related error messages slightly
4348 more helpful; -O talks about "format". Explicitly point to the use
4349 of -O if no target is specified.
4350 Reported by: Didier Raboud (Debian bug #584415).
4351
795b593a
CW
43522010-06-03 Colin Watson <cjwatson@ubuntu.com>
4353
4354 * INSTALL: Document several build requirements for optional features
4355 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
4356
9d9b5833
GS
43572010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
4358
4359 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
4360 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
4361 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
4362
0819fec8
CW
43632010-06-02 Colin Watson <cjwatson@ubuntu.com>
4364
4365 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
4366 Thanks to Jordan Uggla for spotting this.
4367
49396b4f
VS
43682010-06-02 Aleš Nesrsta <starous@volny.cz>
4369
4370 Finally make USB usable.
4371
4372 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
4373 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
4374 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
4375 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
4376 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
4377 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
4378 (GRUB_OHCI_FSMPS): Likewise.
4379 (GRUB_OHCI_PERIODIC_START): Likewise.
4380 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
4381 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
4382 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
4383 (GRUB_OHCI_SET_PORT_RESET): Likewise.
4384 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
4385 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
4386 (grub_ohci_transaction): Likewise.
4387 (grub_ohci_transfer): Improve condition detection algorithms.
4388 Handle toggle property. Program the transactions correctly.
4389 Improve error handling. Various important fixups.
4390 (grub_ohci_portstatus): Put register writes in right order.
4391 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
4392 (grub_uhci_transfer): Don't show "failed" message on success.
4393 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
4394 array.
4395 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
4396 determine its size.
4397 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
4398 before initialization is completed. Use IN direction for empty
4399 transfers. Use last_trans and compute toggle.
4400 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
4401 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
4402 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
4403 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
4404 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
4405 (grub_usb_device): Increase toggle to 256.
4406 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
4407 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
4408 GRUB_USBMS_SUBCLASS_SFF8070.
4409 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
4410 (grub_scsi_inquiry): New member page and alloc_length.
4411 (grub_scsi_request_sense): New structure.
4412 (grub_scsi_request_sense_data): Likewise.
4413 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
4414 control.
4415 * disk/scsi.c (grub_scsi_request_sense): New function.
4416 (grub_scsi_test_unit_ready): Likewise.
4417 (grub_scsi_inquiry): Fill new fields.
4418 (grub_scsi_read_capacity): Likewise.
4419 (grub_scsi_read10): Add request sense at the end.
4420 (grub_scsi_read12): Likewise.
4421 (grub_scsi_write10): Likewise.
4422 (grub_scsi_write12): Likewise.
4423 (grub_scsi_open): Add Test Unit Ready.
4424 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
4425 Support additional subclasses. Con't clear halt yet. Activate the
4426 proper config. Calculate LUNs correctly.
4427 (grub_usbms_transfer): Various important fixups.
4428
44292010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
4432 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
4433 (grub_ohci_fini_hw): New function.
4434 (grub_ohci_restore_hw): Likewise.
4435 (GRUB_MOD_INIT(ohci)): Register preboot hook.
4436 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
4437 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
4438
44392010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 Dedicated DMA allocations.
4442
4443 * bus/pci.c (grub_memalign_dma32): New function
4444 (grub_dma_free): Likewise.
4445 (grub_dma_get_virt): Likewise.
4446 (grub_dma_get_phys): Likewise.
4447 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
4448 (grub_ohci_pci_iter): Use dma32_alloc.
4449 (grub_ohci_transfer): Likewise.
4450 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
4451 (grub_usb_bulk_readwrite): Likewise.
4452 * include/grub/pci.h: Add declarations.
4453
44542010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 CS5536 support.
4457
4458 * bus/cs5536.c: New file.
4459 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
4460 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
4461 (cs5536_mod_SOURCES): New variable.
4462 (cs5536_mod_CFLAGS): Likewise.
4463 (cs5536_mod_LDFLAGS): Likewise.
4464 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
4465 machine/pci.h.
4466 (kernel_img_SOURCES): Add bus/cs5536.c.
4467 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
4468 usb_keyboard.mod.
4469 (usb_mod_SOURCES): New variable.
4470 (usb_mod_CFLAGS): New variable.
4471 (usb_mod_LDFLAGS): New variable.
4472 (usbtest_mod_SOURCES): New variable.
4473 (usbtest_mod_CFLAGS): New variable.
4474 (usbtest_mod_LDFLAGS): New variable.
4475 (ohci_mod_SOURCES): New variable.
4476 (ohci_mod_CFLAGS): New variable.
4477 (ohci_mod_LDFLAGS): New variable.
4478 (usbms_mod_SOURCES): New variable.
4479 (usbms_mod_CFLAGS): New variable.
4480 (usbms_mod_LDFLAGS): New variable.
4481 (usb_keyboard_mod_SOURCES): New variable.
4482 (usb_keyboard_mod_CFLAGS): New variable.
4483 (usb_keyboard_mod_LDFLAGS): New variable.
4484 * include/grub/smbus.h: New file.
4485 * include/grub/cs5536.h: New file.
4486
0b35b2a9
CW
44872010-06-02 Colin Watson <cjwatson@ubuntu.com>
4488
4489 * util/grub.d/00_header.in: Add safety check to make sure that
4490 ${locale_dir} exists before trying to probe it.
4491
ca0afd5b
CW
44922010-06-02 Colin Watson <cjwatson@ubuntu.com>
4493
4494 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
4495 per the GNU Coding Standards; this is now too obscure to be worth
4496 documenting.
4497 (QNX): Likewise.
4498 (chainloader): Remove cross-reference to `SCO UnixWare'.
4499
1c41aa78
CW
45002010-06-02 Colin Watson <cjwatson@ubuntu.com>
4501
4502 * docs/grub.texi (Chain-loading): New section.
4503 (DOS/Windows): New section, borrowed from GRUB Legacy with details
4504 adjusted for GRUB 2.
4505 (SCO UnixWare): Likewise.
4506 (QNX): Likewise.
4507 (chainloader): Add reference to `Block list syntax'.
4508 (drivemap): New section.
4509 (parttool): New section.
4510
bb8ea0f5
CW
45112010-06-02 Colin Watson <cjwatson@ubuntu.com>
4512
4513 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
4514 the grub shell'.
4515 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
4516 (Installing GRUB using grub-install): Remove reference to the grub
4517 shell; mention `grub-mkimage' and `grub-setup' instead.
4518 (Invoking grub-install): Likewise.
4519 (Interface): Add reference to `Menu entry editor'.
4520 (serial): Remove `--device' option.
4521
288dd6ed
CW
45222010-06-02 Colin Watson <cjwatson@ubuntu.com>
4523
4524 * docs/grub.texi (Configuration): New section, documenting
4525 configuration file generation using grub-mkconfig. I've left a slot
4526 for documenting the full shell scripting format but have not yet
4527 started on writing that up.
4528 (Invoking grub-mkconfig): New section.
4529
34c9f0e9
CW
45302010-06-02 Colin Watson <cjwatson@ubuntu.com>
4531
4532 * docs/grub.texi (direntry): Remove grub-terminfo reference.
4533 (GNU GRUB manual): Likewise.
4534 (General commands): Update description of `terminfo' for GRUB 2.
4535
9121567e
CW
45362010-06-02 Colin Watson <cjwatson@ubuntu.com>
4537
4538 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
4539 (GRUB_MOD_INIT): Fix capitalisation.
4540 * docs/grub.texi (Command-line and menu entry commands): Document
4541 gettext and gptsync commands.
4542
ab631611
CW
45432010-06-02 Colin Watson <cjwatson@ubuntu.com>
4544
4545 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
4546 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
4547
bde4a9ac
CW
45482010-06-01 Colin Watson <cjwatson@ubuntu.com>
4549
4550 Add btrfs probing support, currently only in the single-device case.
4551
4552 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
4553 function.
4554 (grub_guess_root_device): Call find_root_device_from_mountinfo
4555 before looking in /dev.
4556
b1d17e10
VS
45572010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
4560 GRUB_DISK_SIZE_UNKNOWN.
4561 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
4562
dfbfe004
JS
45632010-05-31 Jiro SEKIBA <jir@unicus.jp>
4564
4565 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
4566 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
4567 corrupted or not synced properly.
4568
c2ffc8e9
VS
45692010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
4572 Reported by: Seth Goldberg.
4573
56293166
VS
45742010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
4577 addition of dest.
4578 Reported by: Seth Goldberg.
4579
7620e7de
VS
45802010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
4583 Reported by: Seth Goldberg.
4584
c837af3f
VS
45852010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
4588 64-bit address as signed on MIPS.
4589
c7c75cf4
CW
45902010-05-28 Colin Watson <cjwatson@ubuntu.com>
4591
4592 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
4593 to the empty string.
4594
fa4b8490
BC
45952010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
4596
4597 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
4598
4599 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
4600 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
4601 * kern/misc.c (__enable_execute_stack): Disable on
4602 GRUB_MACHINE_EMU.
4603
a33075b9
CW
46042010-05-28 Colin Watson <cjwatson@ubuntu.com>
4605
4606 Make grub-probe work with symbolic links under /dev/mapper as well
4607 as with real block devices. The Linux world seems to be (at best)
4608 in transition here, and GRUB shouldn't get caught in the middle.
4609
4610 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
4611 /dev/mapper.
4612
d8708134
CW
46132010-05-27 Colin Watson <cjwatson@ubuntu.com>
4614
4615 * util/grub-script-check.c (main): Ensure defined behaviour on empty
4616 input files (in which case exit zero).
4617
db2102a0
CW
46182010-05-27 Colin Watson <cjwatson@ubuntu.com>
4619
4620 * kern/emu/misc.c (canonicalize_file_name): realpath can still
4621 return NULL for various reasons even if it has a maximum-length
4622 buffer: for example, there might be a symlink loop, or the path
4623 might exceed PATH_MAX. If this happens, return NULL.
4624
5fdba519
RM
46252010-05-27 Robert Millan <rmh@gnu.org>
4626
4627 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
4628 partmap module to handle cross-partmap setups.
4629 Reported by Orestes Mas. Gràcies!
4630
d1d368e4
CW
46312010-05-27 Colin Watson <cjwatson@ubuntu.com>
4632
4633 * util/grub-mkrescue.in: Initialise override_dir rather than
4634 assuming that it's unset or empty in the environment.
4635
95ac3c73
GS
46362010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
4637
4638 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
4639 variable index into p_index to suppress a warning with -Wshadow.
4640
7d8c0213
BC
46412010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
4642
4643 * INSTALL: Added flex >= 2.5.35 requirement.
4644
db4d5813
VS
46452010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
4648
f24f4300
VS
46492010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 cmostest support.
4652
4653 * commands/i386/cmostest.c: New file.
4654 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
4655 (cmostest_mod_SOURCES): New variable.
4656 (cmostest_mod_CFLAGS): Likewise.
4657 (cmostest_mod_LDFLAGS): Likewise.
4658 * conf/i386-pc.rmk: Likewise.
4659 * docs/grub.texi (Vendor power-on keys): New section.
4660 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
4661 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
4662 and GRUB_BUTTON_CMOS_ADDRESS.
4663 * util/grub.d/00_header.in: Handle powering-on by separate button.
4664
ad603f61
VS
46652010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
4668 Removed drawing_scrollbar argument. All users updated
4669 Fixes #29792.
4670 Reported by Jo Shields
4671
3ecb080a
VS
46722010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
4675 buffer since gfxterm handles double repaint.
4676
5f2316c1
VS
46772010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
4680 * term/gfxterm.c (real_scroll): Likewise.
4681
9a25f885
VS
46822010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
4685 before calling BIOS.
4686
39fbb79a
VS
46872010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * include/grub/i18n.h: Always enable grub_gettext.
4690
228cfa97
VS
46912010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
4694 partition naming style.
4695
21717c8f
CW
46962010-05-21 Colin Watson <cjwatson@ubuntu.com>
4697
4698 * util/grub-mkconfig.in: Fix handling of -o so that it works when
4699 not the first option.
4700
c0f48e65
CW
47012010-05-20 Colin Watson <cjwatson@ubuntu.com>
4702
4703 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
4704
96779aec
CW
47052010-05-20 Colin Watson <cjwatson@ubuntu.com>
4706
4707 * util/misc.c: Move inclusion of <limits.h> to ...
4708 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
4709
fa9d256e
GS
47102010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
4711
4712 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
4713 Fix merge error in NetBSD code.
4714 (find_partition_start) [__NetBSD__]: Likewise.
4715
123b7a85
BC
47162010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
4717
4718 Fix grub-mkrescue usage unit testing.
4719
4720 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
4721
74276c0d
CF
47222010-05-18 Christian Franke <franke@computer.org>
4723
4724 * util/grub.d/10_windows.in: Use path names instead of
4725 drive letters to prevent warning from Cygwin 1.7.
4726 Add drivemap command to menuentry if needed.
4727
c4f7b523
ST
47282010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
4729
4730 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
4731 gnumach and gnumach.gz.
4732
95b97950
VS
47332010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * include/grub/i18n.h (gettext): Inline instead of using #define.
4736 (grub_gettext): Likewise.
4737 (_): Likewise.
4738
01b8d2d7
VS
47392010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
4742 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
4743 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
4744 (main): Add a slash after pkglibdirroot.
4745
654e1d1e
VS
47462010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 * util/grub-install.in: Add missing "in" keyword.
4749
26966aeb
VS
47502010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
4753 Reported by: Seth Goldberg.
4754
75006747
VS
47552010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
4758
74cbf5bd
CW
47592010-05-18 Colin Watson <cjwatson@ubuntu.com>
4760
4761 * configure.ac: Check for Linux device-mapper support.
4762
4763 * util/hostdisk.c (device_is_mapped): New function.
4764 (find_partition_start): New function, partly broken out from
4765 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
4766 device-mapper support added.
4767 (linux_find_partition): Use find_partition_start.
4768 (convert_system_partition_to_system_disk): Add `st' argument.
4769 Support Linux /dev/mapper/* devices if device-mapper support is
4770 available; only DM-RAID devices are understood at present.
4771 (find_system_device): Add `st' argument. Pass it to
4772 convert_system_partition_to_system_disk.
4773 (grub_util_biosdisk_get_grub_dev): Pass stat result to
4774 find_system_device and convert_system_partition_to_system_disk. Use
4775 find_partition_start.
4776
4777 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
4778 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
4779 * util/deviceiter.c [__linux__]: Define MINOR.
4780 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
4781 * util/mkdevicemap.c (grub_putchar): New function.
4782 (grub_getkey): New function.
4783 (grub_refresh): New function.
4784 (main): Set debug=all if -v -v is used.
4785
355b51e9
CW
47862010-05-18 Colin Watson <cjwatson@ubuntu.com>
4787
4788 Fix build with non-GNU libcs.
4789
4790 * util/misc.c (canonicalize_file_name): Move to ...
4791 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
4792 grub_make_system_path_relative_to_its_root.
4793
7fb5c25f
CW
47942010-05-18 Colin Watson <cjwatson@ubuntu.com>
4795
4796 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
4797 we handle finding grub-mkimage. Default to finding grub-mkimage in
4798 ${bindir} with program_transform_name applied, and provide a
4799 --grub-mkimage option to override this.
4800
1d3293d6
VS
48012010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 Remove grub-mkisofs.
4804
4805 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
4806 (grub_mkisofs_SOURCES): Removed.
4807 (grub_mkisofs_CFLAGS): Removed.
4808 * util/mkisofs/defaults.h: Removed.
4809 * util/mkisofs/eltorito.c: Likewise.
4810 * util/mkisofs/exclude.h: Likewise.
4811 * util/mkisofs/hash.c: Likewise.
4812 * util/mkisofs/include/: Likewise.
4813 * util/mkisofs/include/fctldefs.h: Likewise.
4814 * util/mkisofs/include/mconfig.h: Likewise.
4815 * util/mkisofs/include/prototyp.h: Likewise.
4816 * util/mkisofs/include/statdefs.h: Likewise.
4817 * util/mkisofs/iso9660.h: Likewise.
4818 * util/mkisofs/joliet.c: Likewise.
4819 * util/mkisofs/match.c: Likewise.
4820 * util/mkisofs/match.h: Likewise.
4821 * util/mkisofs/mkisofs.c: Likewise.
4822 * util/mkisofs/mkisofs.h: Likewise.
4823 * util/mkisofs/msdos_partition.h: Likewise.
4824 * util/mkisofs/multi.c: Likewise.
4825 * util/mkisofs/name.c: Likewise.
4826 * util/mkisofs/rock.c: Likewise.
4827 * util/mkisofs/tree.c: Likewise.
4828 * util/mkisofs/write.c: Likewise.
4829
5dde9afe
VS
48302010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 Unify grub-mkimage accross platforms.
4833
4834 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
4835 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
4836 (grub_mkelfimage_SOURCES): Removed.
4837 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
4838 (util/grub-mkimage.c_DEPENDENCIES): .. this.
4839 (bin_UTILITIES): Add grub-mkimage.
4840 (grub_mkimage_SOURCES): New variable.
4841 (kernel_img_HEADERS): Remove machine/kernel.h.
4842 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
4843 (pkglib_PROGRAMS): Add kernel.img.
4844 (kernel_img_HEADERS): Add machine/kernel.h.
4845 (kernel_img_FORMAT): Removed.
4846 (bin_UTILITIES): Remove grub-mkimage.
4847 (grub_mkimage_SOURCES): Removed.
4848 (grub_mkimage_CFLAGS): Likewise.
4849 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4850 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
4851 (pkglib_PROGRAMS): Add kernel.img.
4852 (bin_UTILITIES): Remove grub-mkimage.
4853 (grub_mkimage_SOURCES): Removed.
4854 (grub_mkimage_CFLAGS): Likewise.
4855 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4856 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
4857 (pkglib_PROGRAMS): Add kernel.img.
4858 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
4859 (pkglib_PROGRAMS): Add kernel.img.
4860 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
4861 (grub_mkimage_SOURCES): Removed.
4862 (grub_mkimage_CFLAGS): Likewise.
4863 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4864 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
4865 (pkglib_PROGRAMS): Add kernel.img.
4866 (bin_UTILITIES): Remove grub-mkimage.
4867 (grub_mkimage_SOURCES): Removed.
4868 (grub_mkimage_CFLAGS): Likewise.
4869 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4870 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
4871 (grub_mkimage_SOURCES): Removed.
4872 (grub_mkimage_CFLAGS): Likewise.
4873 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4874 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
4875 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
4876 (grub_pe32_optional_header): ... this.
4877 (grub_pe64_optional_header): ... and this. All users updated.
4878 (GRUB_PE32_PE32_MAGIC): Split into ..
4879 (GRUB_PE32_PE32_MAGIC): .. this.
4880 (GRUB_PE32_PE64_MAGIC): .. and this.
4881 (GRUB_PE32_SIGNATURE_SIZE): New definition.
4882 * include/grub/elf.h (PT_GNU_STACK): New definition.
4883 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
4884 * include/grub/i386/efi/kernel.h: Likewise.
4885 * include/grub/i386/kernel.h: Likewise.
4886 * include/grub/i386/pc/kernel.h: Likewise.
4887 * include/grub/i386/qemu/boot.h: Likewise.
4888 * include/grub/mips/kernel.h: Likewise.
4889 * include/grub/mips/qemu-mips/kernel.h: Likewise.
4890 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
4891 * include/grub/powerpc/kernel.h: Likewise.
4892 * include/grub/sparc64/ieee1275/boot.h: Likewise.
4893 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
4894 * include/grub/sparc64/kernel.h: Likewise.
4895 * include/grub/x86_64/efi/kernel.h: Likewise.
4896 * include/grub/x86_64/kernel.h: Likewise.
4897 * include/grub/offsets.h: New file.
4898 * include/grub/kernel.h (grub_module_info): Split into ...
4899 (grub_module_info32): ... this.
4900 (grub_module_info64): ... and this.
4901 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
4902 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
4903 (grub_boot_blocklist): Moved from here ...
4904 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
4905 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
4906 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
4907 * include/grub/types.h (grub_target_to_host16): Removed.
4908 (grub_target_to_host32): Likewise.
4909 (grub_target_to_host64): Likewise.
4910 (grub_host_to_target16): Likewise.
4911 (grub_host_to_target32): Likewise.
4912 (grub_host_to_target64): Likewise.
4913 (grub_host_to_target_addr): Likewise.
4914
4915 Support grub-mkrescue for efi, coreboot and qemu.
4916
4917 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
4918 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
4919 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
4920 * util/grub-mkrawimage.c: Moved from here ...
4921 * util/grub-mkimage.c: ... here. All users updated.
4922 (ALIGN_ADDR): Use image_target.
4923 (TARGET_NO_FIELD): New const.
4924 (image_target_desc): New type.
4925 (image_targets): New array.
4926 (grub_target_to_host64): Use image_target.
4927 (grub_target_to_host32): Likewise.
4928 (grub_target_to_host16): Likewise.
4929 (grub_host_to_target64): Likewise.
4930 (grub_host_to_target32): Likewise.
4931 (grub_host_to_target16): Likewise.
4932 (grub_host_to_target_addr): Likewise.
4933 (generate_image): Handle multiimage.
4934 (main): Require -O parameter. All users updated.
4935 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
4936 util/efi/grub-mkimage.c
4937 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
4938 New option --rom-directory.
4939 Use xorriso.
4940 * util/i386/efi/grub-mkimage.c: Removed.
4941 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
4942 (grub_target_to_host32): Likewise.
4943 (grub_target_to_host64): Likewise.
4944 (grub_host_to_target16): Likewise.
4945 (grub_host_to_target32): Likewise.
4946 (grub_host_to_target64): Likewise.
4947 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
4948 (grub_target_to_host32): Likewise.
4949 (grub_target_to_host64): Likewise.
4950 (grub_host_to_target16): Likewise.
4951 (grub_host_to_target32): Likewise.
4952 (grub_host_to_target64): Likewise.
4953
f4fc97d0
BC
49542010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
4955
4956 Source tree is reorganized for emu build.
4957
4958 * include/grub/util/console.h: Move from here...
4959 * include/grub/emu/console.h: ...to here.
4960 * include/grub/util/getroot.h: Move from here...
4961 * include/grub/emu/getroot.h: ...to here.
4962 * include/grub/util/hostdisk.h: Move from here...
4963 * include/grub/emu/hostdisk.h: ...to here.
4964 * util/console.c: Move from here...
4965 * kern/emu/console.c: ...to here.
4966 * util/getroot.c: Move from here...
4967 * kern/emu/getroot.c: ...to here.
4968 * util/grub-emu.c: Move from here...
4969 * kern/emu/main.c: ...to here.
4970 * util/hostdisk.c: Move from here...
4971 * kern/emu/hostdisk.c: ...to here.
4972 * util/hostfs.c: Move from here...
4973 * kern/emu/hostfs.c: ...to here.
4974 * util/mm.c: Move from here...
4975 * kern/emu/mm.c: ...to here.
4976 * util/pci.c: Move from here...
4977 * bus/emu/pci.c: ...to here.
4978 * util/sdl.c: Move from here...
4979 * video/emu/sdl.c: ...to here.
4980 * util/time.c: Move from here...
4981 * kern/emu/time.c: ...to here.
4982 * util/usb.c: Move from here...
4983 * bus/usb/emu/usb.c: ...to here.
4984
4985 * include/grub/emu/misc.h: New header for grub-emu functions.
4986 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
4987
4988 * conf/any-emu.rmk: Rule updates for above renames.
4989 * conf/common.rmk: Likewise.
4990 * conf/i386-pc.rmk: Likewise.
4991 * conf/i386-qemu.rmk: Likewise.
4992 * conf/mips.rmk: Likewise.
4993 * conf/sparc64-ieee1275.rmk: Likewise.
4994 * conf/x86-efi.rmk: Likewise.
4995
4996 * disk/lvm.h: #include updates for above renames.
4997 * util/grub-mkrelpath.c: Likewise.
4998 * util/grub-probe.c: Likewise.
4999 * util/i386/pc/grub-setup.c: Likewise.
5000 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5001 * kern/emu/console.c: Likewise.
5002 * kern/emu/getroot.c: Likewise.
5003 * kern/emu/hostdisk.c: Likewise.
5004 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
5005
5006 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
5007 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
5008 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
5009 * util/misc.c: Remove grub-emu functions.
5010
cced9145
VS
50112010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 Fix gfxmenu crash.
5014 Reported by: Thorsten Grützmacher.
5015
5016 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
5017 timeout hook.
5018 (circprog_set_property): Register and unregister timeout hook.
5019 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
5020 (label_destroy): Free template. and unregister hook.
5021 (label_set_state): New function.
5022 (label_set_property): Handle templates and hooks.
5023 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
5024 timeout hook.
5025 (progress_bar_set_property): Register and unregister timeout hook.
5026 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
5027 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
5028 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
5029 (update_timeout_visit): Removed.
5030 (update_timeouts): New function.
5031 (redraw_timeouts): Likewise.
5032 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
5033 (grub_gfxmenu_clear_timeout): Likewise.
5034 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
5035 (grub_gfxmenu_timeout_notify): Likewise.
5036 (grub_gfxmenu_timeout_notifications): New external variable.
5037 (grub_gfxmenu_timeout_register): New function.
5038 (grub_gfxmenu_timeout_unregister): Likewise.
5039
c6e5caab
VS
50402010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 Transform (broken) vga terminal into (working) vga video driver.
5043
5044 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
5045 video/i386/pc/vga.c.
5046 * include/grub/video.h (grub_video_driver_id):
5047 Add GRUB_VIDEO_DRIVER_VGA.
5048 * term/i386/pc/vga.c: Renamed to ...
5049 * video/i386/pc/vga.c: ...this
5050 (DEBUG_VGA): Removed.
5051 (CHAR_WIDTH): Likewise.
5052 (CHAR_HEIGHT): Likewise.
5053 (TEXT_WIDTH): Likewise.
5054 (TEXT_HEIGHT): Likewise.
5055 (DEFAULT_FG_COLOR): Likewise.
5056 (DEFAULT_BG_COLOR): Likewise.
5057 (colored_char): Likewise.
5058 (xpos): Likewise.
5059 (ypos): Likewise.
5060 (cursor_state): Likewise.
5061 (fg_color): Likewise.
5062 (bg_color): Likewise.
5063 (text_buf): Likewise.
5064 (page): Likewise.
5065 (font): Likewise.
5066 (framebuffer): New variable.
5067 (set_read_map): Disabled.
5068 (setup): New variable.
5069 (is_target): Likewise.
5070 (grub_vga_mod_init): Likewise.
5071 (grub_vga_mod_fini): Likewise.
5072 (check_vga_mem): Likewise.
5073 (write_char): Likewise.
5074 (write_cursor): Likewise.
5075 (scroll_up): Likewise.
5076 (grub_vga_putchar): Likewise.
5077 (grub_vga_getcharwidth): Likewise.
5078 (grub_vga_getwh): Likewise.
5079 (grub_vga_getxy): Likewise.
5080 (grub_vga_gotoxy): Likewise.
5081 (grub_vga_cls): Likewise.
5082 (grub_vga_setcolorstate): Likewise.
5083 (grub_vga_setcursor): Likewise.
5084 (grub_video_vga_init): New function.
5085 (grub_video_vga_setup): Likewise.
5086 (grub_video_vga_fini): Likewise.
5087 (update_target): Likewise.
5088 (grub_video_vga_blit_bitmap): Likewise.
5089 (grub_video_vga_blit_render_target): Likewise.
5090 (grub_video_vga_set_active_render_target): Likewise.
5091 (grub_video_vga_get_active_render_target): Likewise.
5092 (grub_video_vga_swap_buffers): Likewise.
5093 (grub_video_vga_set_palette): Likewise.
5094 (grub_video_vga_get_info_and_fini): Likewise.
5095 (grub_vga_term): Removed.
5096 (grub_video_vga_adapter): New variable.
5097 (GRUB_MOD_INIT): Register a video driver instead of terminal.
5098 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
5099
2bf61a98
VS
51002010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * video/readers/jpeg.c: Indented.
5103
09ddcd11
VS
51042010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 Various jpeg cleanups.
5107
5108 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
5109 (grub_jpeg_decode_quan_table): Use sizeof.
5110 (grub_jpeg_decode_du): Use ARRAY_SIZE.
5111
e5507505
PH
51122010-05-05 Peter Hurley <No e-mail available> (tiny change)
5113
5114 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
5115 tables. Ignore non-last ac bit.
5116 (grub_jpeg_decode_quan_table): Likewise.
5117
7e720a9b
VS
51182010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
5121 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
5122 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5123 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
5124 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
5125 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
5126
a7fc080b
VS
51272010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
5130 error.
5131
2bf6012d
VS
51322010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5133
5134 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
5135
265d68cd
VS
51362010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
5139 condition.
5140
51412010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
5142
5143 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
5144 part.
5145
265d68cd 51462010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
5147
5148 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
5149 pointers.
5150
265d68cd 51512010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
5152
5153 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
5154
d1b61374
CF
51552010-05-01 Christian Franke <franke@computer.org>
5156
5157 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
5158 Remove broken Cygwin path conversion.
5159 * util/misc.c: [__CYGWIN__] Add include and define.
5160 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
5161 for Cygwin 1.7.
5162 (make_system_path_relative_to_its_root): Simplify loop, replace early
5163 return by break.
5164 [__CYGWIN__] Add conversion to win32 path.
5165 Include "/" case in trailing slash removal.
5166
3558c6e9
VS
51672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5168
5169 * kern/main.c (grub_load_config): Fix copy-pasted comment.
5170 Reported by: Seth Goldberg
5171
f5f3ff93
VS
51722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * commands/help.c (grub_cmd_help): Fix a typo.
5175 Reported by: Seth Goldberg
5176
d8b5cd40
VS
51772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
5180 name and add N_.
5181 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
5182 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
5183 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
5184 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
5185 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
5186 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
5187 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
5188 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
5189 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
5190 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5191 * normal/context.c (GRUB_MOD_INIT): Likewise.
5192 * normal/main.c (GRUB_MOD_INIT): Likewise.
5193 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
5194 * term/serial.c (GRUB_MOD_INIT): Likewise.
5195 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
5196
88c14915
VS
51972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
5200 extra == 0.
5201
165134bc
VS
52022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 * commands/iorw.c: New file.
5205 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
5206 (iorw_mod_SOURCES): New variable.
5207 (iorw_mod_CFLAGS): Likewise.
5208 (iorw_mod_LDFLAGS): Likewise.
5209
c5ac9b32
VS
52102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 Hotkey support
5213
5214 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
5215 * normal/main.c (hotkey_aliases): New variable.
5216 (grub_normal_add_menu_entry): Parse "--hotkey".
5217 * normal/menu_text.c (run_menu): Handle hotkeys.
5218
ce60689c
VS
52192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * kern/i386/coreboot/init.c (grub_machine_init): Call
5222 grub_machine_mmap_init on qemu.
5223
0359d006
VS
52242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * boot/i386/qemu/boot.S: Add a missing .code16.
5227
7819a456
VS
52282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 Use LBIO on coreboot.
5231
5232 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
5233 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
5234 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
5235 New declaration.
5236 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
5237 grub_machine_mmap_init on coreboot.
5238 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
5239 GRUB_LINUXBIOS_MEMBER_LINK.
5240 (grub_machine_mmap_iterate): Fix declaration.
5241 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
5242
7210dca9
VS
52432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 Split coreboot and multiboot ports.
5246
5247 * conf/i386-multiboot.rmk: New file.
5248 * configure.ac: Add multiboot port.
5249 * include/grub/i386/multiboot/boot.h: New file.
5250 * include/grub/i386/multiboot/console.h: Likewise.
5251 * include/grub/i386/multiboot/init.h: Likewise.
5252 * include/grub/i386/multiboot/kernel.h: Likewise.
5253 * include/grub/i386/multiboot/loader.h: Likewise.
5254 * include/grub/i386/multiboot/memory.h: Likewise.
5255 * include/grub/i386/multiboot/serial.h: Likewise.
5256 * include/grub/i386/multiboot/time.h: Likewise.
5257 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
5258 * loader/multiboot.c: Likewise.
5259 * loader/multiboot_mbi2.c: Likewise.
5260 * util/grub-mkrescue.in: Generate multiboot rescue.
5261
6f8aaf68
VS
52622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5263
3080f7a7
VS
5264 * kern/parser.c (grub_parser_execute): Cope with read-only config.
5265
52662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
5269
5270 * commands/terminal.c (abstract_terminal): New struct.
5271 (handle_command): New function. Based on grub_cmd_terminal_input.
5272 (grub_cmd_terminal_input): Use handle_command.
5273 (grub_cmd_terminal_output): Use handle_command.
5274
a8ebb841
BC
52752010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
5276
5277 Fix comment handling.
5278
5279 * tests/grub_script_comments.in: New testcase.
5280 * conf/tests.rmk: Rules for new testcase.
5281 * script/yylex.l: Updated flex rules.
5282
bb06ba08
ST
52832010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
5284
5285 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
5286 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
5287 if argc is 1.
bb06ba08 5288
cc9d2425
VS
52892010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
5292 autogen issues.
5293
460d8402
CF
52942010-04-26 Christian Franke <franke@computer.org>
5295
5296 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
5297 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
5298 (grub_get_prefix): Remove function.
5299 * util/grub-emu.c (main): Replace grub_get_prefix () call by
5300 make_system_path_relative_to_its_root ().
5301 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
5302
553c01f9
CF
53032010-04-24 Christian Franke <franke@computer.org>
5304
5305 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
5306 (kernel_img_LDFLAGS): Remove -static-libgcc.
5307
2aec1692
CF
53082010-04-24 Christian Franke <franke@computer.org>
5309
5310 * configure.ac: Do not CHECK_BSS_START_SYMBOL
5311 and CHECK_END_SYMBOL if grub-emu is built.
5312 Unset TARGET_OBJ2ELF if grub-emu is built
5313 without module support.
5314
f67dc308
JS
53152010-04-24 Jiro SEKIBA <jir@unicus.jp>
5316
5317 Nilfs2 support.
5318
5319 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
5320 (grub_fstest_SOURCES): Likewise.
5321 (pkglib_MODULES): Add nilfs2.mod.
5322 (nilfs2_mod_SOURCES): New variable.
5323 (nilfs2_mod_CFLAGS): Likewise.
5324 (nilfs2_mod_LDFLAGS): Likewise.
5325 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
5326 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
5327 * fs/nilfs2.c: New file.
5328
4ba8d354
VS
53292010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
5332 is not supported.
5333
0d2c20c6
GS
53342010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
5335
5336 Add grub-mkconfig support for NetBSD.
5337
5338 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
5339 * util/grub-mkconfig.in: export new NetBSD specific variables.
5340 * po/POTFILES-shell: added 10_netbsd.in.
5341 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
5342
bc4a2d83
BC
53432010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
5344
5345 Fix emu build with grub-emu-pci and grub-emu-modules.
5346
5347 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
5348 functions.
5349 * include/grub/libpciaccess.h: New file.
5350 * conf/any-emu.rmk: Update kernel headers for emu build.
5351
f48c87aa
VS
53522010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
5355
18959385
VS
53562010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
5359
0037de3f
VS
53602010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
5363 Retrieve chosen/bootpath if bootpath isn't hardcoded.
5364 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
5365 util/ieee1275/ofpath.c.
5366 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
5367 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
5368 * include/grub/sparc64/ieee1275/boot.h
5369 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
5370 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
5371 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
5372 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
5373 const char *.
5374 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
5375 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
5376 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
5377 install.
5378
38e55e90
GS
53792010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
5380
5381 * util/grub-mkconfig.in: Corrected two == equality tests.
5382 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
5383 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
5384 expect a number appended to it.
5385 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
5386 expects a number appended to it.
5387
a9e6ff28
VS
53882010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
5391
0b830b8f
VS
53922010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 * util/hostdisk.c (make_device_name): Change to new partition naming.
5395
0973daeb
VS
53962010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5397
5398 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
5399
460d8402 54002010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
5401
5402 * Makefile.in: Add missing localedir setting.
5403
0b456309
CW
54042010-04-14 Colin Watson <cjwatson@ubuntu.com>
5405
5406 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
5407 mistake in r2156. Noticed by Anthony Fok.
5408
5409 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
5410 @localedir@.
5411 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
5412
08f46d62
BC
54132010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
5414
5415 Fix a spurious, uninitialized variable warning.
5416
5417 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
5418 Initialize variable, shdr.
5419 (grub_freebsd_load_elfmodule): Likewise.
5420 (grub_freebsd_load_elf_meta): Likewise.
5421
8c4a72d4
BC
54222010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
5423
5424 Fix for escaped dollar in double quoted strings.
5425
5426 * script/yylex.l: Updated flex rules.
5427 * conf/tests.rmk: Rule for new testcase.
5428 * tests/grub_script_dollar.in: New testcase.
5429
ce44826e
CPE
54302010-04-13 Carles Pina i Estany <carles@pina.cat>
54312010-04-13 Colin Watson <cjwatson@ubuntu.com>
5432
5433 Enclose all translated strings in grub.cfg in single quotes, and
5434 escape them appropriately (Ubuntu bug #552921).
5435
5436 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
5437 * util/grub.d/10_hurd.in: Use it.
5438 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
5439 * util/grub.d/10_linux.in (linux_entry): Likewise.
5440
4b0cd8f8
VS
54412010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 Fix cygwin compilation.
5444
5445 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
5446 * include/grub/misc.h (__register_frame_info)
5447 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
5448 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
5449 * kern/misc.c (__register_frame_info)
5450 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
5451 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
5452
01fcf061
VS
54532010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
5456
5d04b11e
VS
54572010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 Unify libgcc processing.
5460
5461 * Makefile.in (kernel_img_LDFLAGS): New variable.
5462 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
5463 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
5464 overwriting.
5465 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
5466 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
5467 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
5468 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
5469 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
5470 overwriting. Remove -lgcc and -static-libgcc
5471 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
5472 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
5473 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
5474 (kernel_img_LDFLAGS): Append instead of overwriting.
5475 Remove -lgcc and -static-libgcc
5476 * conf/sparc64-ieee1275.rmk: Likewise.
5477 * include/grub/powerpc/libgcc.h: Move to ...
5478 * include/grub/libgcc.h: .. this.
5479 * include/grub/libgcc.h: Don't export most of the function on x86.
5480 (__bswapsi2): New export.
5481 (__bswapdi2): Likewise.
5482 * include/grub/mips/libgcc.h: Removed.
5483 * include/grub/sparc64/libgcc.h: Likewise.
5484
b7f3ac29
VS
54852010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
5488 disk_info_msg (conflicts with gettexting into languages with cases).
5489
2c7031b1
GS
54902010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
5491
5492 Add grub-probe support for NetBSD.
5493
5494 * util/getroot.c (find_root_device): Convert block device to
5495 character device on NetBSD.
5496 * util/probe.c (probe): Require character device on NetBSD.
5497 * util/hostdisk.c: NetBSD specific headers.
5498 (configure_device_driver): new function to tune device driver
5499 parameters (currently only for NetBSD floppy driver).
5500 (grub_util_biosdisk_open): NetBSD specific code (get disk size
5501 via disklabel ioctl).
5502 (open_device): call configure_device_driver on NetBSD.
5503 (convert_system_partition_to_system_disk): NetBSD specific code.
5504 (device_is_wholedisk): Likewise.
5505 (grub_util_biosdisk_get_grub_dev): Likewise.
5506 (make_device_name): Fixed a typo in bsd_part_str.
5507 * configure.ac: check for opendisk() and getrawpartition() on
5508 NetBSD and set LIBUTIL.
5509 * Makefile.in: add LIBUTIL to LIBS.
5510
f516290c
BC
55112010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
5512
5513 Documentation fix.
5514
5515 * util/grub-script-check.c: Better help message.
5516
d8dcc0df
BC
55172010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
5518
5519 Fix FreeBSD build.
5520
5521 * configure.ac: Flex version check.
5522 * conf/common.rmk: Add -Wno-error to sh.mod.
5523 * script/yylex.l: Remove all #pragma.
5524
6734334a
VS
55252010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * include/grub/util/misc.h (canonicalise_file_name): Add missing
5528 prototype.
5529 Reported by: Seth Goldberg.
5530
daea6abd
VS
55312010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
5534 Rename "module" to "module2".
5535 Reported by: Seth Goldberg.
5536
f2fd9d2b
VS
55372010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
5540 EXPORT_FUNC.
5541 Reported by: Seth Goldberg.
5542
be124579
VS
55432010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * lib/posix_wrap/locale.h: Add missing file.
5546 Reported by: Seth Goldberg.
5547
ef5da797
VS
55482010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 grub-emu module load support.
5551
5552 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
5553 NO_DYNAMIC_MODULES switched to this.
5554 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
5555 (CFLAGS): Likewise.
5556 * conf/any-emu.rmk: Generate symlist.
5557 (kernel_img_HEADERS): Add util/datetime.h.
5558 (kernel_img_HEADERS) [sdl]: Add sdl.h.
5559 (kernel_img_HEADERS) [libusb]: Add libusb.h.
5560 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
5561 kern/$(target_cpu)/cache.S.
5562 * configure.ac (grub-emu-modules): New option.
5563 * genmk.rb: Handle multiple source lists.
5564 * include/grub/sdl.h: New file.
5565 * include/grub/libusb.h: Likewise.
5566 * util/grub-emu.c (main): Hanle (host) root.
5567 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
5568 GRUB_ERR_UNKNOWN_DEVICE.
5569 * util/misc.c: Move mm functions to ...
5570 * util/mm.c: ... here. All users updated.
5571
47822096
VS
55722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
5575 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
5576 missing files.
5577 (maintainer-clean): Remove libgcrypt-grub.
5578
5d7e7445
VS
55792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
5582
25f4e252
EC
55832010-04-09 EFI Coder <eficoder@hotmail.com>
5584
5585 * normal/menu_text.c (print_message): Clean up the message and show
5586 the Fn information when on EFI
5587 * term/efi/console.c (grub_console_checkkey): Add F4 support.
5588
027de555
VS
55892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5590
5591 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
5592 All users updated.
5593 * normal/crypto.c (read_crypto_list): Likewise.
5594 * normal/dyncmd.c (read_command_list): Likewise.
5595 * normal/term.c (read_terminal_list): Likewise.
5596 * normal/main.c (read_lists): Use explicit prefix.
5597 (read_lists_hook): Use read_lists.
5598 (grub_normal_execute): Likewise.
5599
47779711
VS
56002010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
5603 Reported by: Thomas Schmitt.
5604 Add -no-emul-boot to grub-mkisofs parameters.
5605
1118c32e
VS
56062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 * font/font.c: Indented.
5609
7d652447
BC
56102010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
5611
5612 Elif support to GRUB script (by Deepak Vankadaru).
5613
5614 * tests/grub_script_if.in: New testcase.
5615 * conf/tests.rmk: Rule for new testcase.
5616 * script/parser.y: Grammar rules for elif.
5617
34bb22df
BC
56182010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
5619
5620 While and until loops support to GRUB script.
5621
5622 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
5623 (grub_script_create_cmdwhile): New function prototype.
5624 (grub_script_execute_cmdwhile): New function prototype.
5625 * script/execute.c (grub_script_execute_cmdwhile): New function.
5626 * script/parser.y (command): New commands.
5627 (whilecmd): New grammar rule.
5628 (untilcmd): New grammar rule.
5629 * script/script.c (grub_script_create_cmdwhile): New function.
5630 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
5631 function.
5632
5633 * tests/grub_script_while1.in: New testcase.
5634 * conf/tests.rmk: Rule for new testcase.
5635
e215d8e0
VS
56362010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
5639 as *.jpg.
5640
d7c43ba1
MV
56412010-04-09 Mario Vazquez <mariovazq@gmail.com>
5642
5643 GRUB_BACKGROUND support.
5644
5645 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
5646 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
5647
d64795c0
VS
56482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 5651 Idea by: Mario Vazquez
d64795c0
VS
5652
5653 * util/grub.d/00_header.in: Load pf2 and image modules.
5654
f267f83a
VS
56552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 grub-mkconfig multiple terminal support.
5658
5659 * util/grub-mkconfig.in: Handle multiple terminals correctly.
5660 * util/grub.d/00_header.in: Likewise.
5661
b7841ceb
VS
56622010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 * Makefile.in: Specify files explicitly instead of using $< and $@ since
5665 we use cd $(srcdir).
5666
df60998c
CW
56672010-04-08 Colin Watson <cjwatson@ubuntu.com>
5668
5669 * util/grub.d/10_linux.in: Only use the first word of
5670 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
5671 spaces in GRUB_DISTRIBUTOR.
5672 * util/grub.d/10_kfreebsd.in: Likewise.
5673 * util/grub.d/10_hurd.in: Likewise.
5674
fa09c82e
BC
56752010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
5676
14e18ae3 5677 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
5678
5679 * tests/util/grub-shell.in: Remove -serial stdio option.
5680
daf892b3
BC
56812010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 POSIX header file wrappers.
5684
5685 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
5686 equivalents.
5687 * lib/posix_wrap/ctype.h: Likewise.
5688 * lib/posix_wrap/errno.h: Likewise.
5689 * lib/posix_wrap/langinfo.h: Likewise.
5690 * lib/posix_wrap/limits.h: Likewise.
5691 * lib/posix_wrap/localcharset.h: Likewise.
5692 * lib/posix_wrap/stdint.h: Likewise.
5693 * lib/posix_wrap/stdio.h: Likewise.
5694 * lib/posix_wrap/stdlib.h: Likewise.
5695 * lib/posix_wrap/string.h: Likewise.
5696 * lib/posix_wrap/sys/types.h: Likewise.
5697 * lib/posix_wrap/unistd.h: Likewise.
5698 * lib/posix_wrap/wchar.h: Likewise.
5699 * lib/posix_wrap/wctype.h: Likewise.
5700 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
5701 (grub_script.yy.h): Likewise.
5702 * script/yylex.l: Remove POSIX emulation #defines.
5703 * Makefile.in (POSIX_CFLAGS): New variable.
5704 (GNULIB_UTIL_CFLAGS): Likewise.
5705
5706 Regexp support.
5707
5708 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
5709 (regexp_mod_SOURCES): New variable.
5710 (regexp_mod_CFLAGS): Likewise.
5711 (regexp_mod_LDFLAGS): Likewise.
5712 * commands/regexp.c: New file.
5713 * gnulib/regcomp.c: New file. Imported from gnulib.
5714 * gnulib/regex.c: Likewise.
5715 * gnulib/regex_internal.c: Likewise.
5716 * gnulib/regex_internal.h: Likewise.
5717 * gnulib/regexec.c: Likewise.
5718 * gnulib/regex.h: Likewise.
5719
974ac4f7
VS
57202010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
5723 unsupported video mode types.
5724
2622c3ff
VS
57252010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
5728
064cb524
VS
57292010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
5732 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
5733
a8c3b552
VS
57342010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 Remove unused grub_vga_get_font.
5737
5738 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
5739 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
5740
187bbe3d
GS
57412010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5742
5743 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
5744 * include/grub/misc.h: Likewise.
5745
b9396631
GS
57462010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5747
5748 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
5749 for which failure is fatal.
5750
50479feb
GS
57512010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5752
5753 * util/grub-install.in: Use mkdir -p to create grub directory.
5754 * util/i386/efi/grub-install.in: Likewise.
5755 * util/ieee1275/grub-install.in: Likewise.
5756
b1654fdf
GS
57572010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5758
5759 * Makefile.in (LEX): new variable.
5760
bd5a6415
GS
57612010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5762
5763 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
5764 `=' and added double quotes on operands of this equality test.
5765
3db3a82b
VS
57662010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * Makefile.in (uninstall): Remove a leftover debug echo.
5769 Reported by: Grégoire Sutre
5770
38023412
VS
57712010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 MIPS multiboot2 support.
5774
5775 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
5776 (multiboot2_mod_SOURCES): New variable.
5777 (multiboot2_mod_CFLAGS): Likewise.
5778 (multiboot2_mod_LDFLAGS): Likewise.
5779 (multiboot2_mod_ASFLAGS): Likewise.
5780 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
5781 definition.
5782 (MULTIBOOT_ENTRY_REGISTER): Likewise.
5783 (MULTIBOOT_MBI_REGISTER): Likewise.
5784 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
5785 (MULTIBOOT_ELF32_MACHINE): Likewise.
5786 (MULTIBOOT_ELF64_MACHINE): Likewise.
5787 * include/grub/mips/multiboot.h: New file.
5788 * include/grub/video.h (grub_video_driver_id): New type
5789 GRUB_VIDEO_DRIVER_SM712.
5790 (grub_video_get_info_and_fini): Export.
5791 (grub_video_get_palette): Likewise.
5792 (grub_video_get_driver_id): Likewise.
5793 * include/multiboot2.h: Resynced with spec.
5794 * loader/i386/multiboot.c: Moved from here ...
5795 * loader/multiboot.c: ... here. All users updated.
5796 (grub_multiboot_boot): Use platform-specific macros.
5797 * loader/i386/multiboot_elfxx.c: Moved from here ...
5798 * loader/multiboot_elfxx.c: ... here. All users updated.
5799 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
5800 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
5801 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
5802
47674667
VS
58032010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 Import gnulib argp module.
5806
5807 * gnulib/argp-ba.c: New file.
5808 * gnulib/argp-eexst.c: Likewise.
5809 * gnulib/argp-fmtstream.c: Likewise.
5810 * gnulib/argp-fmtstream.h: Likewise.
5811 * gnulib/argp-fs-xinl.c: Likewise.
5812 * gnulib/argp-help.c: Likewise.
5813 * gnulib/argp-namefrob.h: Likewise.
5814 * gnulib/argp-parse.c: Likewise.
5815 * gnulib/argp-pin.c: Likewise.
5816 * gnulib/argp-pv.c: Likewise.
5817 * gnulib/argp-pvh.c: Likewise.
5818 * gnulib/argp-version-etc.c: Likewise.
5819 * gnulib/argp-version-etc.h: Likewise.
5820 * gnulib/argp-xinl.c: Likewise.
5821 * gnulib/argp.h: Likewise.
5822
495442ed
VS
58232010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 * kern/device.c (grub_device_iterate): Clear errors after failed
5826 opening device.
5827
f9fd65df
VS
58282010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
5831 returned by firmware.
5832
af09641e
VS
58332010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
5836 compilation on coreboot and qemu
5837
016883a5
VS
58382010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 * include/multiboot2.h: Resync with spec.
5841
f97e1f7d
VS
58422010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 Multiboot2 tag support
5845
5846 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
5847 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
5848 Remove loader/multiboot_loader.c.
5849 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
5850 (grub_multiboot2_real_boot): Likewise.
5851 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
5852 (grub_get_multiboot_mmap_count): New proto.
5853 (grub_fill_multiboot_mmap): Likewise.
5854 (grub_multiboot_set_video_mode): Likewise.
5855 (grub_multiboot_set_console): Likewise.
5856 (grub_multiboot_load): Likewise.
5857 (grub_multiboot_load_elf): Likewise.
5858 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
5859 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
5860 * include/multiboot.h: Resynced with specification.
5861 * include/multiboot2.h: Resynced with specification.
5862 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
5863 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
5864 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
5865 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
5866 users updated.
5867 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
5868 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
5869 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
5870 Removed.
5871 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
5872 Moved from here...
5873 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
5874 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
5875 Moved from here...
5876 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
5877 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
5878 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
5879 All users updated.
5880 * loader/i386/multiboot_mbi2.c: New file.
5881
3506b90b
VS
58822010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 Resync with gnulib.
5885
5886 * Makefile.in (GNULIB_CFLAGS): New variable.
5887 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
5888 (grub_script_check_CFLAGS): New variable.
5889 * gnulib/alloca.h: Resync with gnulib.
5890 * gnulib/error.c: Likewise.
5891 * gnulib/error.h: Likewise.
5892 * gnulib/fnmatch.c: Likewise.
5893 * gnulib/fnmatch_loop.c: Likewise.
5894 * gnulib/getdelim.c: Likewise.
5895 * gnulib/getline.c: Likewise.
5896 * gnulib/getopt.c: Likewise.
5897 * gnulib/getopt1.c: Likewise.
5898 * gnulib/getopt_int.h: Likewise.
5899 * gnulib/gettext.h: Likewise.
5900 * gnulib/progname.c: Likewise.
5901 * gnulib/progname.h: Likewise.
5902
394a3120
GS
59032010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
5904
5905 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
5906 which is the case with --disabled-nls.
5907
5908 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
5909 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
5910 * util/misc.c: Likewise.
5911 * util/mkisofs/mkisofs.c: Likewise.
5912 * util/mkisofs/mkisofs.h: Likewise.
5913
969d1c78
VS
59142010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 Simplify Apple CC support.
5917
5918 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
5919 Add 0 byte at the end not to have a symbol with empty target.
5920 * mmap/i386/pc/mmap_helper.S: Likewise.
5921 * genmk.rb: Ignore errors 2030 and 2050.
5922 * kern/i386/pc/startup.S: Use LOCAL when possible.
5923
8d2977bb
BC
59242010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
5925
5926 Testcase and the fix for final semicolon on cmdline.
5927
5928 * tests/grub_script_final_semicolon.in: New testcase.
5929 * conf/tests.rmk: Rules for the new testcase.
5930 * script/parser.y: Grammar fix.
5931
a7bd6915
BC
59322010-03-26 BVK Chaitanya <bvk@localhost>
5933
5934 Blank lines testcase for GRUB script.
5935
5936 * tests/grub_script_blanklines.in: New testcase.
5937 * conf/tests.rmk: Rules for the new testcase.
5938
e4ff6628
VS
59392010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 Don't use __FILE__.
5942
5943 * genmk.rb: Add -DGRUB_FILE to all C targets.
5944 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
5945 * include/grub/list.h: Likewise.
5946 * include/grub/misc.h: Likewise.
5947 * include/grub/mm.h: Likewise.
5948 * include/grub/test.h: Likewise.
5949 * kern/mm.c: Likewise.
5950 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
5951
6a5cf6b6
VS
59522010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 Sunpc partitions support.
5955
5956 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
5957 (grub_fstest_SOURCES): Likewise.
5958 (pkglib_MODULES): Add part_sunpc.mod.
5959 (part_sunpc_mod_SOURCES): New variable.
5960 (part_sunpc_mod_CFLAGS): Likewise.
5961 (part_sunpc_mod_LDFLAGS): Likewise.
5962 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
5963 * partmap/sunpc.c: New file.
5964
746d9045
BC
59652010-03-26 BVK Chaitanya <bvk@localhost>
5966
5967 For loop support to GRUB script.
5968
5969 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
5970 (grub_script_create_cmdfor): New function prototype.
5971 (grub_script_execute_cmdfor): New function prototype.
5972 * script/execute.c (grub_script_execute_cmdfor): New function.
5973 * script/parser.y (command): New for command.
5974 (forcmd): New grammar rule.
5975 * script/script.c (grub_script_create_cmdfor): New function.
5976 * util/grub-script-check.c (grub_script_execute_cmdfor): New
5977 function.
5978 * tests/grub_script_for1.in: New testcase.
5979 * conf/tests.rmk: Rules for new testcase.
5980
18486b18
VS
59812010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 Nested partitions
5984
5985 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
5986 'partition' is NULL, grub_partition_get_start already does that.
5987 * commands/loadenv.c (check_blocklists): Likewise.
5988 (write_blocklists): Likewise.
5989 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
5990 (grub_fstest_SOURCES): Likewise.
5991 (pkglib_MODULES): Add part_bsd.mod.
5992 (part_bsd_mod_SOURCES): New variable.
5993 (part_bsd_mod_CFLAGS): Likewise.
5994 (part_bsd_mod_LDFLAGS): Likewise.
5995 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
5996 (grub_emu_SOURCES): Likewise.
5997 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5998 * include/grub/bsdlabel.h: New file.
5999 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
6000 'get_name'.
6001 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
6002 (grub_partition_map_list): New variable.
6003 (grub_partition_map_register): Inline.
6004 (grub_partition_map_unregister): Likewise.
6005 (FOR_PARTITION_MAPS): New macro.
6006 (grub_partition_map_iterate): Removed.
6007 (grub_partition_get_start): Handle nested partitions.
6008 * include/grub/msdos_partition.h: Remove bsd-related entries.
6009 (grub_pc_partition): Remove.
6010 * kern/disk.c (grub_disk_close): Free partition data.
6011 (grub_disk_adjust_range): Handle nested partitions.
6012 * kern/partition.c (grub_partition_map_probe): New function.
6013 (grub_partition_probe): Parse name to number, handle subpartitions.
6014 (get_partmap): New function.
6015 (grub_partition_iterate): Handle subpartitions.
6016 (grub_partition_get_name): Likewise.
6017 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
6018 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
6019 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
6020 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
6021 Set 'number'.
6022 (acorn_partition_map_probe): Remove.
6023 (acorn_partition_map_get_name): Likewise.
6024 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
6025 Set 'number'.
6026 Set 'index' to 0 since there can be only one partition entry per sector.
6027 (amiga_partition_map_probe): Remove.
6028 (amiga_partition_map_get_name): Likewise.
6029 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
6030 Set 'number'.
6031 Set 'offset' and 'index' to real positions of partitions.
6032 (apple_partition_map_probe): Remove.
6033 (apple_partition_map_get_name): Likewise.
6034 * partmap/bsdlabel.c: New file.
6035 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
6036 Set 'number'.
6037 Allocate 'data' so it can be correctly freed.
6038 Set 'index' to offset inside sector.
6039 (gpt_partition_map_probe): Remove.
6040 (gpt_partition_map_get_name): Likewise.
6041 * partmap/msdos.c (grub_partition_parse): Remove.
6042 (pc_partition_map_iterate): Don't force raw access.
6043 Set 'number'.
6044 Make 'ext_offset' a local variable.
6045 (pc_partition_map_probe): Remove.
6046 (pc_partition_map_get_name): Remove.
6047 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
6048 Set 'number'.
6049 (sun_partition_map_probe): Remove.
6050 (sun_partition_map_get_name): Likewise.
6051 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
6052 (grub_pcpart_type): Likewise.
6053 * util/hostdisk.c (open_device): Handle new numbering scheme.
6054 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
6055 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
6056 * util/grub-probe.c (probe_partmap): Handle nested paritions.
6057 * util/grub-install.in: Insert all subpartition modules.
6058 * util/ieee1275/grub-install.in: Likewise.
6059
a3940f88
AG
60602010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
6061
6062 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
6063 grammar.
6064
21b99926 60652010-03-24 Colin Watson <cjwatson@ubuntu.com>
6066
6067 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
6068
bed1d352
CW
60692010-03-21 Colin Watson <cjwatson@ubuntu.com>
6070
6071 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
6072 match where 'make install' puts them.
6073 * util/i386/efi/grub-install.in: Likewise.
6074
c9f58427
CW
60752010-03-19 Colin Watson <cjwatson@ubuntu.com>
6076
6077 * .bzrignore: Add gentrigtables, grub-script-check,
6078 grub_script_check_init.c, grub_script_check_init.h, and
6079 trigtables.c.
6080
f84afb27
VS
60812010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * kern/parser.c: Indented.
6084
ed0e3d30
VS
60852010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
6088
0ea81d98
VS
60892010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
6092 alpha_mask_size == 0 case.
6093
0cdc2a09
BC
60942010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
6095
6096 GRUB shell lexer and parser improvements.
6097
6098 * conf/any-emu.rmk: Build rule updates.
6099 * conf/common.rmk: Likewise.
6100 * conf/i386-coreboot.rmk: Likewise.
6101 * conf/i386-efi.rmk: Likewise.
6102 * conf/i386-ieee1275.rmk: Likewise.
6103 * conf/i386-pc.rmk: Likewise.
6104 * conf/powerpc-ieee1275.rmk: Likewise.
6105 * conf/x86_64-efi.rmk: Likewise.
6106
6107 * configure.ac: Configure check for flex.
6108
6109 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
6110 types.
6111 (grub_lexer_param): Struct member updates.
6112 (grub_parser_param): Likewise.
6113 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
6114 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
6115 (grub_script_lexer_init): Prototype update.
6116 (grub_script_lexer_record_start): Likewise.
6117 (grub_script_lexer_record_stop): Likewise.
6118 (grub_script_lexer_yywrap): New function prototype.
6119 (grub_script_lexer_fini): Likewise.
6120 (grub_script_execute_argument_to_string): Removed by...
6121 (grub_script_execute_argument_to_argv): ...better version.
6122
6123 * script/execute.c (ROUND_UPTO): New macro.
6124 (grub_script_execute_cmdline): Out of memory fixes.
6125 (grub_script_execute_menuentry): Likewise.
6126 (grub_script_execute_argument_to_string): Removed. Update all
6127 users by...
6128 (grub_script_execute_argument_to_argv): ...better version.
6129 * script/function.c (grub_script_function_create): Use
6130 grub_script_execute_argument_to_argv instead of
6131 grub_script_execute_argument_to_string.
6132
6133 * script/lexer.c (check_varstate): Removed.
6134 (check_textstate): Removed.
6135 (grub_script_lexer_record_start): Likewise.
6136 (grub_script_lexer_record_stop): Likewise.
6137 (recordchar): Replaced with...
6138 (grub_script_lexer_record): ...new function.
6139 (nextchar): Removed.
6140 (grub_script_lexer_init): Rewritten.
6141 (grub_script_yylex): Rewritten.
6142 (append_newline): New function.
6143 (grub_script_lexer_yywrap): New function.
6144 (grub_script_lexer_fini): New function.
6145 (grub_script_yyerror): Sets error flag.
6146
6147 * script/yylex.l: New file.
6148 (grub_lexer_yyfree): Wrapper for flex yyffre.
6149 (grub_lexer_yyalloc): Likewise.
6150 (grub_lexer_yyrealloc): Likewise.
6151 * script/parser.y: Refactored.
6152
6153 * script/script.c (grub_script_arg_add): Out of memory fixes.
6154 (grub_script_add_arglist): Likewise.
6155 (grub_script_create_cmdline): Likewise.
6156 (grub_script_create_cmdmenu): Likewise.
6157 (grub_script_add_cmd): Likewise.
6158 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
6159 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
6160 unnecessary code.
6161
6162 * tests/grub_script_echo1.in: New testcase.
6163 * tests/grub_script_vars1.in: New testcase.
6164 * tests/grub_script_echo_keywords.in: New testcase.
6165
1d63a066
VS
61662010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 Remove some redundancy in build system.
6169
6170 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
6171 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
6172 (TARGET_LDFLAGS): Add -nostdlib.
6173 (TARGET_IMG_LDFLAGS): Likewise.
6174 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
6175 anything since mmap isn't available.
6176 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
6177 Add util/time.c.
6178 (pkglib_MODULES): Remove reboot.mod.
6179 (reboot_mod_SOURCES): Removed.
6180 (reboot_mod_CFLAGS): Likewise.
6181 (reboot_mod_LDFLAGS): Likewise.
6182 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
6183 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
6184 (DEFSYMFILES): Add kernel_syms.lst.
6185 (kernel_img_HEADERS): Add common headers.
6186 (symlist.c): New target.
6187 (kernel_syms.lst): Likewise.
6188 (pkglib_MODULES): Add memdisk.mod.
6189 (memdisk_mod_SOURCES): New variable.
6190 (memdisk_mod_CFLAGS): Likewise.
6191 (memdisk_mod_LDFLAGS): Likewise.
6192 (pkglib_MODULES): Add reboot.mod.
6193 (reboot_mod_SOURCES): New variable.
6194 (reboot_mod_CFLAGS): Likewise.
6195 (reboot_mod_LDFLAGS): Likewise.
6196 (pkglib_MODULES): Add date.mod.
6197 (date_mod_SOURCES): New variable.
6198 (date_mod_CFLAGS): Likewise.
6199 (date_mod_LDFLAGS): Likewise.
6200 (pkglib_MODULES): Add datehook.mod.
6201 (datehook_mod_SOURCES): New variable.
6202 (datehook_mod_CFLAGS): Likewise.
6203 (datehook_mod_LDFLAGS): Likewise.
6204 (pkglib_MODULES): Add lsmmap.mod.
6205 (lsmmap_mod_SOURCES): New variable.
6206 (lsmmap_mod_CFLAGS): Likewise.
6207 (lsmmap_mod_LDFLAGS): Likewise.
6208 (pkglib_MODULES): Add boot.mod.
6209 (boot_mod_SOURCES): New variable.
6210 (boot_mod_CFLAGS): Likewise.
6211 (boot_mod_LDFLAGS): Likewise.
6212 * conf/i386-coreboot.rmk: Removed redundant parts.
6213 * conf/i386-ieee1275.rmk: Likewise.
6214 * conf/i386-pc.rmk: Likewise.
6215 * conf/mips-yeeloong.rmk: Likewise.
6216 * conf/mips.rmk: Likewise.
6217 * conf/powerpc-ieee1275.rmk: Likewise.
6218 * conf/sparc64-ieee1275.rmk: Likewise.
6219 * conf/x86_64-efi.rmk: Likewise.
6220 * conf/i386-coreboot.rmk: Moved qemu parts ..
6221 * conf/i386-qemu.rmk: ... here
6222 * conf/i386-efi.rmk: Moved common parts to...
6223 * conf/x86-efi.rmk: ... here.
6224 * conf/i386.rmk: Added modules common to all x86 variants.
6225 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
6226 * disk/memdisk.c: Remove grub/machine/kernel.h.
6227 * gensymlist.sh.in: Include symbol.h.
6228 * hook/datehook.c: Correct module name.
6229 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
6230 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
6231 * include/grub/i386/efi/serial.h: New file.
6232 * include/grub/x86_64/efi/serial.h: Likewise.
6233 * util/time.c: Likewise.
6234 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
6235
463ac55f
CK
62362010-03-14 Colin King <colin.king@ubuntu.com>
62372010-03-14 Colin Watson <cjwatson@ubuntu.com>
6238
6239 Shrink the pre-partition-table part of boot.img by eight bytes.
6240
6241 * boot/i386/pc/boot.S (ERR): New macro.
6242 (chs_mode): Use ERR.
6243 (geometry_error): Likewise.
6244 (hd_probe_error): Remove. This is only used once, so we wrwite
6245 it inline instead.
6246 (read_error): Instead of printing read_error_string, just set up
6247 %si and fall through to ...
6248 (error_message): ... this new function, also used by ERR.
6249
08e46ede
CW
62502010-03-14 Colin Watson <cjwatson@ubuntu.com>
6251
6252 Speed up consecutive hostdisk operations on the same device.
6253
6254 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
6255 (grub_util_biosdisk_open): Initialise disk->data.
6256 (struct linux_partition_cache): New structure.
6257 (linux_find_partition): Cache partition start positions; these are
6258 expensive to compute on every read and write.
6259 (open_device): Cache open file descriptor in disk->data, so that we
6260 don't have to reopen it and flush the buffer cache for consecutive
6261 operations on the same device.
6262 (grub_util_biosdisk_close): New function.
6263 (grub_util_biosdisk_dev): Set `close' member.
6264
6265 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
6266 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
6267 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6268 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
6269 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
6270
4a6d2d06
VS
62712010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 Compile parts of grub-emu as modules.
6274
6275 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
6276 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
6277 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
6278 (all-local): Add $(GRUB_EMU).
6279 (install-local): Install $(GRUB_EMU).
6280 (uninstall): Uninstall $(GRUB_EMU).
6281 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
6282 * kern/dl.c: Likewise.
6283 * commands/sleep.c: Not include machine/time.h.
6284 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
6285 (COMMON_CFLAGS): Likewise.
6286 (sbin_UTILITIES): Remove grub-emu.
6287 (grub_emu_SOURCES): Removed.
6288 (kernel_img_RELOCATABLE): New variable.
6289 (pkglib_PROGRAMS): Add kernel.img.
6290 (kernel_img_SOURCES): New variable
6291 (kernel_img_CFLAGS): Likewise.
6292 (kernel_img_LDFLAGS): Likewise.
6293 (TARGET_NO_STRIP): Likewise.
6294 (TARGET_NO_DYNAMIC_MODULES): Likewise.
6295 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
6296 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
6297 (grub-emu): New target.
6298 (GRUB_EMU): New variable.
6299 * configure.ac: Whitelist -emu as possible x86_64 architecture.
6300 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
6301 * loader/xnu.c: Likewise.
6302 * include/grub/pci.h: Likewise.
6303 * genemuinit.sh: New file.
6304 * genemuinitheader.sh: Likewise.
6305 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
6306 Support TARGET_NO_DYNAMIC_MODULES.
6307 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
6308 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
6309 * disk/loopback.c: Likewise.
6310 * font/font_cmd.c: Likewise.
6311 * partmap/acorn.c: Likewise.
6312 * partmap/amiga.c: Likewise.
6313 * partmap/apple.c: Likewise.
6314 * partmap/gpt.c: Likewise.
6315 * partmap/msdos.c: Likewise.
6316 * partmap/sun.c: Likewise.
6317 * parttool/msdospart.c: Likewise.
6318 * term/gfxterm.c: Likewise.
6319 * video/bitmap.c: Likewise.
6320 * video/readers/jpeg.c: Likewise.
6321 * video/readers/png.c: Likewise.
6322 * video/readers/tga.c: Likewise.
6323 * video/video.c: Likewise.
6324 * util/grub-emu.c (read_command_list): Removed.
6325 (main): Don't call util_init_nls.
6326 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
6327 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
6328
91fdd2ed
VS
63292010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
6332 date.mod, datehook.mod.
6333 (datetime_mod_SOURCES): New variable.
6334 (datetime_mod_CFLAGS): Likewise.
6335 (datetime_mod_LDFLAGS): Likewise.
6336 (date_mod_SOURCES): Likewise.
6337 (date_mod_CFLAGS): Likewise.
6338 (date_mod_LDFLAGS): Likewise.
6339 (datehook_mod_SOURCES): Likewise.
6340 (datehook_mod_CFLAGS): Likewise.
6341 (datehook_mod_LDFLAGS): Likewise.
6342 * conf/sparc64-ieee1275.rmk: Likewise.
6343 * lib/ieee1275/datetime.c: New file.
6344
873ccae6
VS
63452010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
6348 (ieee1275_fb_mod_SOURCES): New variable.
6349 (ieee1275_fb_mod_CFLAGS): Likewise.
6350 (ieee1275_fb_mod_LDFLAGS): Likewise.
6351 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
6352 New proto.
6353 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
6354 (HEAP_MAX_ADDR): Likewise.
6355 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
6356 type.
6357 Correct stop condition.
6358 (grub_ieee1275_devices_iterate): New function.
6359 * video/ieee1275.c: New file.
6360
601c97c0
VS
63612010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
6364
6365 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
6366 as scratch.
6367 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
6368 SCRATCH_PAD_DISKBOOT as scratch.
6369 (bootit): Pass Openfirmware pointer in %o4.
6370 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
6371 of 0x200000.
6372 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
6373 with util/grub-mkrawimage.c.
6374 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
6375 * include/grub/aout.h (AOUT_MID_SUN): New definition.
6376 (grub_aout_get_type) [GRUB_UTIL]: Removed.
6377 (grub_aout_load) [GRUB_UTIL]: Likewise.
6378 * include/grub/kernel.h (grub_modules_get_end): New proto.
6379 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
6380 (SCRATCH_PAD_BOOT): New definition.
6381 (SCRATCH_PAD_DISKBOOT): Likewise.
6382 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
6383 * include/grub/sparc64/ieee1275/ieee1275.h
6384 (grub_ieee1275_original_stack): New variable
6385 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
6386 New definition
6387 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
6388 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
6389 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
6390 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
6391 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
6392 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
6393 (grub_platform_image_format_t): New type.
6394 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
6395 * kern/main.c (grub_modules_get_end)
6396 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
6397 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
6398 (codestart): Switch stacks.
6399 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
6400 variable.
6401 (grub_heap_init): Use grub_modules_get_end.
6402 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
6403 stack.
6404 * util/grub-mkrawimage.c (generate_image): Support sparc64.
6405 (main): Likewise.
6406 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
6407
d68b491e
TG
64082010-03-14 Thorsten Glaser <tg@mirbsd.org>
6409
6410 * util/grub-mkrescue.in: Base ISO UUID on UTC.
6411
4e02ed50
MK
64122010-03-08 Matt Kraai <kraai@ftbfs.org>
6413
6414 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
6415 bug #559005).
6416
1f15fc1e
VS
64172010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * genmoddep.awk: Output all missing symbols and not only first.
6420
fce5d8ff
VS
64212010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 * NEWS: Put the date of 1.98 release.
6424
d1e8a02f
VS
64252010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
6428 ft2build.h.
6429
696fd607
VS
64302010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
6433 completition in the middle of string.
6434
33e2e6f3
VS
64352010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 * util/grub-mkrescue.in: Use mktemp with explicit template.
6438
b1f6d291
VS
64392010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
6442
2ac227c7
VS
64432010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
6446 right pointer.
6447
8f9a632b
VS
64482010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 Fix FreeBSD compilation.
6451
6452 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
6453 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
6454
60b03859
VS
64552010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
6458
48a5a769
VS
64592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
6462
3ab4bd77
VS
64632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
6466
d116e0d8
RM
64672010-03-04 Robert Millan <rmh.grub@aybabtu.com>
6468
6469 Support relative image path in theme file.
6470
6471 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
6472 (image_set_property): Handle theme_dir and relative path.
6473
c7ef54aa
VS
64742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * configure.ac: Alias amd64 to x86_64.
6477
fcee14ed
VS
64782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 * NEWS: mention multiboot on EFI.
6481
d0780363
VS
64822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * kern/main.c (grub_load_modules): Handle errors from init functions of
6485 embeded modules.
6486
41168ea4
VS
64872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 * normal/autofs.c (autoload_fs_module): Handle errors.
6490
b54d93ac
VS
64912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 Disable linux.mod on qemu-mips since it's not functional and leads
6494 to compilation failure.
6495
6496 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
6497 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
6498 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
6499 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
6500 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
6501 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
6502 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
6503 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
6504 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
6505 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
6506 Reported by: BVK Chaitanya
6507
fc8345da
JU
65082010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
6509
6510 * INSTALL: Add gettext as a dependency and add qemu to a new section
6511 "Prerequisites for make-check".
6512
4760f979
CF
65132010-03-04 Christian Franke <franke@computer.org>
6514
6515 * util/grub-pe2elf.c: Add missing include "progname.h".
6516
f209b5b2
VS
65172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 * normal/crypto.c (read_crypto_list): Fix a typo.
6520 Reported by: Seth Goldberg.
6521
b4b7be98
VS
65222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 6525 Reported by: Seth Goldberg.
b4b7be98 6526
c0ee0385
VS
65272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
6530 ascii.bitmaps.
6531
a8efbf64
VS
65322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 6535 Reported by: Seth Goldberg.
a8efbf64 6536
08dcd913
VS
65372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6538
6539 * util/i386/efi/grub-install.in: Copy gettext files.
6540
c4d0b332
VS
65412010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
6544
c6f2fe52
VS
65452010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 Wait for user entry basing on presence of output rather than on errors.
6548
6549 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
6550 (grub_install_newline_hook): Likewise.
6551 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
6552 * normal/menu.c (show_menu): Check line_counter to determine presence
6553 of output.
6554 * normal/term.c (grub_normal_line_counter): New variable.
6555 (grub_normal_get_line_counter): New function.
6556 (grub_install_newline_hook): Likewise.
6557
5382b1e4
VS
65582010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
6561
5519963b
VS
65622010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6563
6564 * configure.ac: Update version to 1.98.
6565
72b28631
VS
65662010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6567
6568 * util/grub.d/10_linux.in (linux_entry): Don't default to
6569 gfxpayload=keep if Linux doesn't support video handover.
6570
c140a180
VS
65712010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6572
6573 Don't compile video modules on yeeloong since video subsystem is part
6574 of kernel.
6575
6576 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
6577 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
6578 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
6579 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
6580 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
6581 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
6582 * include/grub/bitmap_scale.h: Likewise.
6583 * include/grub/bufio.h: Likewise.
6584 * include/grub/font.h: Likewise.
6585 * include/grub/gfxterm.h: Likewise.
6586 * include/grub/video.h: Likewise.
6587 * include/grub/vbe.h: Don't include video_fb.h.
6588 * video/i386/pc/vbe.c: Include video_fb.h.
6589 * commands/i386/pc/vbetest.c: Include video.h.
6590
a0ca21c2
CW
65912010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
6592
6593 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
6594 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
6595 default entry if GRUB_SAVEDEFAULT=true. This allows using
6596 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
6597 saving a new default on every boot.
6598
4a8a763c
VS
65992010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * normal/crypto.c (read_crypto_list): Fix a memory leak.
6602 * normal/term.c (read_terminal_list): Likewise.
6603 * normal/main.c (grub_normal_init_page): Likewise.
6604 (grub_normal_read_line_real): Likewise.
6605
607ffde2
VS
66062010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
6609 memory leak.
6610 Reported by: Seth Goldberg.
6611
2b8fa975
CW
66122010-02-24 Joey Korkames <joey+lists@kidfixit.com>
6613
6614 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
6615 duplicate declaration of `start'.
6616
618307dd
VS
66172010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
6620 filename.
6621 Reported by: Georgy Buranov
6622
7dd05b96 66232010-02-20 Carles Pina i Estany <carles@pina.cat>
6624
6625 * util/grub-mkrawimage.c (usage): Change string formatting to
6626 improve gettext.
6627
d1484a42
MRA
66282010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
6629
6630 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
6631 backspace keys.
6632
42b1d186
VS
66332010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
6636 Reported by: Michael Suchanek.
6637
66382010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
6639
6640 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
6641 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
6642
d9f31a41
VS
66432010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
6644
6645 Remove any reference to non-free fonts.
6646
6647 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
6648 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
6649 uses non-free components.
6650 * font/font.c (grub_font_get_name): Remove example name.
6651 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
6652 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
6653 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
6654 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
6655
2793c71e
GB
66562010-02-16 Georgy Buranov <gburanov@gmail.com>
6657
6658 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
6659
402e3779
VS
66602010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
6663 Double divisor.
6664 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
6665 features.
6666 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
6667
0dd1e0dd
VS
66682010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
6669
6670 * gensymlist.sh.in: Use TARGET_CC instead of CC.
6671
6fa7cfce
ST
66722010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6673
6674 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
6675 * docs/grub.texi (Command-line and menu entry commands): Document play
6676 command.
6677
37c8483b
ST
66782010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6679
6680 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
6681 parse arguments as inline tempo and notes. Move code for playing notes
6682 to...
6683 (play): ... new function.
6684
14da0fb7
ST
66852010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6686
6687 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
6688 grub_uint16_t instead of short.
6689 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
6690 disk from little endian to cpu endianness.
6691
04459e70
ST
66922010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
6693
6694 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
6695 GRUB_TICKS_PER_SECOND instead of 120.
6696
a0876943
VS
66972010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
6700 escape sequence after \e.
6701
e29f95dc
VS
67022010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
6705 non-ASCII characters.
6706
d27859b2
VS
67072010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
6710 set root in single quotes to prevent \, from being unescaped.
6711
bc028f2f
VS
67122010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 Prevent unknown commands from stopping menuentry execution.
6715
6716 * script/execute.c (grub_script_execute_cmdline): Print error after
6717 unknown command.
6718
095f5f82
VS
67192010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
6722 Reported by: Pavel Pisa.
6723
8c717950
VS
67242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6725
6726 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
6727
904935c3
VS
67282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 Merge grub_ieee1275_map_physical into grub_map and rename to
6731 grub_ieee1275_map
6732
6733 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
6734 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
6735 Remove.
6736 * kern/ieee1275/openfw.c (grub_map): Rename to ...
6737 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
6738 necessary.
6739 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
6740
5b59a4e3
VS
67412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
6744 opening and not after.
6745
69e137e8
VS
67462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
6749 constants.
6750
2c0fcc36
VS
67512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
6754 (alloc_phys): Use ALIGN_UP instead of align_addr.
6755
8c6052ce
VS
67562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
6759
17cec782
VS
67602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
6763
e0128bbd
VS
67642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
6767 verbose dprintf.
6768
ca62070b
VS
67692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 Fix over-4GiB seek on sparc64.
6772
6773 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
6774 Replace pos_i and pos_lo with pos. All users updated.
6775 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
6776 New constant.
6777 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
6778 Likewise.
6779 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
6780 and pos_lo.
6781
bdca2607
VS
67822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 * util/grub-mkrawimage.c (main): Call set_program_name.
6785
da278c4d
VS
67862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 Properly align 64-bit targets.
6789
6790 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
6791 (generate_image): Use ALIGN_ADDR.
6792
b274d734
VS
67932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 Properly create cross-endian images.
6796
6797 * include/grub/types.h (grub_host_to_target_addr): New macro
6798 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
6799
82da2062
VS
68002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
6803
7cae4377
VS
68042010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6805
6806 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
6807
6808 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
6809 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
6810 (grub_linux_boot): Divide by 64K when on VESA.
6811
65a533e7
VS
68122010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 Support GRUB_GFXPAYLOAD_LINUX.
6815
6816 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
6817 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
6818
dd01d397
VS
68192010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
6822 to show messages instead of discarding them.
6823 Process errors after executing command and not before. Keep old method
6824 too as precaution.
6825
660960d6
VS
68262010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 * configure.ac: Check for ft2build.h.
6829
62509f04
VS
68302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
6833
473df63d
VS
68342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * genkernsyms.sh.in: Use TARGET_CC.
6837
c98d2a13
CW
68382010-02-07 Colin Watson <cjwatson@ubuntu.com>
6839
6840 * NEWS: Update.
6841
6e14234c
VS
68422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6843
6844 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
6845 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
6846 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 6847
b255e9cf
YB
68482010-02-07 Yves Blusseau <blusseau@zetam.org>
6849
6e14234c 6850 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 6851
98e6959d
VS
68522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6853
6854 Fix warnings in grub-emu when compiling with maximum warning options.
6855
6856 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
6857 (grub_arch_modules_addr): Return 0 and not NULL.
6858 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 6859 (xstrdup): Use newstr instead of dup.
f88d801b
VS
6860 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
6861 of disk to dsk to avoid shadowing.
74e4934e
VS
6862 (find_free_slot): Fix prototype.
6863 * util/getroot.c (grub_util_is_dmraid): Make static.
6864 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
6865 Add missing prototype.
6866 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 6867
74e31b5c
VS
68682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * loader/i386/linux.c (grub_linux_setup_video): Handle error
6871 appropriately.
6872
6b2ad14b
VS
68732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
6876 code out.
6877
8f891adc
VS
68782010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
6881 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
6882 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
6883 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
6884 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
6885 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
6886
74b45184
VS
68872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6888
6889 * include/grub/err.h (grub_err_printf): Don't export.
6890
a4bced77
VS
68912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
6894
007d0695
VS
68952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * include/grub/i18n.h (grub_gettext_dummy): Removed.
6898 * kern/misc.c (grub_gettext_dummy): Make static.
6899
b6c0d9c2
VS
69002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
6903 by non-valid ones.
6904 * kern/term.c (grub_putchar): Likewise.
6905
f51a90d0
VS
69062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
6909 buggy hook call and memory leak.
6910
6846cec5
VS
69112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6912
6913 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
6914
468d69fe
VS
69152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
6918
51906b8c
VS
69192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
6922 modevar.
6923 Return grub_errno on allocation error.
6924
09706ce5
VS
69252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
6928
911df80c
YB
69292010-02-06 Yves Blusseau <blusseau@zetam.org>
6930
6931 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
6932 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
6933
3746a6bc
VS
69342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
6937 non-pxe disk.
6938 (grub_pxefs_open): Likewise.
6939
09706ce5
VS
69402010-02-06 Robert Millan <rmh.grub@aybabtu.com>
6941
6942 * util/grub.d/10_hurd.in: Add --class information to menuentries.
6943 * util/grub.d/10_kfreebsd.in: Likewise.
6944 * util/grub.d/10_linux.in: Likewise.
6945
7cc192d9
VS
69462010-02-06 Colin D Bennett <colin@gibibit.com>
6947
6948 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
6949 (gfxmenu_mod_SOURCES): New variable.
6950 (gfxmenu_mod_CFLAGS): Likewise.
6951 (gfxmenu_mod_LDFLAGS): Likewise.
6952 * include/grub/term.h (grub_term_set_current_output): Declare
6953 argument as const.
6954 * docs/gfxmenu-theme-example.txt: New file.
6955 * gfxmenu/gfxmenu.c: Likewise.
6956 * gfxmenu/gui_box.c: Likewise.
6957 * gfxmenu/gui_canvas.c: Likewise.
6958 * gfxmenu/gui_circular_progress.c: Likewise.
6959 * gfxmenu/gui_image.c: Likewise.
6960 * gfxmenu/gui_label.c: Likewise.
6961 * gfxmenu/gui_list.c: Likewise.
6962 * gfxmenu/gui_progress_bar.c: Likewise.
6963 * gfxmenu/gui_string_util.c: Likewise.
6964 * gfxmenu/gui_util.c: Likewise.
6965 * gfxmenu/icon_manager.c: Likewise.
6966 * gfxmenu/model.c: Likewise.
6967 * gfxmenu/named_colors.c: Likewise.
6968 * gfxmenu/theme_loader.c: Likewise.
6969 * gfxmenu/view.c: Likewise.
6970 * gfxmenu/widget-box.c: Likewise.
6971 * include/grub/gfxmenu_model.h: Likewise.
6972 * include/grub/gfxmenu_view.h: Likewise.
6973 * include/grub/gfxwidgets.h: Likewise.
6974 * include/grub/gui.h: Likewise.
6975 * include/grub/gui_string_util.h: Likewise.
6976 * include/grub/icon_manager.h: Likewise.
6977
69782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 Agglomerate scrolling in gfxterm.
6981
6982 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
6983 (grub_virtual_screen_setup): Initialise 'total_screen'.
6984 (write_char): Split to ...
6985 (paint_char): ... this ...
6986 (write_char): ... and this.
6987 (paint_char): Handle delayed scrolling.
6988 (draw_cursor): Likewise.
6989 (scroll_up): Split to ...
6990 (real_scroll): ... this ...
6991 (scroll_up): ... and this.
6992 (real_scroll): Handle multi-line scroll and draw below-the-bottom
6993 characters.
6994 (grub_gfxterm_refresh): Call real_scroll.
6995
69962010-02-06 Colin D Bennett <colin@gibibit.com>
6997
6998 * include/grub/misc.h (grub_iscntrl): New inline function.
6999 (grub_isalnum): Likewise.
7000 (grub_strtol): Likewise.
7001
70022010-02-06 Colin D Bennett <colin@gibibit.com>
7003
7004 * normal/menu_text.c (get_entry_number): Move from here ...
7005 * normal/menu.c (get_entry_number): ... moved here.
7006 * include/grub/menu.h (grub_menu_get_default_entry_index):
7007 New prototype.
7008 * normal/menu.c (grub_menu_get_default_entry_index): New function.
7009 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
7010 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
7011 (grub_menu_viewer_should_return): Likewise.
7012 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
7013 * normal/menu_text.c (run_menu): Enable menu switching.
7014 * normal/menu_viewer.c (should_return): New variable.
7015 (menu_viewer_changed): Likewise.
7016 (grub_menu_viewer_show_menu): Handle menu viewer changes.
7017 (grub_menu_viewer_should_return): New function.
7018 (menuviewer_write_hook): Likewise.
7019 (grub_menu_viewer_init): Likewise.
7020
70212010-02-06 Colin D Bennet <colin@gibibit.com>
70222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 Support for gfxterm in a window.
7025
7026 * include/grub/gfxterm.h: New file.
7027 * include/grub/video.h (struct grub_video_rect): New declaration.
7028 (grub_video_rect_t): Likewise.
7029 * term/gfxterm.c (struct grub_gfxterm_window): New type.
7030 (refcount): New variable.
7031 (render_target): Likewise.
7032 (window): Likewise.
7033 (repaint_callback): Likewise.
7034 (grub_virtual_screen_setup): Use 'render_target'.
7035 (init_window): New function.
7036 (grub_gfxterm_init_window): Likewise.
7037 (grub_gfxterm_init): Check reference counter.
7038 Use init_window.
7039 (destroy_window): New function.
7040 (grub_gfxterm_destroy_window): Likewise.
7041 (grub_gfxterm_fini): Check reference counter.
7042 Use destroy_window.
7043 (redraw_screen_rect): Restore viewport.
7044 Use 'render_target' and 'window'.
7045 Call 'repaint_callback'.
7046 (write_char): Use 'render_target'.
7047 (draw_cursor): Likewise.
7048 (scroll_up): Restore viewport.
7049 Use 'render_target' and 'window'.
7050 Call 'repaint_callback'.
7051 (grub_gfxterm_cls): Likewise.
7052 (grub_gfxterm_refresh): Use 'window'.
7053 (grub_gfxterm_set_repaint_callback): New function.
7054 (grub_gfxterm_background_image_cmd): Use 'window'.
7055 (grub_gfxterm_get_term): New function.
7056 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
7057
70582010-02-06 Colin D Bennett <colin@gibibit.com>
7059
7060 Bitmap scaling support.
7061
7062 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
7063 (bitmap_scale_mod_SOURCES): New variable.
7064 (bitmap_scale_mod_CFLAGS): Likewise.
7065 (bitmap_scale_mod_LDFLAGS): Likewise.
7066 * include/grub/bitmap_scale.h: New file.
7067 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
7068 (background_image_cmd_options): New variable.
7069 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
7070 (cmd): Rename and change type to ...
7071 (background_image_cmd_handle): ... this. All users updated.
7072 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
7073 * video/bitmap_scale.c: New file.
7074
70752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 SDL support.
7078
7079 * Makefile.in (LIBSDL): New variable.
7080 (enable_grub_emu_sdl): Likewise.
7081 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
7082 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
7083 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
7084 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
7085 * util/sdl.c: New file.
7086
70872010-02-06 Colin D Bennett <colin@gibibit.com>
70882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7089
7090 Double buffering support.
7091
7092 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
7093 * include/grub/video.h: Update comment.
7094 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7095 New type.
7096 (grub_video_fb_doublebuf_blit_init): New prototype.
7097 * term/gfxterm.c (scroll_up): Support double buffering.
7098 (grub_gfxterm_refresh): Likewise.
7099 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
7100 (grub_video_fb_doublebuf_blit_init): Likewise.
7101 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
7102 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
7103 'displayed_page', 'render_page' and 'update_screen'.
7104 (grub_video_vbe_fini): Free offscreen buffer.
7105 (doublebuf_pageflipping_commit): New function.
7106 (doublebuf_pageflipping_update_screen): Likewise.
7107 (doublebuf_pageflipping_init): Likewise.
7108 (double_buffering_init): Likewise.
7109 (grub_video_vbe_setup): Enable doublebuffering.
7110 (grub_video_vbe_swap_buffers): Implement.
7111 (grub_video_vbe_set_active_render_target): Handle double buffering.
7112 (grub_video_vbe_get_active_render_target): Likewise.
7113 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
7114 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
7115 (grub_video_vbe_enable_double_buffering): Likewise.
7116 (grub_video_vbe_swap_buffers): Use update_screen.
7117 (grub_video_set_mode): Use double buffering.
7118
71192010-02-06 Robert Millan <rmh.grub@aybabtu.com>
7120
7121 * maintainance/gentrigtables.py: Remove.
7122 * lib/trig.c: Likewise.
7123
7124 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
7125
7126 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
7127 `trigtables.c'.
7128 (trigtables.c): New rule.
7129 (gentrigtables): Likewise.
7130 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
7131
71322010-02-06 Robert Millan <rmh.grub@aybabtu.com>
7133
7134 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
7135 integer constants.
7136
71372010-02-06 Colin D Bennet <colin@gibibit.com>
7138
7139 Trigonometry support.
7140
7141 * include/grub/trig.h: New file.
7142 * lib/trig.c: Likewise.
7143 * maintainance/gentrigtables.py: Likewise.
7144 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
7145 (trig_mod_SOURCES): New variable.
7146 (trig_mod_CFLAGS): Likewise.
7147 (trig_mod_LDFLAGS): Likewise.
7148
5562834e
VS
71492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7150
7151 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
7152 disk devices.
7153
4f8528fc
VS
71542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
7157 error.
7158
2b4068e9
VS
71592010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * util/hostdisk.c (open_device): Don't use partition device when reading
7162 before the partition.
7163 (grub_util_biosdisk_read): Don't read from partition and before the
7164 partition in single operation.
7165 (grub_util_biosdisk_write): Don't write to partition and before the
7166 partition in single operation.
7167
399f6e4d
TL
71682010-02-03 Torsten Landschoff <torsten@debian.org>
7169
7170 * kern/disk.c (grub_disk_read): Fix offset computation when reading
7171 last sectors.
7172
996649b0
VS
71732010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7174
7175 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
7176 CDROM reads.
7177 (grub_biosdisk_write): Refuse to write to CDROM.
7178
3b205d4d
VS
71792010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7180
7181 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
7182
61e89d9d
VS
71832010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * font/font.c (find_glyph): Check that bmp_idx is available before
7186 using it.
7187 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
7188 with (font == NULL).
7189
bf7fcba2
CS
71902010-01-28 Christian Schmitt <chris@ilovelinux.de>
7191
7192 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
7193
f45d2663
BC
71942010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
7195
7196 * include/grub/script_sh.h (sourcecode): Add const qualifier.
7197 * util/grub-script-check.c (getline): Fix empty lines case.
7198
ec1444e6
RM
71992010-01-28 Robert Millan <rmh.grub@aybabtu.com>
7200
7201 * Makefile.in (check): Exit with fail status when one of the tests
7202 fails.
7203 * tests/example_functional_test.c (example_test): Fix reversed assert.
7204 * tests/example_unit_test.c (example_test): Likewise.
7205
2e1cb9bb
CW
72062010-01-28 Colin Watson <cjwatson@ubuntu.com>
7207
7208 * util/grub.d/10_linux.in: This script does not use any of the
7209 contents of gettext.sh, only the external command `gettext', so stop
7210 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
7211 the same prefix as GRUB.)
7212 * util/grub.d/10_kfreebsd.in: Likewise.
7213
63533ab0
VS
72142010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
7217 of the line.
7218
989e1f93
VS
72192010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 * kern/disk.c (grub_disk_read): Fix offset computation when reading
7222 last sectors.
7223
e709ebe2
VS
72242010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
7227 having a 4KiB and not 32KiB buffer size.
7228
27dea7ed
RM
72292010-01-27 Robert Millan <rmh.grub@aybabtu.com>
7230
7231 * util/hostfs.c: Include `<errno.h>'.
7232 (grub_hostfs_read): Handle errors from fseeko() and fread().
7233
67667b9c
RM
72342010-01-27 Robert Millan <rmh.grub@aybabtu.com>
7235
7236 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
7237 loop when using read hooks on files whose size isn't sector-aligned.
7238
c294d9d8
RM
72392010-01-27 Robert Millan <rmh.grub@aybabtu.com>
7240
7241 Remove unused parameter.
7242
7243 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
7244 (grub_iso9660_open): Remove initialization of `data->length'.
7245
af75a9f1
RM
72462010-01-27 Robert Millan <rmh.grub@aybabtu.com>
7247
7248 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
7249 memleak conditions.
7250
254e2ce5 72512010-01-27 Carles Pina i Estany <carles@pina.cat>
7252
7253 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
7254 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
7255
b510928c 72562010-01-26 Carles Pina i Estany <carles@pina.cat>
7257
7258 * util/bin2h.c (usage): Fix warning (space after backslash).
7259
aa2f9dd2 72602010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 7261
7262 * font/font.c: Include `grub/fontformat.h.
7263 Remove font file format constants.
7264 (grub_font_load): Use the new macros.
7265 * include/grub/fontformat.h: New file.
7266 * util/grub-mkfont.c: Include `grub/fontformat.c'.
7267 (write_font_pf2): Use the new macros.
7268
94e7e712
RM
72692010-01-26 Robert Millan <rmh.grub@aybabtu.com>
7270
7271 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
7272 does.
7273
3973a59a
RM
72742010-01-26 Robert Millan <rmh.grub@aybabtu.com>
7275
7276 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
7277
7278 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
7279 (_start): Macroify `0x7F'.
7280
7281 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
7282 (make_install_device): Use "(pxe)" as fallback prefix when booting
7283 via PXE.
7284
42e0cba3
GS
72852010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * configure.ac: Reset LIBS after check for libgcc symbols.
7288
847effd8
CW
72892010-01-25 Colin Watson <cjwatson@ubuntu.com>
7290
7291 * util/hostdisk.c (open_device): Add trailing newline to debug
7292 message.
7293
ea4a7e35
GS
72942010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
7295
7296 * configure.ac: Check for `limits.h'.
7297 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
7298
67951a53
RM
72992010-01-24 Robert Millan <rmh.grub@aybabtu.com>
7300
7301 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
7302 capitalize error strings.
7303
c273d4ce
ST
73042010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
7305
7306 * util/grub.d/10_hurd.in: Add a recovery mode.
7307
69be5b74
VS
73082010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 * configure.ac: Check for libgcc symbols with -nostdlib.
7311
fc9e5810
BC
73122010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
7313
7314 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
7315
4b358c0a
VS
73162010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
7319 stack since heap may be unavailable at that point.
7320 (grub_ofconsole_gotoxy): Likewise.
7321
454fcd1c
VS
73222010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * configure.ac: Check for _restgpr_14_x.
7325 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
7326 and _savegpr_* prototypes.
7327
566863ca
RM
73282010-01-22 Robert Millan <rmh.grub@aybabtu.com>
7329
7330 Use generic grub_reboot() for i386-efi.
7331
7332 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
7333 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
7334 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
7335
bf86e59a
VS
73362010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
7339 presence of "prefix" variable as it breaks when normal.mod is
7340 embedded.
7341
d645e0f8
VS
73422010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
7345 stack since heap is unavailable at that point.
7346
f9ab2e25
VS
73472010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
7350 (grub_freebsd_bootinfo): Rewritten.
7351 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
7352
01fc7054
VS
73532010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
7356
caab4fd6
RM
73572010-01-21 Robert Millan <rmh.grub@aybabtu.com>
7358
7359 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
7360 domain now.
7361
67eb1427
FZ
73622010-01-20 Felix Zielcke <fzielcke@z-51.de>
7363
7364 * util/misc.c (make_system_path_relative_to_its_root): Change the work
7365 around for handling "/" to the correct fix. Fix a memory leak. Use
7366 xstrdup instead of strdup.
7367
a9ed4ff3
VS
73682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
7371
73722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
7373
7374 Optimise glyph lookup by Basic Multilingual Plane lookup array.
7375
7376 * font/font.c (struct grub_font): New member 'bmp_idx'.
7377 (font_init): Initialise 'bmp_idx'.
7378 (load_font_index): Fill 'bmp_idx'.
7379 (find_glyph): Make inline. Use bmp_idx for BMP characters.
7380
48209f4f
VS
73812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
7384 unnecessary calls.
7385
9f0a4bb7
VS
73862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 Move context handling out of the kernel.
7389
7390 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
7391 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
7392 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
7393 * conf/i386-efi.rmk: Likewise.
7394 * conf/i386-ieee1275.rmk: Likewise.
7395 * conf/i386-pc.rmk: Likewise.
7396 * conf/powerpc-ieee1275.rmk: Likewise.
7397 * conf/sparc64-ieee1275.rmk: Likewise.
7398 * conf/x86_64-efi.rmk: Likewise.
7399 * include/grub/env.h: Include grub/menu.h.
7400 (grub_env_var_type): Removed.
7401 (grub_env_var): Replaced field 'type' with 'global'.
7402 (grub_env_find): New prototype.
7403 (grub_env_context_open): Remove EXPORT_FUNC.
7404 (grub_env_context_close): Likewise.
7405 (grub_env_export): Likewise.
7406 (grub_env_set_data_slot): Removed.
7407 (grub_env_get_data_slot): Likewise.
7408 (grub_env_unset_data_slot): Likewise.
7409 (grub_env_unset_menu): New prototype.
7410 (grub_env_set_menu): Likewise.
7411 (grub_env_get_menu): Likewise.
7412 * include/grub/env_private.h: New file.
7413 * include/grub/normal.h (grub_context_init): New prototype.
7414 (grub_context_fini): Likewise.
7415 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
7416 * normal/context.c (grub_cmd_export): ... to here.
7417 * kern/env.c: Include env_private.h.
7418 (HASHSZ): Moved to include/grub/env_private.h.
7419 (grub_env_context): Likewise.
7420 (grub_env_sorted_var): Likewise.
7421 (current_context): Renamed from this ...
7422 (grub_current_context): ...to this. 'static' removed. All users updated.
7423 (grub_env_find): Removed 'static'.
7424 (grub_env_context_open): Moved to normal/context.c.
7425 (grub_env_context_close): Likewise.
7426 (grub_env_export): Likewise.
7427 (mangle_data_slot_name): Removed.
7428 (grub_env_set_data_slot): Likewise.
7429 (grub_env_get_data_slot): Likewise.
7430 (grub_env_unset_data_slot): Likewise.
7431 * kern/main.c (grub_set_root_dev): Don't export root.
7432 It will be done later.
7433 (grub_main): Don't export prefix.
7434 It will be done later.
7435 * normal/context.c: New file.
7436 * normal/main.c (free_menu): Use grub_env_unset_menu.
7437 (grub_normal_add_menu_entry): Use grub_env_get_menu.
7438 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
7439 (GRUB_MOD_INIT(normal)): Call grub_context_init.
7440 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
7441
8dd35b8c
VS
74422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 setpci support.
7445
7446 * commands/setpci.c: New file.
7447 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
7448 (setpci_mod_SOURCES): New variable.
7449 (setpci_mod_CFLAGS): Likewise.
7450 (setpci_mod_LDFLAGS): Likewise.
7451
449193d5
VS
74522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 Byte-addressable PCI configuration space.
7455
7456 * bus/pci.c (grub_pci_make_address): Use byte address instead of
7457 dword address.
7458 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
7459 GRUB_PCI_REG_CACHELINE.
7460 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
7461 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
7462 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
7463 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
7464 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
7465 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
7466 grub_pci_make_address.
7467 (lock_rom_area): Likewise.
7468 * commands/lspci.c (grub_lspci_iter): Use macroses
7469 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
7470 of grub_pci_make_address.
7471 * disk/ata.c (grub_ata_pciinit): Likewise.
7472 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
7473 (GRUB_PCI_REG_VENDOR): Likewise.
7474 (GRUB_PCI_REG_DEVICE): Likewise.
7475 (GRUB_PCI_REG_COMMAND): Likewise.
7476 (GRUB_PCI_REG_STATUS): Likewise.
7477 (GRUB_PCI_REG_REVISION): Likewise.
7478 (GRUB_PCI_REG_CLASS): Likewise.
7479 (GRUB_PCI_REG_CACHELINE): Likewise.
7480 (GRUB_PCI_REG_LAT_TIMER): Likewise.
7481 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
7482 (GRUB_PCI_REG_BIST): Likewise.
7483 (GRUB_PCI_REG_ADDRESSES): Likewise.
7484 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
7485 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
7486 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
7487 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
7488 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
7489 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
7490 (GRUB_PCI_REG_CIS_POINTER): Likewise.
7491 (GRUB_PCI_REG_SUBVENDOR): Likewise.
7492 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
7493 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
7494 (GRUB_PCI_REG_CAP_POINTER): Likewise.
7495 (GRUB_PCI_REG_IRQ_LINE): Likewise.
7496 (GRUB_PCI_REG_IRQ_PIN): Likewise.
7497 (GRUB_PCI_REG_MIN_GNT): Likewise.
7498 (GRUB_PCI_REG_MAX_LAT): Likewise.
7499 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
7500 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
7501 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 7502 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
7503 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
7504 space.
7505
96d73208
RM
75062010-01-20 Robert Millan <rmh.grub@aybabtu.com>
7507
7508 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
7509 can be reliably determined to be supported.
7510
d4484482
RM
75112010-01-20 Robert Millan <rmh.grub@aybabtu.com>
7512
7513 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
7514 that VESA is supported.
7515 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
7516 supported.
7517
00308ecf
VS
75182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
7521
f66924a4
RM
75222010-01-20 Robert Millan <rmh.grub@aybabtu.com>
7523
7524 * util/misc.c (make_system_path_relative_to_its_root): Work around
7525 special-casing of "/", as previous incarnation of this routine did.
7526
cbca0ada
VS
75272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 Fix any-emu compilation.
7530
7531 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
7532 * grub_bin2h_SOURCES: New variable.
7533
34a66d99
RM
75342010-01-20 Robert Millan <rmh.grub@aybabtu.com>
7535
7536 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
7537
94fabf58
RM
75382010-01-20 Robert Millan <rmh.grub@aybabtu.com>
7539
7540 * util/grub.d/00_header.in: Fix handling of locale_dir.
7541
02cf98ca
VS
75422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
7545 as possible unifont location (Gentoo).
7546 Reported by: Alexander Brüning
7547
327dbcd7
VS
75482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 Don't try to generate lists for kernel.img.
7551
7552 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
7553 (pkglib_MODULES): Remove kernel.img.
7554 (kernel_img_EXPORTS): Removed.
7555 (kernel_img_RELOCATABLE): New variable.
7556 * conf/x86_64-efi.rmk: Likewise.
7557 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
7558
ca467290
VS
75592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
7562 grub_xasprintf or grub_snprintf.
7563 (grub_vsprintf): Likewise.
7564 (grub_snprintf): New proto.
7565 (grub_vsnprintf): Likewise.
7566 (grub_xasprintf): Likewise.
7567 (grub_xvasprintf): Likewise.
7568 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
7569 (grub_sprintf): Removed.
7570 (grub_vsnprintf): New function.
7571 (grub_snprintf): Likewise.
7572 (grub_xvasprintf): Likewise.
7573 (grub_xasprintf): Likewise.
7574 (grub_vsprintf): Renamed to ...
7575 (grub_vsnprintf_real): ...this. New argument max_len.
7576
aca655fd
BC
75772010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
7578
7579 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
7580 fix grub-script-check warning.
7581
7ee92c32
VS
75822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 * include/grub/font.h (grub_font_load): Fix prototype.
7585
f80927ca
VS
75862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
7589
119c50ea
VS
75902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * include/grub/x86_64/at_keyboard.h: New file.
7593
47d5f3c1
VS
75942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 * loader/mips/linux.c: Include missing grub/i18n.h.
7597
55ff5266
RM
75982009-12-20 Robert Millan <rmh.grub@aybabtu.com>
7599
7600 * normal/menu.c (notify_execution_failure): Clarify error message.
7601
c893cc87
RM
76022009-12-20 Robert Millan <rmh.grub@aybabtu.com>
7603
7604 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
7605 return value (and revert all return statements). Update users.
7606
917dd370
CW
76072010-01-20 Dan Merillat <debian@dan.merillat.org>
7608
7609 * kern/device.c (grub_device_iterate): Allocate new part_ent
7610 structure based on sizeof (*p) rather than sizeof (p->next), to
7611 account for structure padding.
7612
7613 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
7614 disk is NULL, which might happen for LVM physical volumes with no
7615 LVM signature.
7616
d4a4ee57
RM
76172009-12-20 Robert Millan <rmh.grub@aybabtu.com>
7618
7619 * loader/mips/linux.c (grub_cmd_initrd)
7620 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
7621
76222009-12-20 Robert Millan <rmh.grub@aybabtu.com>
7623
7624 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
7625 (grub_video_video_init, grub_video_bitmap_init)
7626 (grub_font_manager_init, grub_term_gfxterm_init)
7627 (grub_at_keyboard_init): New extern declarations.
7628 (grub_machine_init): Initialize gfxterm and at_keyboard.
7629
7630 * kern/main.c (grub_main): Revert grub_printf delay kludge.
7631
7632 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
7633 `gfxterm.mod' into core image.
7634
7635 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
7636 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7637 (kernel_img_FORMAT): Copy to ...
7638
7639 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
7640 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7641 (kernel_img_FORMAT): ... here, and ...
7642
7643 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
7644 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7645 (kernel_img_FORMAT): ... here.
7646
7647 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
7648 and input (at_keyboard) terminals in kernel.
7649 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
7650
7651 (pkglib_MODULES): Remove `pci.mod'.
7652 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
7653 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
7654 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
7655 (at_keyboard_mod_LDFLAGS): Remove variables.
7656
76572010-01-11 Felix Zielcke <fzielcke@z-51.de>
7658
7659 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
7660
76612009-12-10 Robert Millan <rmh.grub@aybabtu.com>
7662
7663 * include/grub/mips/libgcc.h: Only export symbols for functions
7664 that libgcc provides.
7665
76662009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
7667
7668 MIPS support.
7669
7670 * bus/bonito.c: New file.
7671 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
7672 GRUB_PCI_NUM_DEVICES.
7673 * term/i386/pc/serial.c: Move to ...
7674 * term/serial.c: ... here. All users updated.
7675 * util/i386/pc/grub-mkimage.c: Move to ...
7676 * util/grub-mkrawimage.c: ... here. All users updated.
7677 * term/i386/pc/at_keyboard.c: Move to ...
7678 * term/at_keyboard.c: ... here. All users updated.
7679 * conf/mips-qemu-mips.rmk: New file.
7680 * conf/mips-yeeloong.rmk: Likewise.
7681 * conf/mips.rmk: Likewise.
7682 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
7683 mipsel-qemu-mips.
7684 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
7685 to port addresses.
7686 (grub_ata_pciinit): Support CS5536.
7687 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
7688 * font/font_cmd.c (loadfont_command): Open file before passing it to
7689 grub_font_load.
7690 (pseudo_file_read): New function.
7691 (pseudo_file_close): Likewise.
7692 (pseudo_fs): New structure.
7693 (load_font_module): New function.
7694 (GRUB_MOD_INIT(font_manager)): Load embedded font.
7695 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
7696 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
7697 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
7698 * include/grub/i386/at_keyboard.h: Split into ...
7699 * include/grub/at_keyboard.h: ... this ...
7700 * include/grub/i386/at_keyboard.h: ... and this.
7701 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
7702 New prototype.
7703 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
7704 updated.
7705 (grub_elf64_size): Likewise.
7706 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
7707 filename.
7708 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
7709 * include/grub/i386/coreboot/serial.h: Rewritten.
7710 * include/grub/i386/ieee1275/serial.h: Include
7711 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
7712 * include/grub/i386/pc/serial.h: Moved from here ...
7713 * include/grub/serial.h: ... to here. All users updated.
7714 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
7715 (GRUB_PCI_NUM_BUS): Likewise.
7716 (GRUB_PCI_NUM_DEVICES): Likewise.
7717 (grub_pci_device_map_range): Add missing volatile keyword.
7718 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
7719 * include/grub/mips/at_keyboard.h: New file.
7720 * include/grub/mips/cache.h: Likewise.
7721 * include/grub/mips/io.h: Likewise.
7722 * include/grub/mips/kernel.h: Likewise.
7723 * include/grub/mips/libgcc.h: Likewise.
7724 * include/grub/mips/pci.h: Likewise.
7725 * include/grub/mips/qemu-mips/boot.h: Likewise.
7726 * include/grub/mips/qemu-mips/kernel.h: Likewise.
7727 * include/grub/mips/qemu-mips/loader.h: Likewise.
7728 * include/grub/mips/qemu-mips/memory.h: Likewise.
7729 * include/grub/mips/qemu-mips/serial.h: Likewise.
7730 * include/grub/mips/qemu-mips/time.h: Likewise.
7731 * include/grub/mips/relocator.h: Likewise.
7732 * include/grub/mips/time.h: Likewise.
7733 * include/grub/mips/types.h: Likewise.
7734 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
7735 * include/grub/mips/yeeloong/boot.h: Likewise.
7736 * include/grub/mips/yeeloong/kernel.h: Likewise.
7737 * include/grub/mips/yeeloong/loader.h: Likewise.
7738 * include/grub/mips/yeeloong/memory.h: Likewise.
7739 * include/grub/mips/yeeloong/pci.h: Likewise.
7740 * include/grub/mips/yeeloong/serial.h: Likewise.
7741 * include/grub/mips/yeeloong/time.h: Likewise.
7742 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
7743 * kern/elf.c (grub_elf32_size): New parameter. All users
7744 updated.
7745 (grub_elf64_size): Likewise.
7746 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
7747 Load modules before saying "Welcome to GRUB!".
7748 Call grub_refresh after saying "Welcome to GRUB!".
7749 * kern/mips/cache.S: New file.
7750 * kern/mips/cache_flush.S: Likewise.
7751 * kern/mips/dl.c: Likewise.
7752 * kern/mips/init.c: Likewise.
7753 * kern/mips/qemu-mips/init.c: Likewise.
7754 * kern/mips/startup.S: Likewise.
7755 * kern/mips/yeeloong/init.c: Likewise.
7756 * kern/term.c (grub_putcode): Handle NULL terminal.
7757 (grub_getcharwidth): Likewise.
7758 (grub_getkey): Likewise.
7759 (grub_checkkey): Likewise.
7760 (grub_getkeystatus): Likewise.
7761 (grub_getxy): Likewise.
7762 (grub_getwh): Likewise.
7763 (grub_gotoxy): Likewise.
7764 (grub_cls): Likewise.
7765 (grub_setcolorstate): Likewise.
7766 (grub_setcolor): Likewise.
7767 (grub_getcolor): Likewise.
7768 (grub_refresh): Likewise.
7769 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
7770 (write_jump): Add hatch nop.
7771 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
7772 * lib/mips/setjmp.S: New file.
7773 * loader/mips/linux.c: Likewise.
7774 * term/i386/pc/at_keyboard.c: Move from here ...
7775 * term/at_keyboard.c: ... to here.
7776 * term/i386/pc/serial.c: Moved from here ...
7777 * term/serial.c: ... to here. All users updated.
7778 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
7779 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
7780 (serial_translate_key_sequence): Avoid deadlock.
7781 (grub_serial_getkey): Handle backspace.
7782 (grub_serial_putchar): Fix newline handling.
7783 * util/i386/pc/grub-mkimage.c: Move from here ...
7784 * util/grub-mkrawimage.c: ... to here. All users updated.
7785 (generate_image): New parameters 'font_path' and 'format'.
7786 Support embedding font.
7787 Use grub_host_to_target* instead of grub_cpu_to_le*.
7788 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
7789 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
7790 (options): New option "--font".
7791 (usage): Likewise.
7792 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
7793 (main): Handle "--font".
7794 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
7795 (grub_virtual_screen_setup): Set bg_color_display.
7796 (redraw_screen_rect): Use bg_color_display instead of incorrect
7797 bg_color.
7798 (grub_gfxterm_cls): Likewise.
7799 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
7800 Support embedding config file.
7801 (add_segments): Likewise.
7802 (options): New option "--config".
7803 (main): Handle "--config".
7804 * video/sm712.c: New file.
7805
25c2b5b3
RM
78062010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7807
7808 Fix parallel builds.
7809
7810 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
7811 font.c depend on ascii.h).
7812
78132010-01-12 Carles Pina i Estany <carles@pina.cat>
7814
7815 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
7816
78172010-01-11 Carles Pina i Estany <carles@pina.cat>
7818
7819 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
7820 By default: disabled.
7821 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
7822 parameter.
7823
78242010-01-10 Carles Pina i Estany <carles@pina.cat>
7825
7826 * font/font.c: Update copyright years.
7827 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
7828
78292010-01-10 Carles Pina i Estany <carles@pina.cat>
7830
7831 * font/font.c: Include `ascii.h'.
7832 (ASCII_BITMAP_SIZE): New macro.
7833 (ascii_font_glyph): Define.
7834 (ascii_glyph_lookup): New function.
7835 (grub_font_get_string_width): Change comment. If glyph not found, use
7836 ascii_glyph_lookup.
7837 (grub_font_get_glyph_with_fallback): If glyph not available returns
7838 ascii_glyph_lookup.
7839 * util/grub-mkfont.c (file_formats): New enum.
7840 (options): Add `ascii-bitmaps' new option.
7841 (usage): Add `asii-bitmaps' new option.
7842 (write_font_ascii_bitmap): New function.
7843 (write_font): Rename to ...
7844 (write_font_p2): ... this. Remove print_glyphs call.
7845 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
7846 used. Call print_glyphs.
7847 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
7848
78492010-01-14 Robert Millan <rmh.grub@aybabtu.com>
7850
7851 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
7852 (grub_bin2h_SOURCES): New variable.
7853 * util/bin2h.c: New file.
7854
915fc1b8
VS
78552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * include/multiboot.h: Resynced with spec.
7858 * include/multiboot2.h: Likewise.
7859 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
7860 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
7861
9444b678
RM
78622010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7863
7864 * include/grub/term.h (grub_term_register_input,
7865 grub_term_register_output): Check return of terminal init()
7866 routines, and abort if errors are raised.
7867
7868 * commands/terminal.c: Update copyright year.
7869
cba98e8d
RM
78702010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7871
7872 * commands/terminal.c (grub_cmd_terminal_input)
7873 (grub_cmd_terminal_output): Check return of terminal init()
7874 routines, and abort if errors are raised.
7875
6f7db5d6
VS
78762010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7877
7878 * include/grub/i386/bsd.h: Fix include pathes.
7879
262bff8d
VS
78802010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 Add missing *BSD copyright headers.
7883
7884 * include/grub/aout.h: Add BSD licence.
7885 * include/grub/i386/bsd.h: Parts under different licences moved to ...
7886 * include/grub/i386/freebsd_linker.h: ... here,
7887 * include/grub/i386/freebsd_reboot.h: ... here,
7888 * include/grub/i386/netbsd_bootinfo.h: ... here,
7889 * include/grub/i386/netbsd_reboot.h: ... here,
7890 * include/grub/i386/openbsd_bootarg.h: ... here,
7891 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
7892 licence to each file.
7893
b2cab848
RM
78942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7895
7896 * acinclude.m4: Remove `nop' assembly instruction; it's not
7897 implemented by all architectures.
7898
2cb6be4b
RM
78992010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7900
7901 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
7902 ELILO. This is no longer necessary.
7903
a2eaee15
BC
79042010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
7905
7906 Added new tool, grub-scrit-check to verify grub.cfg syntax.
7907
7908 * util/grub-script-check.c: grub-script-check tool.
7909 * conf/common.rmk: Make rules for grub-script-check.
7910
88d17012
RM
79112010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7912
7913 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
7914 spotting it back in 2008. Shame on me for forgetting he did.
7915
7916 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
7917
8040619d
RM
79182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7919
7920 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
7921 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
7922 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
7923 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
7924 (GRUB_VIDEO_TYPE_EFI): Rename to ...
7925 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
7926
a0c2a0f6
RM
79272010-01-17 Robert Millan <rmh.grub@aybabtu.com>
7928
7929 * include/grub/test.h: Add license header.
7930 * tests/example_functional_test.c: Likewise.
7931 * tests/example_unit_test.c: Likewise.
7932 * tests/lib/functional_test.c: Likewise.
7933 * tests/lib/test.c: Likewise.
7934 * tests/lib/unit_test.c: Likewise.
7935
b0b13907
VS
79362010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 Use flag-based instead of hook-based video mode selection and "auto"
7939 keyword.
7940
7941 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
7942 (grub_video_set_mode): Changed prototype. All users updated.
7943 (grub_video_check_mode_flag): New inline function.
7944 * video/video.c (parse_modespec): New function.
7945 (grub_video_set_mode): Parse flags and keywords.
7946
ea379330 79472010-01-17 Carles Pina i Estany <carles@pina.cat>
7948
7949 * util/misc.c (grub_util_info): Fix the order of the parameters in a
7950 fprintf call.
7951
e15c215e
FZ
79522010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
7953
7954 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
7955
409ae1c9 79562010-01-16 Carles Pina i Estany <carles@pina.cat>
7957
7958 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
7959 string.
7960 * util/grub-emu.c (usage): Likewise.
7961 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
7962 * util/i386/efi/grub-mkimage.c (usage): Likewise.
7963 * util/i386/pc/grub-mkimage.c (usage): Likewise.
7964 * util/i386/pc/grub-setup.c (usage): Likewise.
7965
70a14d3d 79662010-01-16 Carles Pina i Estany <carles@pina.cat>
7967
7968 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
7969 the message.
7970 (grub_util_info): Likewise.
7971 (grub_util_error): Likewise.
7972 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
7973 and/or new lines in `grub_util_warna', `grub_util_info',
7974 `grub_util_error' calls.
7975 * util/getroot.c: Likewise.
7976 * util/grub-editenv.c: Likewise.
7977 * util/grub-emu.c: Likewise.
7978 * util/grub-fstest.c: Likewise.
7979 * util/grub-mkdevicemap.c: Likewise.
7980 * util/grub-mkfont.c: Likewise.
7981 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7982 * util/grub-mkrelpath.c: Likewise.
7983 * util/grub-pe2elf.c: Likewise.
7984 * util/grub-probe.c: Likewise.
7985 * util/hostdisk.c: Likewise.
7986 * util/i386/efi/grub-mkimage.c: Likewise.
7987 * util/i386/pc/grub-mkimage.c: Likewise.
7988 * util/i386/pc/grub-setup.c: Likewise.
7989 * util/ieee1275/ofpath.c: Likewise.
7990 * util/mkisofs/eltorito.c: Likewise.
7991 * util/mkisofs/rock.c: Likewise.
7992 * util/mkisofs/write.c: Likewise.
7993 * util/raid.c: Likewise.
7994 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
7995 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7996
a0b766fc
VS
79972010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7998
7999 Enable multiboot on non-pc.
8000
8001 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
8002 multiboot.mod and multiboot2.mod to ...
8003 * conf/i386.rmk (pkglib_MODULES): ... here.
8004 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
8005 Moved to ...
8006 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
8007 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
8008 Moved to ...
8009 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
8010 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
8011 Moved to ...
8012 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
8013 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
8014 Moved to ...
8015 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
8016 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
8017 relocator.mod.
8018 (ata_mod_SOURCES): Removed.
8019 (ata_mod_CFLAGS): Likewise.
8020 (ata_mod_LDFLAGS): Likewise.
8021 (relocator_mod_SOURCES): Removed.
8022 (relocator_mod_CFLAGS): Likewise.
8023 (relocator_mod_ASFLAGS): Likewise.
8024 (relocator_mod_LDFLAGS): Likewise.
8025 Include i386.mk.
8026 * include/grub/x86_64/multiboot.h: New file.
8027 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
8028 Terminate EFI.
8029
884ade56
VS
80302010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 Video multiboot support.
8033
8034 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
8035 New prototype.
8036 * include/multiboot.h: Resynced with multiboot specification.
8037 * include/multiboot2.h: Likewise.
8038 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
8039 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
8040 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
8041 (HAS_VGA_TEXT): Likewise.
8042 (accepts_video): New variable.
8043 (grub_multiboot_set_accepts_video): New function.
8044 (grub_multiboot_get_mbi_size): Account for video structures.
8045 (set_video_mode): New function.
8046 (retrieve_video_parameters): Likewise.
8047 (grub_multiboot_make_mbi): Fill video fields.
8048
0d90e8a6
VS
80492010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8050
8051 Video driver ids.
8052
8053 * include/grub/video.h (grub_video_driver_id): New type.
8054 (grub_video_adapter): New member 'id'. All users updated.
8055 (grub_video_get_driver_id): New proto.
8056 * video/video.c (grub_video_get_driver_id): New function.
8057
5c71db1b 80582010-01-14 Carles Pina i Estany <carles@pina.cat>
8059
8060 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
8061 `var=val'.
8062
cca15b52 80632010-01-14 Carles Pina i Estany <carles@pina.cat>
8064
8065 * normal/cmdline.c (print_completion): Gettextizze.
8066
c586fbb2 80672001-01-14 Carles Pina i Estany <carles@pina.cat>
8068
8069 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
8070
ba2f6848 80712010-01-14 Carles Pina i Estany <carles@pina.cat>
8072
8073 * gettext/gettext.c (grub_gettext_translate): Push and pop
8074 grub_errno.
8075 (grub_gettext_delete_list): Change comment style.
8076 * kern/err.c (grub_error): Gettextizze.
8077 (grub_fatal): Gettextizze.
8078
0a46429a
RM
80792010-01-14 Robert Millan <rmh.grub@aybabtu.com>
8080
8081 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
8082 (grub_linux16_real_boot): ... this.
8083 * kern/i386/loader.S: Likewise.
8084 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
8085 (grub_linux16_boot): New function. Switches to text mode and calls
8086 grub_linux16_real_boot().
8087
8088 * loader/i386/bsd.c: Include `<grub/video.h>'.
8089 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
8090 text mode before calling grub_unix_real_boot().
8091
8092 * loader/i386/multiboot.c: Include `<grub/video.h>'.
8093 (grub_multiboot_boot): Switch to text mode before calling
8094 grub_relocator32_boot().
8095
8096 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
8097 (grub_chainloader_boot): Switch to text mode before calling
8098 grub_chainloader_real_boot().
8099
d6f93a66
RM
81002010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
81012010-01-05 Colin Watson <cjwatson@ubuntu.com>
8102
8103 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
8104 non-empty value.
8105
81062010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
81072010-01-05 Colin Watson <cjwatson@ubuntu.com>
8108
8109 * util/grub.d/00_header.in: Define a "savedefault" function for use
8110 in menu entries.
8111 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
8112
81132010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
81142010-01-05 Colin Watson <cjwatson@ubuntu.com>
8115
8116 * util/grub-mkconfig_lib.in (save_default_entry): Only set
8117 saved_entry if boot_once is unset.
8118 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
8119 previous saved entry (i.e. grub-reboot).
8120
81212009-12-08 Colin Watson <cjwatson@ubuntu.com>
8122
8123 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
8124
81252009-12-08 Colin Watson <cjwatson@ubuntu.com>
8126
8127 * util/grub.d/00_header.in: Use `set var=val' rather than plain
8128 `var=val'.
8129 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
8130
81312009-12-08 Colin Watson <cjwatson@ubuntu.com>
8132
8133 * util/grub-reboot.in: Fix --version output.
8134 * util/grub-set-default.in: Likewise.
8135
81362009-12-08 Colin Watson <cjwatson@ubuntu.com>
8137
8138 * util/grub.d/00_header.in: Silently ignore zero-sized environment
8139 blocks.
8140
81412009-12-08 Colin Watson <cjwatson@ubuntu.com>
8142
8143 * util/grub.d/00_header.in: Quote the value assigned to `default',
8144 in case it contains spaces.
8145
81462009-12-08 Colin Watson <cjwatson@ubuntu.com>
8147
8148 * util/grub.d/30_os-prober.in: Fix merge error that moved a
8149 `save_default_entry' call from the macosx case to the linux case.
8150
81512009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
81522009-10-25 Colin Watson <cjwatson@ubuntu.com>
8153
8154 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
8155 in `chosen' environment variable.
8156 * normal/menu_text.c (get_entry_number): Check if the variable
8157 matches the title of a menu entry.
8158 (run_menu): Pass menu to get_entry_number.
8159
8160 * util/grub-reboot.in: New file.
8161 * util/grub-set-default.in: New file.
8162 * conf/common.rmk (grub-reboot): New utility.
8163 (grub-set-default): New utility.
8164
8165 * util/grub-mkconfig_lib.in (save_default_entry): New function.
8166 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
8167 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
8168 move it to `saved_entry' for the next boot. Load environment on
8169 initialisation.
8170 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
8171 * util/grub.d/10_hurd.in: Likewise.
8172 * util/grub.d/10_linux.in (linux_entry): Likewise.
8173 * util/grub.d/10_windows.in: Likewise.
8174 * util/grub.d/30_os-prober.in: Likewise.
8175
8176 * util/grub-install.in: Create environment block.
8177 * util/i386/efi/grub-install.in: Likewise.
8178 * util/ieee1275/grub-install.in: Likewise.
8179 * util/sparc64/ieee1275/grub-install.in: Likewise.
8180
0934d184
BC
81812010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
8182
8183 Unit testing framework for GRUB.
8184
8185 * Makefile.in: Test framework build rules for 'make check'.
8186 * conf/tests.rmk: Build rules for individual tests and framework.
8187
8188 * include/grub/test.h: Header file for whitebox tests.
8189 * tests/lib/functional_test.c: Framework support for whitebox
8190 functional tests.
8191 * tests/lib/test.c: Common whitebox testing code for unit and
8192 functional tests.
8193 * tests/lib/unit_test.c: Framework support for whitebox unit
8194 tests.
8195
8196 * tests/util/grub-shell-tester.in: Support utility for grub-script
8197 tests.
8198 * tests/util/grub-shell.in: Utility to execute grub-script
8199 commands in a Qemu instance.
8200
8201 * tests/example_functional_test.c: Example whitebox functional
8202 test.
8203 * tests/example_grub_script_test.in: Example grub-script test.
8204 * tests/example_scripted_test.in: Example scripted test.
8205 * tests/example_unit_test.c: Example whitebox unit test.
8206
9c4ffeeb
VS
82072010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
8210 Add loader/i386/multiboot_mbi.c.
8211 (multiboot2_mod_SOURCES): Likewise.
8212 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
8213 (multiboot2_mod_SOURCES): Likewise.
8214 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
8215 (grub_multiboot_make_mbi): Likewise.
8216 (grub_multiboot_free_mbi): Likewise.
8217 (grub_multiboot_init_mbi): Likewise.
8218 (grub_multiboot_add_module): Likewise.
8219 (grub_multiboot_set_bootdev): Likewise.
8220 * loader/i386/multiboot.c (mbi): Removed.
8221 (mbi_dest): Likewise.
8222 (alloc_mbi): New variable.
8223 (grub_multiboot_payload_size): Removed. All users updated.
8224 (grub_multiboot_pure_size): New variable.
8225 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
8226 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
8227 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
8228 (grub_fill_multiboot_mmap): Likewise.
8229 (grub_multiboot_get_bootdev): Likewise.
8230 (grub_multiboot): Use multiboot_mbi functions.
8231 * loader/i386/multiboot_mbi.c: New file.
8232
17383dfe
VS
82332010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
8236 it would result in module crash.
8237
c1f28820
VS
82382010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
8241 (grub_ofconsole_getwh): Split to ...
8242 (grub_ofconsole_getwh): ... this.
8243 (grub_ofconsole_dimensions): ...and this.
8244 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
8245
58655a16
RM
82462010-01-13 Robert Millan <rmh.grub@aybabtu.com>
8247
8248 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
8249
10891398
VS
82502010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * loader/i386/pc/multiboot2.c: Removed stalled file.
8253
0b8a223c
VS
82542010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
8257 Reported by: Grégoire Sutre
8258
92ab12b0
RM
82592010-01-11 Robert Millan <rmh.grub@aybabtu.com>
8260
8261 * util/misc.c (canonicalize_file_name): New function.
8262 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
8263 instead of realpath().
8264
a788afb6
CW
82652010-01-11 Colin Watson <cjwatson@ubuntu.com>
8266
8267 * util/grub-install.in (usage): Clarify meaning of --root-directory,
8268 and make it clearer that it's optional. Based on confusion
8269 witnessed on IRC.
8270
ffa8e3d2
VS
82712010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
8274 in premature implicit newline.
8275
e9060a9d
VS
82762010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8277
8278 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
8279 which resulted in garbled command line at the end of screen.
8280
f0d0c0b7
RM
82812010-01-10 Robert Millan <rmh.grub@aybabtu.com>
8282
8283 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
8284 initialization with similar approach as with other Linux loaders.
8285
0e60bae7
RM
82862010-01-10 Robert Millan <rmh.grub@aybabtu.com>
8287
8288 Fix i386-ieee1275 build.
8289
8290 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
8291 and grub_term_height() for video_{width,height} initialization.
8292
82932010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
8294
8295 Fix grub-emu build.
8296
8297 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
8298
cdb3f378
RM
82992010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
83002010-01-09 Robert Millan <rmh.grub@aybabtu.com>
8301
8302 Support for multiple terminals.
8303
8304 * Makefile.in (pkglib_DATA): terminal.lst.
8305 (terminal.lst): New target.
8306 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
8307 (GRUB_MOD_INIT(handler)): Likewise.
8308 (GRUB_MOD_FINI(handler)): Likewise.
8309 * commands/help.c (grub_cmd_help): Handle multiple terminals.
8310 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
8311 * commands/sleep.c (do_print): Use grub_term_restore_pos.
8312 (grub_cmd_sleep): Use grub_term_save_pos.
8313 * commands/terminal.c: New file.
8314 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
8315 commands/terminal.c and lib/charset.c.
8316 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
8317 (pkglib_MODULES): Add terminal.mod.
8318 (terminal_mod_SOURCES): New variable.
8319 (terminal_mod_CFLAGS): Likewise.
8320 (terminal_mod_LDFLAGS): Likewise.
8321 * genhandlerlist.sh: Don't handle terminals.
8322 * genmk.rb: Generate terminal-*.lst.
8323 * genterminallist.sh: New file.
8324 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
8325 (grub_is_valid_utf8): Likewise.
8326 (grub_utf8_to_ucs4_alloc): Likewise.
8327 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
8328 (grub_menu_register_viewer): Changed argument.
8329 (grub_menu_try_text): New proto.
8330 (grub_gfxmenu_try_hook): New declaration.
8331 * include/grub/normal.h (grub_normal_exit_level): New declaration.
8332 (grub_menu_init_page): Additional argument term.
8333 (grub_normal_init_page): Likewise.
8334 (grub_cmdline_get): Arguments simplified.
8335 (grub_utf8_to_ucs4_alloc): Removed.
8336 (grub_print_ucs4): Additional argument term.
8337 (grub_getstringwidth): Likewise.
8338 (grub_print_message_indented): Likewise.
8339 (grub_menu_text_register_instances): New proto.
8340 (grub_show_menu): Likewise.
8341 (read_terminal_list): Likewise.
8342 (grub_set_more): Likewise.
8343 * include/grub/parser.h: Include handler.h.
8344 * include/grub/reader.h: Rewritten.
8345 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
8346 (GRUB_TERM_WIDTH): Changed to function.
8347 (GRUB_TERM_HEIGHT): Likewise.
8348 (GRUB_TERM_BORDER_WIDTH): Likewise.
8349 (GRUB_TERM_BORDER_HEIGHT): Likewise.
8350 (GRUB_TERM_NUM_ENTRIES): Likewise.
8351 (GRUB_TERM_ENTRY_WIDTH): Likewise.
8352 (GRUB_TERM_CURSOR_X): Likewise.
8353 (grub_term_input_class): Likewise.
8354 (grub_term_output_class): Likewise.
8355 (grub_term_outputs_disabled): New declaration.
8356 (grub_term_inputs_disabled): Likewise.
8357 (grub_term_outputs): Likewise.
8358 (grub_term_inputs): Likewise.
8359 (grub_term_register_input): Rewritten.
8360 (grub_term_register_output): Likewise.
8361 (grub_term_unregister_input): Likewise.
8362 (grub_term_unregister_output): Likewise.
8363 (FOR_ACTIVE_TERM_INPUTS): New macro.
8364 (FOR_DISABLED_TERM_INPUTS): Likewise.
8365 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
8366 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
8367 * include/grub/terminfo.h: Add oterm argument to all protypes.
8368 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
8369 Use grub_rescue_run.
8370 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
8371 All users updated.
8372 * kern/reader.c: Removed. All users updated.
8373 * kern/rescue_reader.c (grub_rescue_init): Removed.
8374 (grub_rescue_reader): Likewise.
8375 (grub_register_rescue_reader): Likewise.
8376 (grub_rescue_run): New function based on kern/reader.c.
8377 * kern/term.c: Adapted for multiterm.
8378 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
8379 (grub_is_valid_utf8): Likewise.
8380 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
8381 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
8382 right terminal.
8383 * loader/i386/linux.c (grub_linux_boot): Likewise.
8384 * normal/auth.c (grub_username_get): New function.
8385 (grub_auth_check_authentication): Use grub_username_get.
8386 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
8387 * normal/color.c: Adapt for multiterm.
8388 * normal/main.c (read_config_file): Don't use grub_reader_loop.
8389 (grub_normal_init_page): Additional argument term.
8390 (read_lists): Call read_terminal_lists.
8391 (grub_enter_normal_mode): Call grub_cmdline_run.
8392 Handle grub_normal_exit_level.
8393 (grub_cmd_normal): Make reentrant.
8394 (grub_cmd_normal_exit): New function.
8395 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
8396 * normal/menu.c: Adapt for multiterm.
8397 * normal/menu_entry.c: Likewise.
8398 * normal/menu_text.c: Likewise.
8399 * normal/menu_viewer.c: Removed. All users updated.
8400 * normal/term.c: New file.
8401 * util/console.c: Change order of includes to workaround a bug in
8402 ncurses headers.
8403 * term/terminfo.c: New argument oterm on all exported functions.
8404 All users updated.
8405 * util/grub-editenv.c (grub_term_input_class): Removed.
8406 (grub_term_output_class): Likewise.
8407
1a064917
RM
84082010-01-09 Robert Millan <rmh.grub@aybabtu.com>
8409
8410 Make loader output a bit more user-friendly.
8411
8412 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
8413 is being loaded. Likewise for the Hurd.
8414
8415 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
8416 that kernel of FreeBSD ${version} is being loaded.
8417
8418 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
8419 grub_dprintf().
8420 (grub_cmd_initrd): Likewise.
8421 * util/grub.d/10_linux.in (linux_entry): Print message indicating
8422 that Linux ${version} is being loaded. Likewise for initrd.
8423
5ce0a83a 84242010-01-09 Carles Pina i Estany <carles@pina.cat>
8425
8426 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
8427
809bbfeb 84282010-01-08 Carles Pina i Estany <carles@pina.cat>
8429
8430 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
8431 (GRUB_MOD_INIT): Gettextizze.
8432 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
8433 (GRUB_MOD_INIT): Gettextizze.
8434 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
8435 (grub_cmd_linux): Capitalise Linux.
8436 (GRUB_MOD_INIT): Gettextizze.
8437 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
8438 (grub_cmd_linux): Capitalise Linux.
8439 (GRUB_MOD_INIT): Gettextizze.
8440 * loader/i386/linux.c: Include `<grub/i18n.h>'.
8441 (grub_cmd_linux): Capitalise Linux.
8442 (GRUB_MOD_INIT): Gettextizze.
8443 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
8444 (GRUB_MOD_INIT): Gettextizze.
8445 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
8446 (grub_cmd_linux): Capitalise Linux.
8447 (GRUB_MOD_INIT): Gettextizze.
8448 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
8449 (grub_cpu_xnu_init): Gettextizze.
8450 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
8451 (GRUB_MOD_INIT): Gettextizze.
8452 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
8453 (GRUB_MOD_INIT): Gettextizze.
8454 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
8455 (grub_linux_load64): Capitalise Linux.
8456 (GRUB_MOD_INIT): Gettextizze.
8457 * loader/xnu.c: Include `<grub/i18n.h>'.
8458 (GRUB_MOD_INIT): Gettextizze.
8459 * po/POTFILES: Add `loader/efi/appleloader.c',
8460 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
8461 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
8462 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
8463 `loader/i386/xnu.c', `loader/multiboot_loader.c',
8464 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
8465 and `loader/xnu.c'.
8466
b394b2ca
RM
84672010-01-08 Robert Millan <rmh.grub@aybabtu.com>
8468
8469 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
8470
84712010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
8472
8473 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
8474 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
8475 * util/mkisofs/mkisofs.c (main): Readjust --version output.
8476
bc8b32b3
RM
84772010-01-07 Robert Millan <rmh.grub@aybabtu.com>
8478
8479 Reset Multiboot 2 support. New loader implements the draft in
8480 /branches/multiboot2 and shares as much code as possible with the
8481 production Multiboot 1 implementation.
8482
8483 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
8484 * loader/multiboot2.c: Likewise.
8485 * loader/i386/multiboot_helper.S: Likewise.
8486 * include/multiboot2.h: Replace with latest version from the draft
8487 in /branches/multiboot2.
8488
8489 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
8490 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
8491 and `loader/multiboot2.c'.
8492 (pkglib_MODULES): Add `multiboot2.mod'.
8493 (multiboot2_mod_SOURCES): New variable.
8494 (multiboot2_mod_LDFLAGS): Likewise.
8495 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
8496
8497 * conf/i386-pc.rmk: Likewise.
8498
8499 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
8500 (multiboot_mod_SOURCES): Remove variable.
8501 (multiboot_mod_LDFLAGS): Likewise.
8502 (multiboot_mod_CFLAGS): Likewise.
8503
8504 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
8505 `<multiboot2.h>' instead of `<multiboot.h>'.
8506 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
8507 (MULTIBOOT_HEADER_MAGIC): New macros.
8508
8509 * loader/multiboot_loader.c (module_version_status): Remove variable.
8510 (find_multi_boot2_header): Remove function.
8511 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
8512 logic. Always check for the Multiboot version we're compiling for.
8513 (grub_cmd_module_loader): Likewise.
8514 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
8515 command instead of `multiboot'.
8516
5d2c52b8
RM
85172010-01-07 Robert Millan <rmh.grub@aybabtu.com>
8518
8519 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
8520 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
8521 all users.
8522
53108d92
RM
85232010-01-07 Robert Millan <rmh.grub@aybabtu.com>
85242010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8525
8526 Fix breakage introduced with previous commit.
8527
8528 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
8529 commands.
8530 * normal/handler.c (read_handler_list): Revert part of previous commit
8531 affecting this file.
8532 * normal/main.c (read_lists): Move read_handler_list() call back to ...
8533 (grub_normal_execute): ... here.
8534
e2e936b2
RM
85352010-01-07 Robert Millan <rmh.grub@aybabtu.com>
8536
8537 Merge prefix-redefinition-fix branch.
8538
8539 * normal/autofs.c (read_fs_list): Make function capable of being
8540 run multiple times, gracefuly replacing the previous data
8541 structures.
8542 * normal/dyncmd.c (read_command_list): Likewise.
8543 * normal/handler.c (read_handler_list): Likewise.
8544 * normal/main.c (read_lists): New function. Calls all the
8545 list reading functions.
8546 (grub_normal_execute): Use read_lists() instead of calling all
8547 list reading functions explicitly. Register read_lists() as a
8548 variable hook attached to ${prefix}.
8549
607a3701
VS
85502010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 Merge crypto branch.
8553
8554 * Makefile.in (pkglib_DATA): Add crypto.lst.
8555 (crypto.lst): New target.
8556 * commands/hashsum.c: New file.
8557 * commands/password.c (check_password): Use grub_crypto_memcmp.
8558 * commands/password_pbkdf2.c: New file.
8559 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
8560 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
8561 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
8562 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
8563 -I$(srcdir)/lib/libgcrypt_wrap.
8564 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
8565 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
8566 password_pbkdf2.mod.
8567 (crypto_mod_SOURCES): New variable.
8568 (crypto_mod_CFLAGS): Likewise.
8569 (crypto_mod_LDFLAGS): Likewise.
8570 (hashsum_mod_SOURCES): New variable.
8571 (hashsum_mod_CFLAGS): Likewise.
8572 (hashsum_mod_LDFLAGS): Likewise.
8573 (pbkdf2_mod_SOURCES): New variable.
8574 (pbkdf2_mod_CFLAGS): Likewise.
8575 (pbkdf2_mod_LDFLAGS): Likewise.
8576 (password_pbkdf2_mod_SOURCES): New variable.
8577 (password_pbkdf2_mod_CFLAGS): Likewise.
8578 (password_pbkdf2_mod_LDFLAGS): Likewise.
8579 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
8580 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
8581 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
8582 Include conf/gcry.rmk.
8583 * include/grub/auth.h: Rewritten.
8584 * include/grub/crypto.h: New file.
8585 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
8586 * include/grub/normal.h (read_crypto_list): New prototype.
8587 * lib/crypto.c: New file.
8588 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
8589 * lib/pbkdf2.c: Likewise.
8590 * normal/auth.c (grub_auth_strcmp): Removed.
8591 (grub_iswordseparator): Likewise.
8592 (grub_auth_strword): Likewise.
8593 (is_authenticated): Use grub_strword.
8594 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
8595 and grub_strword. Pass entered password to authentication callback.
8596 * normal/crypto.c: New file.
8597 * normal/main.c: Call read_crypto_list.
8598 * util/grub-mkpasswd-pbkdf2.c: New file.
8599 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
8600
42841caa
VS
86012010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 Fix descent and ascent calculation.
8604
8605 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
8606 (options): New option "asce".
8607 (usage): Likewise.
8608 (add_char): Ignore invalid glyphs for descent calculation.
8609 Calculate ascent from actual content.
8610 (print_glyphs): Use 'asce'.
8611 (write_font): Likewise. Allow ascent override.
8612 (main): Handle "asce" option.
8613
e7730de7 86142010-01-06 Carles Pina i Estany <carles@pina.cat>
8615
8616 * kern/err.c: Include `<grub/i18n.h>'.
8617 (grub_print_error): Add full stop. Gettextizze.
8618 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
8619 (grub_bsd_load_elf): Capitalise ELF.
8620 (grub_cmd_freebsd_loadenv): Add `s' in error string.
8621 (grub_cmd_freebsd_module): Likewise.
8622 (grub_cmd_freebsd_module_elf): Likewise.
8623 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
8624
40e3a41f 86252010-01-06 Carles Pina i Estany <carles@pina.cat>
8626
8627 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
8628 * commands/search_file.c (HELP_MESSAGE): New macro.
8629 * commands/search_label.c (HELP_MESSAGE): Likewise.
8630 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
8631 * po/POTFILES: Add `commands/search_file.c',
8632 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
8633 `commands/search.c'.
8634
83507e68
RM
86352010-01-05 Robert Millan <rmh.grub@aybabtu.com>
8636
8637 * config.rpath: Update from Gnulib.
8638
465c787b
YB
86392010-01-05 Yves Blusseau <blusseau@zetam.org>
8640
8641 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
8642
6581dd3a
YB
86432010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
8644
8645 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
8646
3bff18c5
CW
86472010-01-05 Colin Watson <cjwatson@ubuntu.com>
8648
8649 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
8650 arguments to fread so that we get a return value in bytes, rather
8651 than something that will normally be rounded down to 0.
8652 Adjust error handling to avoid producing garbage when size_t is not
8653 the same size as long long.
8654
a1368118
CW
86552010-01-05 Colin Watson <cjwatson@ubuntu.com>
8656
8657 * util/mkisofs/write.c (padblock_write): Check return value of
8658 fread.
8659
7c302978
RM
86602010-01-05 Robert Millan <rmh.grub@aybabtu.com>
8661
8662 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
8663 floppy images now.
8664
8665 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
8666
e33ace06
RM
86672010-01-04 Robert Millan <rmh.grub@aybabtu.com>
8668
8669 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
8670 instead of manual alignment.
8671 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
8672 verbose). Avoid attempts to read past end of the device
8673 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
8674 but GRUB_DISK_CACHE_SIZE may exceed that).
8675
4b856776
RM
86762010-01-04 Robert Millan <rmh.grub@aybabtu.com>
8677
8678 * commands/crc.c (grub_cmd_crc): Abort on read errors.
8679 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
8680 it to upper layer.
8681
52c2d97f
VS
86822010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
8685 New constant.
8686 (grub_efi_piwg_device_path): New structure
8687 (grub_efi_piwg_device_path_t): New type.
8688 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
8689 (devpath_1): Transform to a structure. All users updated.
8690 (devpath_2): Likewise.
8691 (devpath_3): Likewise.
8692 (devpath_4): Likewise.
8693 (devpath_5): Likewise.
8694
98ff6a54
VS
86952010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * loader/efi/appleloader.c: Restored. Update all users.
8698
3a73dcb6
RM
86992010-01-03 Robert Millan <rmh.grub@aybabtu.com>
8700
8701 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
8702
8703 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
8704 (struct boot_blocklist): Move from here ...
8705 * include/grub/i386/pc/boot.h [ASM_FILE]
8706 (struct grub_boot_blocklist): ... to here. Update all users.
8707 (setup): Only initialize `start' member of `first_block'
8708 structure. Add assert() calls to verify the other members.
8709
8710 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
8711 (generate_image): Fix broken blocklist length initialization.
8712 Add assert() call to verify blocklist `segment' field.
8713
ab0eeb0c
RM
87142010-01-03 Robert Millan <rmh.grub@aybabtu.com>
8715
8716 * loader/efi/appleloader.c: Remove. Update all users.
8717
58bc8bd5
RM
87182010-01-03 Robert Millan <rmh.grub@aybabtu.com>
8719
8720 * boot/i386/pc/boot.S: Update copyright year.
8721 * boot/i386/pc/cdboot.S: Likewise.
8722 * boot/i386/pc/diskboot.S: Likewise.
8723 * boot/i386/pc/lnxboot.S: Likewise.
8724 * boot/i386/pc/pxeboot.S: Likewise.
8725 * bus/pci.c: Likewise.
8726 * commands/cmp.c: Likewise.
8727 * commands/help.c: Likewise.
8728 * commands/hexdump.c: Likewise.
8729 * commands/i386/pc/halt.c: Likewise.
8730 * commands/i386/pc/play.c: Likewise.
8731 * commands/i386/pc/vbeinfo.c: Likewise.
8732 * commands/ls.c: Likewise.
8733 * commands/test.c: Likewise.
8734 * disk/dmraid_nvidia.c: Likewise.
8735 * disk/i386/pc/biosdisk.c: Likewise.
8736 * disk/ieee1275/nand.c: Likewise.
8737 * disk/ieee1275/ofdisk.c: Likewise.
8738 * disk/lvm.c: Likewise.
8739 * disk/raid.c: Likewise.
8740 * disk/raid6_recover.c: Likewise.
8741 * disk/scsi.c: Likewise.
8742 * fs/affs.c: Likewise.
8743 * fs/cpio.c: Likewise.
8744 * fs/ext2.c: Likewise.
8745 * fs/hfs.c: Likewise.
8746 * fs/iso9660.c: Likewise.
8747 * fs/ntfs.c: Likewise.
8748 * fs/sfs.c: Likewise.
8749 * fs/udf.c: Likewise.
8750 * fs/ufs.c: Likewise.
8751 * fs/xfs.c: Likewise.
8752 * gencmdlist.sh: Likewise.
8753 * genmk.rb: Likewise.
8754 * include/grub/disk.h: Likewise.
8755 * include/grub/efi/api.h: Likewise.
8756 * include/grub/efi/efi.h: Likewise.
8757 * include/grub/efi/pe32.h: Likewise.
8758 * include/grub/elf.h: Likewise.
8759 * include/grub/fs.h: Likewise.
8760 * include/grub/i386/at_keyboard.h: Likewise.
8761 * include/grub/i386/pc/memory.h: Likewise.
8762 * include/grub/i386/pc/vbe.h: Likewise.
8763 * include/grub/i386/pci.h: Likewise.
8764 * include/grub/i386/tsc.h: Likewise.
8765 * include/grub/ieee1275/ieee1275.h: Likewise.
8766 * include/grub/ntfs.h: Likewise.
8767 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
8768 * include/grub/sparc64/libgcc.h: Likewise.
8769 * include/grub/symbol.h: Likewise.
8770 * include/grub/types.h: Likewise.
8771 * include/multiboot2.h: Likewise.
8772 * io/gzio.c: Likewise.
8773 * kern/device.c: Likewise.
8774 * kern/disk.c: Likewise.
8775 * kern/efi/efi.c: Likewise.
8776 * kern/efi/mm.c: Likewise.
8777 * kern/elf.c: Likewise.
8778 * kern/file.c: Likewise.
8779 * kern/i386/dl.c: Likewise.
8780 * kern/i386/pc/init.c: Likewise.
8781 * kern/i386/pc/startup.S: Likewise.
8782 * kern/ieee1275/ieee1275.c: Likewise.
8783 * kern/ieee1275/init.c: Likewise.
8784 * kern/main.c: Likewise.
8785 * kern/mm.c: Likewise.
8786 * kern/powerpc/dl.c: Likewise.
8787 * kern/sparc64/dl.c: Likewise.
8788 * kern/x86_64/dl.c: Likewise.
8789 * lib/hexdump.c: Likewise.
8790 * loader/efi/appleloader.c: Likewise.
8791 * loader/i386/ieee1275/linux.c: Likewise.
8792 * loader/i386/pc/chainloader.c: Likewise.
8793 * loader/i386/pc/linux.c: Likewise.
8794 * loader/i386/pc/multiboot2.c: Likewise.
8795 * loader/ieee1275/multiboot2.c: Likewise.
8796 * loader/multiboot2.c: Likewise.
8797 * loader/multiboot_loader.c: Likewise.
8798 * loader/powerpc/ieee1275/linux.c: Likewise.
8799 * normal/completion.c: Likewise.
8800 * normal/menu_entry.c: Likewise.
8801 * partmap/apple.c: Likewise.
8802 * util/grub.d/10_hurd.in: Likewise.
8803 * util/hostfs.c: Likewise.
8804 * video/readers/png.c: Likewise.
8805
e2d70b5c
CW
88062010-01-03 Colin Watson <cjwatson@ubuntu.com>
8807
8808 * include/grub/misc.h (GNUC_PREREQ): New macro.
8809 (ATTRIBUTE_ERROR): New macro.
8810 * include/grub/list.h (grub_bad_type_cast_real): Use
8811 ATTRIBUTE_ERROR.
8812
a173283f 88132010-01-03 Carles Pina i Estany <carles@pina.cat>
8814
8815 * normal/menu_text.c (print_message): Change messages.
8816
7fa7ff74 88172010-01-03 Carles Pina i Estany <carles@pina.cat>
8818
8819 * normal/menu_entry.c (store_completion): Gettextizze.
8820
136d24f6 88212010-01-03 Carles Pina i Estany <carles@pina.cat>
8822
8823 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
8824
f936862e 88252010-01-03 Carles Pina i Estany <carles@pina.cat>
8826
8827 * po/POTFILES: Sort correctly.
8828
29c44ad1 88292010-01-03 Carles Pina i Estany <carles@pina.cat>
8830
8831 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
8832 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
8833 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
8834 full stop.
8835 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
8836 summary. Gettextizze the strings.
8837 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
8838 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
8839 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
8840 full stop.
8841 (GRUB_MOD_INIT): Remove command name from summary.
8842 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
8843 summary.
8844 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
8845 * term/i386/pc/serial.c (options): Add full stops.
8846 (GRUB_MOD_INIT): Remove command name from the summary.
8847
77a79592 88482010-01-03 Carles Pina i Estany <carles@pina.cat>
8849
8850 * commands/acpi.c: Gettextizze help strings and/or options. Include
8851 `grub/i18n.h' if needed.
8852 * commands/blocklist.c: Likewise.
8853 * commands/boot.c: Likewise.
8854 * commands/cat.c: Likewise.
8855 * commands/cmp.c: Likewise.
8856 * commands/configfile.c: Likewise.
8857 * commands/crc.c: Likewise.
8858 * commands/date.c: Likewise.
8859 * commands/echo.c: Likewise.
8860 * commands/efi/fixvideo.c: Likewise.
8861 * commands/efi/loadbios.c: Likewise.
8862 * commands/gptsync.c: Likewise.
8863 * commands/halt.c: Likewise.
8864 * commands/handler.c: Likewise.
8865 * commands/hdparm.c: Likewise.
8866 * commands/hexdump.c: Likewise.
8867 * commands/i386/cpuid.c: Likewise.
8868 * commands/i386/pc/drivemap.c: Likewise.
8869 * commands/i386/pc/halt.c: Likewise.
8870 * commands/i386/pc/pxecmd.c: Likewise.
8871 * commands/i386/pc/vbeinfo.c: Likewise.
8872 * commands/i386/pc/vbetest.c: Likewise.
8873 * commands/ieee1275/suspend.c: Likewise.
8874 * commands/keystatus.c: Likewise.
8875 * commands/loadenv.c: Likewise.
8876 * commands/ls.c: Likewise.
8877 * commands/lsmmap.c: Likewise.
8878 * commands/lspci.c: Likewise.
8879 * commands/memrw.c: Likewise.
8880 * commands/minicmd.c: Likewise.
8881 * commands/parttool.c: Likewise.
8882 * commands/password.c: Likewise.
8883 * commands/probe.c: Likewise.
8884 * commands/read.c: Likewise.
8885 * commands/reboot.c: Likewise.
8886 * commands/search.c: Likewise.
8887 * commands/sleep.c: Likewise.
8888 * commands/test.c: Likewise.
8889 * commands/true.c: Likewise.
8890 * commands/usbtest.c: Likewise.
8891 * commands/videotest.c: Likewise.
8892 * commands/xnu_uuid.c: Likewise.
8893 * disk/loopback.c: Likewise.
8894 * hello/hello.c: Likewise.
8895 * loader/i386/bsd.c: Likewise.
8896 * term/i386/pc/serial.c: Likewise.
8897 * po/POTFILES: Add new files.
8898
da8d5c53
CW
88992010-01-02 Colin Watson <cjwatson@ubuntu.com>
8900
8901 * term/i386/pc/at_keyboard.c
8902 (keyboard_controller_wait_untill_ready): Rename to ...
8903 (keyboard_controller_wait_until_ready): ... this. Update all users.
8904
33937904 89052010-01-01 Carles Pina i Estany <carles@pina.cat>
8906
8907 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
8908 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
8909 string using string width.
8910 * normal/menu_text.c (grub_print_message_indented): Use
8911 grub_print_spaces and not print_spaces.
8912 (print_timeout): Likewise.
8913 (print_spaces): Move to...
8914 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
8915
3fd3b8d8
RM
89162010-01-01 Robert Millan <rmh.grub@aybabtu.com>
8917
8918 Import from Gnulib.
8919
8920 * gnulib/getdelim.c: New file.
8921 * gnulib/getline.c: Likewise.
8922
33433555
VS
89232009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
8924
8925 * include/grub/list.h (grub_assert_fail): Removed.
8926 (grub_bad_type_cast_real): New function.
8927 (grub_bad_type_cast): New macro.
8928 (GRUB_AS_LIST): Use grub_bad_type_cast.
8929 (GRUB_AS_LIST_P): Likewise.
e44721e8 8930 (GRUB_AS_NAMED_LIST): Likewise.
33433555 8931 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 8932 (GRUB_AS_PRIO_LIST): Likewise.
33433555 8933 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 8934 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 8935
f5a51306
VS
89362009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
8939 Fix syntax error.
8940
90d1e879
RM
89412009-12-29 Robert Millan <rmh.grub@aybabtu.com>
8942
8943 * configure.ac: Check for TARGET_CFLAGS initialization before we
8944 initialize it ourselves (sigh).
8945 Move a few modifications to TARGET_CFLAGS to be unconditional
8946 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
8947 eh_frame)
8948
8949 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
8950 * term/i386/pc/at_keyboard.c
8951 (keyboard_controller_wait_untill_ready): Likewise.
8952 (keyboard_controller_led): Rename `led_status' paramter to avoid
8953 name conflict.
8954
465b5a81 89552009-12-28 Carles Pina i Estany <carles@pina.cat>
8956
8957 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
8958 quotes.
8959
c181849b
VS
89602009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
8963
9c8739a4
VS
89642009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * normal/menu_text.c (grub_print_message_indented): Prevent
8967 past-the-end-of-array dereference.
8968
3e74249c
VS
89692009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
8972 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
8973
64fd18ed 89742009-12-27 Carles Pina i Estany <carles@pina.cat>
8975
8976 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
8977 * normal/main.c (grub_normal_read_line): Remove a space from the
8978 default prompt.
8979
714af9b9 89802009-12-27 Carles Pina i Estany <carles@pina.cat>
8981
8982 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
8983 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8984 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
8985 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
8986 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8987 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8988 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
8989
82f3e412 89902009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 8991
8992 * video/readers/jpeg.c (cmd): Declare.
8993 (grub_cmd_jpegtest): Use `grub_command_t' type.
8994 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
8995 Assign to `cmd'.
8996 (GRUB_MOD_FINI): Use `cmd' to unregister.
8997 * video/readers/png.c (cmd): Declare.
8998 (grub_cmd_pngtest): Use `grub_command_t' type.
8999 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
9000 Assign to `cmd'.
9001 (GRUB_MOD_FINI): Use `cmd' to unregister.
9002 * video/readers/tga.c (cmd): Declare.
9003 (grub_cmd_tgatest): Use `grub_command_t' type.
9004 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
9005 Assign to `cmd'.
9006 (GRUB_MOD_FINI): Use `cmd' to unregister.
9007
82f3e412 90082009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 9009
9010 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
9011 stops.
9012 * kern/corecmd.c (grub_register_core_commands): Likewise.
9013 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
9014 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
9015 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
9016 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
9017 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
9018 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
9019 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
9020 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
9021 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
9022 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
9023 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
9024 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
9025 * normal/handler.c (insert_handler): Likewise.
9026 * normal/main.c (GRUB_MOD_INIT): Likewise.
9027 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
9028
fdcdbb66 90292009-12-26 Carles Pina i Estany <carles@pina.cat>
9030
9031 * commands/help.c (grub_cmd_help): Print the command name before the
9032 summary.
9033 (GRUB_MOD_INIT): Remove command name from the summary.
9034 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 9035 string as summary.
fdcdbb66 9036 * lib/arg.c (find_long): Print the command name before the summary.
9037 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
9038 summary.
9039 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
9040 * commands/cat.c (GRUB_MOD_INIT): Likewise.
9041 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
9042 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
9043 * commands/crc.c (GRUB_MOD_INIT): Likewise.
9044 * commands/date.c (GRUB_MOD_INIT): Likewise.
9045 * commands/echo.c (GRUB_MOD_INIT): Likewise.
9046 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
9047 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
9048 * commands/handler.c (GRUB_MOD_INIT): Likewise.
9049 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
9050 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
9051 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
9052 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
9053 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
9054 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
9055 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
9056 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
9057 * commands/ls.c (GRUB_MOD_INIT): Likewise.
9058 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
9059 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
9060 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
9061 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
9062 * commands/password.c (GRUB_MOD_INIT): Likewise.
9063 * commands/probe.c (GRUB_MOD_INIT): Likewise.
9064 * commands/read.c (GRUB_MOD_INIT): Likewise.
9065 * commands/search.c (GRUB_MOD_INIT): Likewise.
9066 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
9067 * commands/test.c (GRUB_MOD_INIT): Likewise.
9068 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
9069 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
9070 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
9071 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
9072 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
9073 * lib/arg.c (GRUB_MOD_INIT): Likewise.
9074 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
9075 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
9076 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
9077 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
9078 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
9079 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
9080 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
9081 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
9082
9c288be2
VS
90832009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 Use search command for preliminar UUID search.
9086
9087 * commands/search.c: Split into ...
9088 * commands/search_wrap.c: ...this
9089 * commands/search.c: ...and this.
9090 * commands/search_file.c: New file.
9091 * commands/search_label.c: New file.
9092 * commands/search_uuid.c: New file.
9093 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
9094 Add commands/search_wrap.c, commands/search_file.c,
9095 commands/search_label.c and commands/search_uuid.c.
9096 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
9097 (search_mod_SOURCES): Set to commands/search_wrap.c.
9098 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
9099 search_label.mod.
9100 (search_fs_file_mod_SOURCES): New variable.
9101 (search_fs_file_mod_CFLAGS): Likewise.
9102 (search_fs_file_mod_LDFLAGS): Likewise.
9103 (search_label_mod_SOURCES): Likewise.
9104 (search_label_mod_CFLAGS): Likewise.
9105 (search_label_mod_LDFLAGS): Likewise.
9106 (search_fs_uuid_mod_SOURCES): New variable.
9107 (search_fs_uuid_mod_CFLAGS): Likewise.
9108 (search_fs_uuid_mod_LDFLAGS): Likewise.
9109 (fs_file_mod_SOURCES): Removed.
9110 (fs_file_mod_CFLAGS): Likewise.
9111 (fs_file_mod_LDFLAGS): Likewise.
9112 (fs_uuid_mod_SOURCES): Removed.
9113 (fs_uuid_mod_CFLAGS): Likewise.
9114 (fs_uuid_mod_LDFLAGS): Likewise.
9115 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
9116 Set to util/grub-install.in.
9117 * disk/fs_file.c: Removed.
9118 * disk/fs_uuid.c: Likewise.
9119 * include/grub/search.h: New file.
9120 * util/grub-install.in: Handle sparc64.
9121 Create and use load.cfg.
9122 * util/sparc64/ieee1275/grub-install.in: Removed.
9123
db943399
VS
91242009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
9127 Ignore return status if CF is cleared.
9128 (grub_biosdisk_get_diskinfo_standard): Likewise.
9129
3fdae612
RM
91302009-12-25 Robert Millan <rmh.grub@aybabtu.com>
9131
9132 * term/i386/pc/at_keyboard.c
9133 (keyboard_controller_wait_untill_ready): New function.
9134 (grub_keyboard_controller_write, grub_keyboard_controller_read)
9135 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
9136 for keyboard polling, rather than duplicate the same loop. This
9137 saves a few bytes in code size.
9138
7ebaa2b4
VS
91392009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9140
9141 Support for (pxe[:server[:gateway]]) syntax and
9142 use environment variable for PXE.
9143
9144 * commands/i386/pc/pxecmd.c (options): Removed.
9145 (print_ip): Removed.
9146 (grub_cmd_pxe): Removed
9147 (grub_cmd_pxe_unload): New function.
9148 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
9149 (grub_pxe_your_ip): Made static.
9150 (grub_pxe_default_server_ip): Likewise.
9151 (grub_pxe_default_gateway_ip): Likewise.
9152 (grub_pxe_blksize): Likewise.
9153 (parse_ip): New function.
9154 (grub_pxe_open): Support server and gateway specification.
9155 (grub_pxe_close): Free disk->data.
9156 (grub_pxefs_open): Use disk->data.
9157 (grub_pxefs_read): Likewise.
9158 (grub_env_write_readonly): New function.
9159 (set_mac_env): Likewise.
9160 (set_env_limn_ro): Likewise.
9161 (parse_dhcp_vendor): Likewise.
9162 (grub_pxe_detect): Set the environment variables.
9163 (set_ip_env): New function.
9164 (write_ip_env): Likewise.
9165 (grub_env_write_pxe_default_server): Likewise.
9166 (grub_env_write_pxe_default_gateway): Likewise.
9167 (grub_env_write_pxe_blocksize): Likewise.
9168 (GRUB_MOD_INIT(pxe)): Set environment variables.
9169 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
9170 (grub_pxe_mac_addr_t): ... this. All users updated.
9171 (grub_pxe_your_ip): Removed.
9172 (grub_pxe_server_ip): Likewise.
9173 (grub_pxe_gateway_ip): Likewise.
9174 (grub_pxe_blksize): Likewise.
9175
ec5f98ab 91762009-12-25 Carles Pina i Estany <carles@pina.cat>
9177
9178 * commands/help.c: Include `<grub/i18n.h>'.
9179 (grub_cmd_help): Gettextizze.
9180 (GRUB_MOD_INIT): Likewise.
9181 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
9182 (GRUB_MOD_INIT): Gettextizze.
9183 * commands/search.c: Include `<grub/i18n.h>'.
9184 (options): Gettextizze.
9185 (GRUB_MOD_INIT): Gettextizze.
9186 * lib/arg.c: Include `<grub/i18n.h>'.
9187 (help_options): Gettextizze.
9188 (find_long): Likewise.
9189 (grub_arg_show_help): Likewise.
9190 * normal/dyncmd.c: Include `<grub/i18n.h>'.
9191 (read_command_list): Gettextizze.
9192 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 9193 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 9194
22815526
RM
91952009-12-25 Robert Millan <rmh.grub@aybabtu.com>
9196
9197 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
9198 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
9199 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
9200 (led_status): New variable.
9201 (keyboard_controller_led): New function.
9202 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
9203 update led status for caps lock, num lock and scroll lock.
9204
0ad46fd7
FZ
92052009-12-25 Felix Zielcke <fzielcke@z-51.de>
9206
9207 * util/hostdisk.c (open_device): Fix a comment.
9208
d0e158c2
RM
92092009-12-24 Robert Millan <rmh.grub@aybabtu.com>
9210
9211 * util/grub-install.in (host_os): New variable.
9212 * util/i386/efi/grub-install.in (host_os): Likewise.
9213
401c0ad6
RM
92142009-12-24 Robert Millan <rmh.grub@aybabtu.com>
9215
9216 * util/mkisofs/write.c (padblock_write): Abort when given an
9217 excedingly large embed image, instead of silently truncating it.
9218
d14d3370
RM
92192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
9220
9221 * include/multiboot.h: Indentation fixes.
9222
eeed10b4
RM
92232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
9224
9225 * include/multiboot.h (struct multiboot_aout_symbol_table)
9226 (struct multiboot_elf_section_header_table): New structure
9227 declarations (stolen from GRUB Legacy).
9228 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
9229 table information.
9230
9231 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
9232 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
9233 type aliases.
9234
681c70ab
RM
92352009-12-24 Robert Millan <rmh.grub@aybabtu.com>
9236
9237 * include/multiboot.h: Make comments src2texi-friendly.
9238
e4d47d8d
RM
92392009-12-24 Robert Millan <rmh.grub@aybabtu.com>
9240
9241 For consistency with [multiboot]/docs/boot.S.
9242
9243 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
9244 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
9245 (MULTIBOOT_MAGIC2): Rename from this ...
9246 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
9247
a0b70bda
RM
92482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
9249
9250 * include/multiboot.h: Remove `<grub/types.h>'.
9251 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
9252 types. Update all users.
9253
61ba42be 92542009-12-25 Carles Pina i Estany <carles@pina.cat>
9255
9256 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
9257 `couldn't' and `can not' by `cannot'.
9258 * commands/i386/pc/drivemap.c: Likewise.
9259 * disk/ata.c: Likewise.
9260 * disk/ieee1275/nand.c: Likewise.
9261 * fs/affs.c: Likewise.
9262 * fs/fat.c: Likewise.
9263 * fs/hfs.c: Likewise.
9264 * fs/hfsplus.c: Likewise.
9265 * fs/iso9660.c: Likewise.
9266 * fs/jfs.c: Likewise.
9267 * fs/minix.c: Likewise.
9268 * fs/reiserfs.c: Likewise.
9269 * fs/sfs.c: Likewise.
9270 * fs/udf.c: Likewise.
9271 * fs/ufs.c: Likewise.
9272 * fs/xfs.c: Likewise.
9273 * loader/powerpc/ieee1275/linux.c: Likewise.
9274 * loader/sparc64/ieee1275/linux.c: Likewise.
9275 * util/grub-probe.c: Likewise.
9276 * util/misc.c: Likewise.
9277
7fd0baee 92782009-12-24 Carles Pina i Estany <carles@pina.cat>
9279
9280 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
9281 grub_errno calls.
9282 * commands/acpi.c: Likewise.
9283 * commands/blocklist.c: Likewise.
9284 * commands/efi/loadbios.c: Likewise.
9285 * commands/i386/pc/drivemap.c: Likewise.
9286 * commands/loadenv.c: Likewise.
9287 * commands/memrw.c: Likewise.
9288 * commands/password.c: Likewise.
9289 * commands/videotest.c: Likewise.
9290 * disk/ata.c: Likewise.
9291 * disk/ata_pthru.c: Likewise.
9292 * disk/dmraid_nvidia.c: Likewise.
9293 * disk/ieee1275/nand.c: Likewise.
9294 * disk/ieee1275/ofdisk.c: Likewise.
9295 * disk/loopback.c: Likewise.
9296 * disk/lvm.c: Likewise.
9297 * disk/mdraid_linux.c: Likewise.
9298 * disk/raid.c: Likewise.
9299 * disk/raid6_recover.c: Likewise.
9300 * disk/scsi.c: Likewise.
9301 * efiemu/main.c: Likewise.
9302 * efiemu/mm.c: Likewise.
9303 * efiemu/pnvram.c: Likewise.
9304 * efiemu/symbols.c: Likewise.
9305 * font/font.c: Likewise.
9306 * fs/cpio.c: Likewise.
9307 * fs/hfsplus.c: Likewise.
9308 * fs/iso9660.c: Likewise.
9309 * fs/jfs.c: Likewise.
9310 * fs/minix.c: Likewise.
9311 * fs/ntfs.c: Likewise.
9312 * fs/ntfscomp.c: Likewise.
9313 * fs/reiserfs.c: Likewise.
9314 * fs/ufs.c: Likewise.
9315 * fs/xfs.c: Likewise.
9316 * gettext/gettext.c: Likewise.
9317 * include/grub/auth.h: Likewise.
9318 * kern/elf.c: Likewise.
9319 * kern/file.c: Likewise.
9320 * kern/ieee1275/init.c: Likewise.
9321 * kern/ieee1275/mmap.c: Likewise.
9322 * kern/ieee1275/openfw.c: Likewise.
9323 * kern/powerpc/dl.c: Likewise.
9324 * kern/sparc64/dl.c: Likewise.
9325 * lib/arg.c: Likewise.
9326 * loader/i386/bsd.c: Likewise.
9327 * loader/i386/bsdXX.c: Likewise.
9328 * loader/i386/efi/linux.c: Likewise.
9329 * loader/i386/efi/xnu.c: Likewise.
9330 * loader/i386/ieee1275/linux.c: Likewise.
9331 * loader/i386/linux.c: Likewise.
9332 * loader/i386/multiboot.c: Likewise.
9333 * loader/i386/pc/linux.c: Likewise.
9334 * loader/i386/pc/multiboot2.c: Likewise.
9335 * loader/i386/xnu.c: Likewise.
9336 * loader/ieee1275/multiboot2.c: Likewise.
9337 * loader/macho.c: Likewise.
9338 * loader/machoXX.c: Likewise.
9339 * loader/multiboot2.c: Likewise.
9340 * loader/multiboot_loader.c: Likewise.
9341 * loader/powerpc/ieee1275/linux.c: Likewise.
9342 * loader/sparc64/ieee1275/linux.c: Likewise.
9343 * loader/xnu.c: Likewise.
9344 * loader/xnu_resume.c: Likewise.
9345 * mmap/i386/pc/mmap.c: Likewise.
9346 * normal/menu_viewer.c: Likewise.
9347 * partmap/acorn.c: Likewise.
9348 * partmap/amiga.c: Likewise.
9349 * partmap/apple.c: Likewise.
9350 * script/lexer.c: Likewise.
9351 * term/gfxterm.c: Likewise.
9352 * term/i386/pc/serial.c: Likewise.
9353 * term/i386/pc/vga.c: Likewise.
9354 * term/ieee1275/ofconsole.c: Likewise.
9355 * term/terminfo.c: Likewise.
9356 * video/bitmap.c: Likewise.
9357 * video/efi_gop.c: Likewise.
9358 * video/efi_uga.c: Likewise.
9359 * video/fb/video_fb.c: Likewise.
9360 * video/i386/pc/vbe.c: Likewise.
9361 * video/readers/tga.c: Likewise.
9362 * video/video.c: Likewise.
9363
0ad46fd7 93642009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
9365
9366 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
9367 * commands/lspci.c: Likewise.
9368 * commands/probe.c: Likewise.
9369 * commands/xnu_uuid.c: Likewise.
9370 * conf/i386-coreboot.rmk: Likewise.
9371 * conf/i386-efi.rmk: Likewise.
9372 * conf/i386-ieee1275.rmk: Likewise.
9373 * conf/i386-pc.rmk: Likewise.
9374 * conf/powerpc-ieee1275.rmk: Likewise.
9375 * conf/sparc64-ieee1275.rmk: Likewise.
9376 * conf/x86_64-efi.rmk: Likewise.
9377 * fs/i386/pc/pxe.c: Likewise.
9378 * gettext/gettext.c: Likewise.
9379 * include/grub/efi/graphics_output.h: Likewise.
9380 * include/grub/i386/pc/memory.h: Likewise.
9381 * kern/env.c: Likewise.
9382 * kern/i386/qemu/startup.S: Likewise.
9383 * lib/i386/pc/biosnum.c: Likewise.
9384 * lib/i386/relocator.c: Likewise.
9385 * lib/i386/relocator_asm.S: Likewise.
9386 * lib/relocator.c: Likewise.
9387 * loader/i386/bsd.c: Likewise.
9388 * loader/i386/multiboot.c: Likewise.
9389 * loader/i386/pc/chainloader.c: Likewise.
9390 * loader/i386/xnu.c: Likewise.
9391 * loader/xnu.c: Likewise.
9392 * normal/main.c: Likewise.
9393 * normal/menu_text.c: Likewise.
9394 * util/getroot.c: Likewise.
9395 * util/grub-mkconfig_lib.in: Likewise.
9396 * util/grub.d/00_header.in: Likewise.
9397 * util/i386/pc/grub-mkimage.c: Likewise.
9398 * util/mkisofs/eltorito.c: Likewise.
9399 * util/mkisofs/exclude.h: Likewise.
9400 * util/mkisofs/hash.c: Likewise.
9401 * util/mkisofs/iso9660.h: Likewise.
9402 * util/mkisofs/joliet.c: Likewise.
9403 * util/mkisofs/mkisofs.c: Likewise.
9404 * util/mkisofs/mkisofs.h: Likewise.
9405 * util/mkisofs/multi.c: Likewise.
9406 * util/mkisofs/name.c: Likewise.
9407 * util/mkisofs/rock.c: Likewise.
9408 * util/mkisofs/tree.c: Likewise.
9409 * util/mkisofs/write.c: Likewise.
9410 * video/efi_gop.c: Likewise.
9411
009ec743
VS
94122009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
9415 size counting.
9416
0ad46fd7 94172009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
9418
9419 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
9420 * genmk.rb (class SCRIPT): Modify the target file instead of source.
9421
d3d30ea0
VS
94222009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
9425 (GRUB_MOD_INIT(memrw)): Update help line.
9426
a34f5c70
VS
94272009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
9430 Use grub_extcmd_t. All users updated.
9431 (options): New variable.
9432 (grub_cmd_read): Restructure for readability. Support "-v" option.
9433 (grub_cmd_write): Restructure for readability.
9434
0ad46fd7 94352009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
9436
9437 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
9438
0ad46fd7 94392009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
9440
9441 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
9442 with the actual contents of the correspondending make variable.
9443 * util/grub-mkrescue.in (pkglib_DATA): New variable.
9444 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
9445 specifying `*.lst' and `efiemu??.o'
9446
0ad46fd7 94472009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
9448
9449 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
9450 after function name.
9451 Noticed by Rene Engelhard <rene@debian.org>.
9452
dc77a799
VS
94532009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
9456 (options): New variable.
9457 (iospace): Likewise.
9458 (grub_lspci_iter): List IO spaces if "-i" was given.
9459 (grub_cmd_lspci): Parse options.
9460 (GRUB_MOD_INIT(lspci)): Use extcmd.
9461 (GRUB_MOD_FINI(lspci)): Likewise.
9462
0ad46fd7 94632009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
9464
9465 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
9466 `function' keyword.
9467 Patch by Tony Mancill <tmancill@debian.org>.
9468
b5d5993b
VS
94692009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
9472 (grub_uhci_portstatus): Likewise.
9473 (grub_uhci_portstatus): Add necessary delay.
11d18281 9474 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 9475
941903f2 94762009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 9477
941903f2 9478 * commands/acpi.c (options): Fix capitalizations and/or full stops.
9479 (GRUB_MOD_INIT): Likewise.
9480 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 9481 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
9482 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 9483 * commands/efi/loadbios.c (enable_rom_area): Likewise.
9484 (enable_rom_area): Likewise.
9485 (GRUB_MOD_INIT): Likewise.
9486 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
9487 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
9488 * commands/handler.c (GRUB_MOD_INIT): Likewise.
9489 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
9490 * commands/hexdump.c (options): Likewise.
9491 * commands/i386/cpuid.c (options): Likewise.
9492 (GRUB_MOD_INIT): Likewise.
9493 * commands/i386/pc/drivemap.c (options): Likewise.
9494 (GRUB_MOD_INIT): Likewise.
9495 * commands/i386/pc/halt (options): Likewise.
9496 (GRUB_MOD_INIT): Likewise.
9497 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
9498 * commands/i386/pc/pxecmd.c (options): Likewise.
9499 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
9500 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
9501 * commands/keystatus.c (options): Likewise.
9502 (GRUB_MOD_INIT): Likewise.
9503 * commands/loadenv.c (options): Likewise.
9504 * commands/ls.c (options): Likewise.
9505 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
9506 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
9507 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
9508 * commands/parttool.c (helpmsg): Likewise.
9509 * commands/probe.c (options): Likewise.
9510 * commands/read.c (GRUB_MOD_INIT): Likewise.
9511 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
9512 * commands/search.c (options): Likewise.
9513 * commands/sleep.c (options): Likewise.
9514 * commands/test.c (GRUB_MOD_INIT): Likewise.
9515 * commands/true.c (GRUB_MOD_INIT): Likewise.
9516 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
9517 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
9518 * lib/arg.c (help_options): Likewise.
e9bbb4e7 9519 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
9520 `$(XGETTEXT)'.
98a50553 9521 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 9522
0ad46fd7 95232009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 9524
ef3c2c3a 9525 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
9526 instead of specifying them explicit.
9527
7922f68b
RM
95282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9529
9530 * NEWS: Add grub-probe support for GNU/Hurd.
9531
537ce47f
RM
95322009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9533
9534 * NEWS: gettext was added after 1.97.
9535
9b214e3a
RM
95362009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9537
9538 * util/mkisofs/msdos_partition.h: New file (based on
9539 include/grub/msdos_partition.h).
9540 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
9541 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
9542 (ld_options, main): Recognize --protective-msdos-label.
9543 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
9544 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
9545 (padblock_write): If `use_protective_msdos_label' is set, patch a
9546 protective DOS-style label in the output image.
9547
9548 * util/grub-mkrescue.in: Use --protective-msdos-label.
9549
e9309813
RM
95502009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9551
9552 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
9553 boot.
9554
0ae56929
RM
95552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9556
9557 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
9558 variables.
9559 (ld_options, main): Recognize `--embedded-boot'.
9560 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
9561 declarations.
9562 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
9563 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
9564 (padblock_write): Likewise. Rewrite to support embedded boot image.
9565
9566 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
9567 for BIOS-based disk boot instead of only ElTorito.
9568
b15937b1
RM
95692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9570
9571 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
9572 build (not needed for bootstrap).
9573
52cc3ce0
RM
95742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9575
9576 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
9577 from i386-pc build (not needed for bootstrap).
9578 Rewrite a pair of strings.
9579
36f5ff04
RM
95802009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9581
9582 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
9583
973c6c85 95842009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
9585
9586 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
9587
05d21547
AB
95882009-12-21 Andreas Born <futur.andy@googlemail.com>
9589
9590 * kern/env.c (grub_env_context_open): Mark exported variable for
9591 reexport.
9592
0175d51f
AB
95932009-12-21 Andreas Born <futur.andy@googlemail.com>
9594
9595 * kern/env.c (grub_env_export): Create nonexistent variables before
9596 exporting.
9597
7f39d92f 95982009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 9599
7f39d92f 9600 * include/grub/auth.h: Include `<grub/i18n.h>'.
9601 (GRUB_GET_PASSWORD): Gettextizze string.
9602 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
9603 menu_text.c.
9604 (grub_utf8_to_ucs4_alloc): Fix indentation.
9605 (grub_print_ucs4): Likewise.
9606 (grub_getstringwidth): Likewise.
9607 (print_message_indented): New declaration.
9608 * normal/auth.c: Include `<grub/i18n.h>'.
9609 (grub_auth_check_authentication): Gettexttize string.
9610 * normal/cmdline.c: Include `<grub/i18n.h>'.
9611 (grub_cmdline_get): Gettextizze.
9612 * normal/color.c: Include `<grub/i18n.h>'.
9613 (grub_parse_color_name_pair): Gettexttize strings.
9614 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
9615 string (use `print_message_indented').
9616 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
9617 `include/grub/normal.h'.
9618 (print_message_indented): Renamed to ...
9619 (grub_print_message_indented): ... this. Remove `static' qualifer (now
9620 used in normal/main.c).
9621 (print_message): Use `grub_print_message_indented' instead of
9622 `print_message_indented'.
9623 (print_timeout): Likewise.
9624 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
9625 (grub_normal_print_device_info): Gettexttize strings.
9626 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
9627
3041d898
VS
96282009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
9631 of arguments. Return number of tokens and not arguments. All users
9632 updated.
9633
de15bf8e
VS
96342009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
9637 non-MSDOS paritions.
9638
e0a6ca52
VS
96392009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 * include/grub/types.h (UNUSED): Removed since it conflicts with
9642 NetBSD headers. All users changed to direct __attribute__ ((unused)).
9643 Reported by Grégoire Sutre.
9644
b99518d1 96452009-12-19 Carles Pina i Estany <carles@pina.cat>
9646
9647 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
9648 (grub_print_ucs4_alloc): Likewise.
9649 (grub_getstringwidth): Likewise.
9650 * normal/main.c (grub_normal_init_page): Gettextize version string.
9651 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
9652 (getstringwidth): Renamed to ...
9653 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
9654 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
9655 (grub_print_ucs4): Remove `static' qualifer (now used in
9656 normal/main.c).
9657 * po/POTFILES: Add normal/main.c.
9658
bfd5e52b 96592009-12-19 Carles Pina i Estany <carles@pina.cat>
9660
9661 * normal/menu_text.c (STANDARD_MARGIN): New macro.
9662 (print_message_indented): Add `margin_left' and `margin_right'
9663 parameters.
9664 (print_message): Update `print_message_indented' calls. Adds '\n' to the
9665 strings.
9666 (print_timeout): Use `print_message_indented' to print the message.
9667 Deletes `second_stage' parameter.
9668 (run_menu): Update `print_timeout' calls.
9669
5a1ad2b9
VS
96702009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 Fix console palette on OpenFirmware.
9673
9674 * term/ieee1275/ofconsole.c (MAX): Removed.
9675 (colors): Redone based on VGA palette.
9676 (grub_ofconsole_setcolor): Discard brightness bit since only 8
9677 colors are supported.
9678 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
9679
b045f00a
VS
96802009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 Fix potential EfiEmu double prepare.
9683
9684 * efiemu/main.c (prepared): New variable
9685 (grub_efiemu_unload): Set prepare to '0'.
9686 (grub_efiemu_prepare): Return if already prepared. Set prepared.
9687
9688 set_virtual_address_map support.
9689
9690 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
9691 prototype.
9692 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
9693 prototype.
9694 (grub_efiemu_crc32): Likewise.
9695 (grub_efiemu_crc64): Likewise.
9696 (grub_efiemu_set_virtual_address_map): Likewise.
9697 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
9698 New definition.
9699 (grub_autoefi_set_virtual_address_map): Likewise.
9700 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
9701 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
9702 Restructure flow to accomodate it.
9703 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
9704 (grub_efiemu_crc): Recompute CRC32.
9705 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
9706 (efiemu_ptv_relocated): ... this. Made global. All users updated.
9707 * efiemu/symbols.c (relocated_handle): New variable.
9708 (grub_efiemu_free_syms): Free relocated_handle.
9709 (grub_efiemu_alloc_syms): Allocate relocated_handle.
9710 (grub_efiemu_write_sym_markers): New function.
9711 (grub_efiemu_set_virtual_address_map): Likewise.
9712
9713 Newer XNU parameters.
9714
9715 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
9716 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
9717 (grub_xnu_fill_devicetree): New prototype.
9718 (grub_xnu_heap_real_start): New variable.
9719 * loader/xnu.c (get_name_ptr): New function.
9720 (grub_xnu_load_driver): Fill namelen and name.
9721
9722 64-bit xnu support.
9723
9724 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
9725 and 'loader/macho64.c'.
9726 * conf/i386-pc.rmk: Likewise.
9727 * conf/x86_64-efi.rmk: Likewise.
9728 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
9729 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
9730 * include/grub/macho.h (grub_macho_segment64): New structure.
9731 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
9732 (grub_macho_size32): ... to this.
9733 (grub_macho32_get_entry_point): Renamed from ...
9734 (grub_macho_get_entry_point32): ... to this.
9735 (grub_macho_contains_macho64): New prototype.
9736 (grub_macho_size64): Likewise.
9737 (grub_macho_get_entry_point64): Likewise.
9738 (grub_macho32_load): Renamed from ...
9739 (grub_macho_load32): ... to this.
9740 (grub_macho32_filesize): Renamed from ...
9741 (grub_macho_filesize32): ... to this.
9742 (grub_macho32_readfile): Renamed from ...
9743 (grub_macho_readfile32): ... to this.
9744 (grub_macho_filesize64): New prototype.
9745 (grub_macho_readfile64): Likewise.
9746 (grub_macho_parse32): Likewise.
9747 (grub_macho_parse64): Likewise.
9748 * loader/macho.c: Split into ...
9749 * loader/machoXX.c: ... and this. Replace 32 with XX.
9750 * loader/macho32.c: New file.
9751 * loader/macho64.c: Likewise.
9752 * loader/xnu.c (grub_xnu_is_64bit): New variable.
9753 (grub_cmd_xnu_kernel): Make 32-bit only.
9754 (grub_cmd_xnu_kernel64): New function.
9755 (grub_xnu_load_driver): Support Mach-O 64.
9756 (grub_cmd_xnu_mkext): Likewise.
9757 * util/grub.d/30_os-prober.in (osx_entry): New function.
9758 Generate entries for 64-bit boot too.
9759
9760 Eliminate ad-hoc tree format in XNU and EfiEmu.
9761
9762 * efiemu/main.c (grub_efiemu_prepare): Update comment.
9763 * efiemu/pnvram.c: Rewritten to use environment variables.
9764 All users updated.
9765
9766 Inline utf16_to_utf8.
9767
9768 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
9769 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
9770 All users updated.
9771 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
9772
9773 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
9774 * commands/usbtest.c (grub_usb_get_string): ... move here.
9775 (usb_print_str): Fix error handling.
9776 * include/grub/usb.h (grub_usb_get_string): Remove.
9777
9778 UTF-8 to UTF-16 transformation.
9779
9780 * conf/common.rmk (pkglib_MODULES): Add charset.mod
9781 (charset_mod_SOURCES): New variable.
9782 (charset_mod_CFLAGS): Likewise.
9783 (charset_mod_LDFLAGS): Likewise.
9784 * include/grub/utf.h: New file.
9785 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
9786
9787 Support for device properties.
9788
9789 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
9790 (grub_xnu_devprop_device_header): Likewise.
9791 (grub_xnu_devprop_device_descriptor): Likewise.
9792 (grub_xnu_devprop_add_device): New prototype.
9793 (grub_xnu_devprop_remove_device): Likewise.
9794 (grub_xnu_devprop_remove_property): Likewise.
9795 (grub_xnu_devprop_add_property_utf8): Likewise.
9796 (grub_xnu_devprop_add_property_utf16): Likewise.
9797 (grub_cpu_xnu_init): Likewise.
9798 (grub_cpu_xnu_fini): Likewise.
9799 (grub_cpu_xnu_unload): Likewise.
9800 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
9801 (property_descriptor): Likewise.
9802 (devices): New variable.
9803 (grub_xnu_devprop_remove_property): New function.
9804 (grub_xnu_devprop_add_device): Likewise.
9805 (grub_xnu_devprop_remove_device): Likewise.
9806 (grub_xnu_devprop_add_property): Likewise.
9807 (grub_xnu_devprop_add_property_utf8): Likewise.
9808 (grub_xnu_devprop_add_property_utf16): Likewise.
9809 (hextoval): Likewise.
9810 (grub_cpu_xnu_fill_devprop): Likewise.
9811 (grub_cmd_devprop_load): Likewise.
9812 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
9813 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
9814 (cmd_devprop_load): New variable.
9815 (grub_cpu_xnu_init): New function.
9816 (grub_cpu_xnu_fini): Likewise.
9817 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
9818 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
9819 (grub_cmd_xnu_devtree): Likewise.
9820 (hextoval): New function.
9821 (unescape): Likewise.
9822 (grub_xnu_fill_devicetree): Likewise.
9823
9824 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
9825 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
9826
0945f181
VS
98272009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9828
9829 Workaround for broken ATI VBE.
9830
9831 * video/i386/pc/vbe.c (last_set_mode): New variable.
9832 (grub_vbe_set_video_mode): Set 'last_set_mode'.
9833 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
9834 (grub_video_vbe_setup): Don't check for reserved flag.
9835
0ad46fd7 98362009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
9837
9838 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
9839 the `find' command.
9840
c179ebe4
VS
98412009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 UUID support for HFS.
9844
9845 * fs/hfs.c (grub_hfs_uuid): New function.
9846 (grub_hfs_fs): New value .uuid.
9847 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
9848
0ad46fd7 98492009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
9850
9851 Fix a segfault with parsing unknown long options.
9852
9853 * util/grub-mkrelpath.c (options): Zero terminate it.
9854
c4a3e41a
CPE
98552009-12-13 Carles Pina i Estany <carles@pina.cat>
9856
9857 * include/grub/misc.h (grub_puts): New declaration.
9858 (grub_puts_): Likewise.
a22008a6 9859 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
9860 (grub_puts_): Likewise.
9861
2e8a7602
RM
98622009-12-13 Robert Millan <rmh.grub@aybabtu.com>
9863
9864 * util/grub-probe.c (probe): Improve error message.
9865
b50b77b9
RM
98662009-12-13 Robert Millan <rmh.grub@aybabtu.com>
9867
9868 * loader/i386/multiboot_elfxx.c
9869 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
9870 initialization.
9871
98722009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 Relocator framework
9875
9876 * loader/i386/xnu_helper.S: Removed. All users updated.
9877 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
9878 (relocator_mod_SOURCES): New variable.
9879 (relocator_mod_CFLAGS): Likewise.
9880 (relocator_mod_LDFLAGS): Likewise.
9881 (relocator_mod_ASFLAGS): Likewise.
9882 * conf/x86_64.rmk: Likewise.
9883 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
9884 (grub_multiboot_payload_entry_offset): Likewise.
9885 (grub_multiboot_forward_relocator): Likewise.
9886 (grub_multiboot_forward_relocator_end): Likewise.
9887 (grub_multiboot_backward_relocator): Likewise.
9888 (grub_multiboot_backward_relocator_end): Likewise.
9889 (grub_multiboot_payload_eip): New variable.
9890 (grub_multiboot_payload_orig): Likewise.
9891 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
9892 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
9893 * include/grub/i386/memory.h
9894 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
9895 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
9896 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
9897 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
9898 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
9899 * include/grub/i386/relocator.h: New file.
9900 * include/grub/x86_64/relocator.h: Likewise.
9901 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
9902 (XNU_RELOCATOR): New macro.
9903 (grub_xnu_launcher_start): Remove.
9904 (grub_xnu_launcher_end): Likewise.
9905 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
9906 (grub_xnu_heap_real_start): Remove.
9907 (grub_xnu_heap_start): Change to void *. All users updated.
9908 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
9909 * lib/i386/relocator.c: New file.
9910 * lib/i386/relocator_asm.S: Likewise.
9911 * lib/i386/relocator_backward.S: Likewise.
9912 * lib/mips/relocator.c: Likewise.
9913 * lib/mips/relocator_asm.S: Likewise.
9914 * lib/relocator.c: Likewise.
9915 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
9916 (entry): Removed.
9917 (playground): Likewise.
9918 (grub_multiboot_payload_orig): New variable.
9919 (grub_multiboot_payload_dest): Likewise.
9920 (grub_multiboot_payload_size): Likewise.
9921 (grub_multiboot_payload_eip): Likewise.
9922 (grub_multiboot_payload_esp): Likewise.
9923 (grub_multiboot_boot): Use grub_relocator32_boot.
9924 (grub_multiboot_unload): Free relocators.
9925 (grub_multiboot): Setup stack. Use relocators.
9926 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
9927 (grub_multiboot_load_elfXX): Use relocators.
9928 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
9929 (grub_multiboot_payload_size): Likewise.
9930 (grub_multiboot_payload_dest): Likewise.
9931 (grub_multiboot_payload_entry_offset): Likewise.
9932 (grub_multiboot_forward_relocator): Likewise.
9933 (grub_multiboot_backward_relocator): Likewise.
9934 (grub_multiboot_real_boot): Likewise.
9935 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
9936 (grub_xnu_entry_point): Likewise.
9937 (grub_xnu_arg1): Likewise.
9938 (grub_xnu_stack): Likewise.
9939 (grub_xnu_launch): Removed.
9940 (grub_xnu_boot_resume): New function.
9941 (grub_xnu_boot): Use relocators.
9942 * loader/i386/xnu_helper.S: Removed.
9943 * loader/xnu.c (grub_xnu_heap_start): New variable.
9944 (grub_xnu_heap_size): Likewise.
9945 (grub_xnu_heap_malloc): Use relocators.
9946 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
9947
29eb90c6
VS
99482009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9949
9950 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
9951 anything.
9952
31027430
CPE
99532009-12-13 Carles Pina i Estany <carles@pina.cat>
9954
9955 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
9956 GRUB_ERR_NONE before calling grub_env_set.
9957
dc0c71d9
RM
99582009-12-12 Robert Millan <rmh@aybabtu.com>
9959
9960 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
9961 * genmk.rb (video): New variable.
9962 (CLEANFILES, VIDEOFILES): Add #{video}.
9963 (#{video}): New target rule.
9964 * genvideolist.sh: New file.
9965 * Makefile.in (pkglib_DATA): Add video.lst.
9966 (video.lst): New target rule.
9967 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
9968 `video.lst'.
9969 * util/grub.d/30_os-prober.in: Replace `vbe' with
9970 ${GRUB_VIDEO_BACKEND}.
9971
2a4bfcf0
RM
99722009-12-11 Robert Millan <rmh.grub@aybabtu.com>
9973
9974 * THANKS: Add David Miller.
9975
2a3aa4d5
RM
99762009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
9977
9978 libpciaccess support.
9979
9980 * Makefile.in (LIBPCIACCESS): New variable.
9981 (enable_grub_emu_pci): Likewise.
9982 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
9983 util/pci.c and commands/lspci.c.
9984 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
9985 * configure.ac (grub-emu-pci): New option.
9986 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
9987 (grub_pci_device_unmap_range): Likewise.
9988 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
9989 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
9990 (grub_pci_address_t) [!GRUB_UTIL]: New type.
9991 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
9992 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
9993 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
9994 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
9995 * include/grub/pciutils.h: New file.
9996 * util/pci.c: Likewise.
9997
0ad46fd7 99982009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
9999
10000 * util/misc.c: Don't include <errno.h> twice.
10001
0ad46fd7 100022009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
10003
10004 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
10005 name in an error message.
10006 (grub_biosdisk_rw): Likewise.
10007
2e59983c
VS
100082009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 Eliminate NTFS 4Gib barrier.
10011
10012 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
10013 (read_run_data): Likewise.
10014 (grub_ntfs_read_run_list): Likewise.
10015 (grub_ntfs_read_block): Likewise.
10016 (grub_ntfs_iterate_dir): Likewise.
10017 (read_mft): Likewise.
10018 (read_data): Likewise.
10019 Use COM_LOG_LEN.
10020 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
10021 to avoid 64-bit division
10022 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
10023 (grub_ntfs_rlst): Use grub_disk_addr_t.
10024
71ee178a
VS
100252009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
10026
10027 Eliminate grub-fstest 4Gib barrier.
10028
10029 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
10030 (read_file): Fix error reporting.
10031
2520d4b8
VS
100322009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 Eliminate hexdump 4Gib barrier.
10035
10036 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
10037 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
10038
e1f27065
VS
100392009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
10042 Fixes amarsh bug.
10043
1a0f7f45
RM
100442009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
10045
10046 Remove miscellaneous files in distclean target.
10047
10048 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
10049
c631d9fb
CW
100502009-12-09 Colin Watson <cjwatson@ubuntu.com>
10051
10052 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
10053 if they're already set. This resolves the conflict between my
10054 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
10055 fixing the --grub-probe option again.
10056 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
10057 change on 2009-10-06, so that we now once again source
10058 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
10059
7c7b6106
RM
100602009-12-08 Robert Millan <rmh.grub@aybabtu.com>
10061
10062 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
10063 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
10064 `util/devicemap.c'.
10065
e3069ec1
CPE
100662009-12-08 Carles Pina i Estany <carles@pina.cat>
10067
10068 * include/grub/misc.h (grub_printf_): New declaration.
10069 * kern/misc.c (grub_printf_): New definition.
10070 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
10071 instead of `grub_printf' and `_'.
10072 * normal/menu_entry.c (store_completion): Likewise.
10073 (run): Likewise.
10074 (grub_menu_entry_run): Likewise.
10075 * normal/menu_text.c (grub_wait_after_message): Likewise.
10076 (notify_booting): Likewise.
10077 (notify_fallback): Likewise.
10078 (notify_execution_failure): Likewise.
10079
d6ceebf1
CW
100802009-12-07 Colin Watson <cjwatson@ubuntu.com>
10081
10082 * configure.ac: Check for vasprintf.
10083 * util/misc.c (asprintf): Move allocation from here ...
10084 (vasprintf): ... to here. New function.
10085 (xasprintf): New function.
10086 * include/grub/util/misc.h (vasprintf, xasprintf): Add
10087 prototypes.
10088 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
10089 * util/grub-mkfont.c (write_font): Likewise.
10090 * util/grub-probe.c (probe): Likewise.
10091 * util/hostdisk.c (make_device_name): Likewise.
10092
de6daa8b
DM
100932009-12-06 David S. Miller <davem@sunset.davemloft.net>
10094
10095 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
10096 anything even prefixed with 'cdrom' as a cdrom.
10097
0ad46fd7 100982009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
10099
10100 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
10101 mount points.
10102
98d3dc02
CPE
101032009-12-05 Carles Pina i Estany <carles@pina.cat>
10104
10105 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
10106 grub_gettext_msg_list.
10107 (grub_gettext_gettranslation_from_position): Return const char *
10108 and not char *.
a2c1332b 10109 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
10110 returns from the list if existing there.
10111 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
10112 (grub_gettext_delete_list): Delete the list.
10113 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
10114 lang environment variable is changed.
10115 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
10116
b283f108
VS
101172009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 Rename kernel.mod to kernel.img.
10120
10121 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
10122 (kernel_mod_EXPORTS): Rename to ...
10123 (kernel_img_EXPORTS): ... this.
10124 (kernel_mod_SOURCES): Rename to ...
10125 (kernel_img_SOURCES): ... this.
10126 (kernel_mod_HEADERS): Rename to ...
10127 (kernel_img_HEADERS): ... this. All users updated.
10128 (kernel_mod_CFLAGS): Rename to ...
10129 (kernel_img_CFLAGS): ... this.
10130 (kernel_mod_ASFLAGS): Rename to ...
10131 (kernel_img_ASFLAGS): ... this.
10132 (kernel_mod_LDFLAGS): Rename to ...
10133 (kernel_img_LDFLAGS): ... this.
10134 * conf/x86_64-efi.rmk: Likewise.
10135 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
10136 (read_kernel_image): ... this. All users updated.
10137 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
10138
69055f8a
CPE
101392009-12-05 Carles Pina i Estany <carles@pina.cat>
10140
10141 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
10142 (print_spaces): New function.
10143 (grub_print_ucs4): New function.
10144 (getstringwidth): New function.
10145 (print_message_indented): New function.
10146 (print_message): Gettexttize strings using print_message_indented.
10147 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
10148 width.
10149 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 10150 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
10151 Gettextize.
10152 * normal/menu_entry.c (store_completion): Cleanup the gettextized
10153 string.
10154 (run): Likewise.
10155 (grub_menu_entry_run): Likewise.
10156 * PO/POTFILES: Add normal/menu_entry.c.
10157
f616f51c
VS
101582009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
10161
57bbe3be
CPE
101622009-12-05 Carles Pina i Estany <carles@pina.cat>
10163
10164 * util/grub-install.in: Install gettext .mo files.
10165 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
10166
013d67a1
CPE
101672009-12-05 Carles Pina i Estany <carles@pina.cat>
10168
10169 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
10170 grub_dprintf.
10171
fb954db0
RM
101722009-12-05 Robert Millan <rmh.grub@aybabtu.com>
10173
10174 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
10175 non-firmware-dependant one in realmode.S takes precedence.
10176
6b8474f8
RM
101772009-12-04 Robert Millan <rmh.grub@aybabtu.com>
10178
10179 * commands/halt.c: Replace misc arch-specific headers with
10180 `<grub/misc.h>'.
10181 * commands/reboot.c: Likewise.
10182 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
10183 `<grub/misc.h>'.
10184 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
10185 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
10186 (kernel_img_SOURCES): ... to here.
10187
10188 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
10189 * include/grub/i386/pc/init.h: Likewise.
10190 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
10191 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
10192
10193 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
10194
10195 * include/grub/i386/halt.h: Remove.
10196 * include/grub/i386/reboot.h: Likewise.
10197
10198 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
10199
4b2e6ca2
DM
102002009-12-03 David S. Miller <davem@sunset.davemloft.net>
10201
10202 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
10203 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
10204 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
10205 "progname.h"
10206 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
10207 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10208 (usage): Add missing comma in printf.
10209
5239348f
RM
102102009-12-02 Robert Millan <rmh.grub@aybabtu.com>
10211
10212 Use the same reboot approach on i386 coreboot and qemu as we do on
10213 BIOS.
10214
10215 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
10216 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
10217 * kern/i386/reboot.c: Remove.
10218 * include/grub/i386/reboot.h (grub_reboot): Export function.
10219 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
10220 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
10221 0xf000:0xfff0 instead of 0xffff:0x0000.
10222 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
10223 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
10224
ef34cbd4
RM
102252009-11-30 Robert Millan <rmh.grub@aybabtu.com>
10226
10227 Fix $srcdir != $objdir build.
10228
10229 * Makefile.in (po/%.po): Rewrite as ...
10230 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
10231
dc9837ea
ST
102322009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
10233
10234 Fix GNU/Hurd grub-install crash.
10235 * util/grub-probe.c (probe): Try to access `path' only when it is not
10236 NULL.
10237
2f857f98
VS
102382009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
10239
10240 Correct module naming.
10241
10242 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
10243 (GRUB_MOD_INIT(efi_uga)): ... to this
10244 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
10245 (GRUB_MOD_FINI(efi_uga)): ... to this
10246 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
10247 (GRUB_MOD_INIT(efi_gop)): ... to this
10248 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
10249 (GRUB_MOD_FINI(efi_gop)): ... to this
10250
c5448046
RM
102512009-11-28 Robert Millan <rmh.grub@aybabtu.com>
10252
10253 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
10254 translatable.
10255 (usage): Translate `arg' strings using gettext().
10256 Thanks to Jordi Mallach for the suggestion.
10257
c85184ad
VS
102582009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
10259
10260 GOP support. Based on patch from Bean
10261 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
10262
10263 * video/efi_gop.c: New file.
10264 * include/grub/efi/graphics_output.h: Likewise.
10265 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
10266 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
10267 variables.
10268 * conf/x86_64-efi.rmk: Likewise.
10269
8a4c48d8
VS
102702009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 Rename efi_fb to efi_uga.
10273
10274 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
10275 'efi_uga.mod'.
10276 (efi_fb_mod_SOURCES): Rename this ...
10277 (efi_uga_mod_SOURCES): ... to this.
10278 (efi_fb_mod_CFLAGS): Rename this ...
10279 (efi_uga_mod_CFLAGS): ... to this.
10280 (efi_fb_mod_LDFLAGS): Rename this ...
10281 (efi_uga_mod_LDFLAGS): ... to this.
10282 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
10283 'efi_uga.mod'.
10284 (efi_fb_mod_SOURCES): Rename this ...
10285 (efi_uga_mod_SOURCES): ... to this.
10286 (efi_fb_mod_CFLAGS): Rename this ...
10287 (efi_uga_mod_CFLAGS): ... to this.
10288 (efi_fb_mod_LDFLAGS): Rename this ...
10289 (efi_uga_mod_LDFLAGS): ... to this.
10290 * video/efi_fb.c: Move this ...
10291 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
10292
fb6c1a7b
RM
102932009-11-27 Robert Millan <rmh.grub@aybabtu.com>
10294
10295 * po/README: New file. Explain our PO file workflow.
10296
3bc7896c
RM
102972009-11-27 Robert Millan <rmh.grub@aybabtu.com>
10298
10299 * po/ChangeLog: Remove. Move relevant entries back to ...
10300 * ChangeLog: ... here.
10301 * po/ca.po: Remove (now handled by TLP).
10302 * po/id.po: Likewise.
10303 * po/zh_CN.po: Likewise.
10304 * Makefile.in (LINGUAS): Initialize in a way that supports
10305 empty set.
10306
9ed4841d
RM
103072009-11-27 Robert Millan <rmh.grub@aybabtu.com>
10308
10309 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
10310 reliing on po/LINGUAS.
10311 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
10312 (po/%.po): ... this.
10313
0ad46fd7 103142009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
10315
10316 * util/i386/efi/grub-mkimage.c: Include "progname.h".
10317 (main): Use `program_name' instead of nonexistent `progname'.
10318
e30dd392
FZ
103192009-11-26 Felix Zielcke <fzielcke@z-51.de>
10320
10321 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
10322 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
10323
7656de4f
RM
103242009-11-26 Robert Millan <rmh.grub@aybabtu.com>
10325
10326 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
10327 commit.
10328 * conf/i386-efi.rmk: Likewise.
10329 * conf/i386-ieee1275.rmk: Likewise.
10330 * conf/powerpc-ieee1275.rmk: Likewise.
10331 * conf/sparc64-ieee1275.rmk: Likewise.
10332 * conf/x86_64-efi.rmk: Likewise.
10333
db77c4d4
FZ
103342009-11-26 Felix Zielcke <fzielcke@z-51.de>
10335
10336 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
10337
a755bb04
FZ
103382009-11-26 Felix Zielcke <fzielcke@z-51.de>
10339
10340 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
10341
8a4c07fd
RM
103422009-11-26 Robert Millan <rmh.grub@aybabtu.com>
10343
10344 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
10345 (grub_mkdevicemap_SOURCES): New variable.
10346 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
10347 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
10348 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
10349 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
10350 (grub_mkdevicemap_SOURCES): Remove.
10351 * conf/i386-efi.rmk: Likewise.
10352 * conf/i386-ieee1275.rmk: Likewise.
10353 * conf/i386-pc.rmk: Likewise.
10354 * conf/powerpc-ieee1275.rmk: Likewise.
10355 * conf/sparc64-ieee1275.rmk: Likewise.
10356 * conf/x86_64-efi.rmk: Likewise.
10357 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
10358 (usage): Fix strings to use `program_name'.
10359 (main): Initialize gettext.
10360 * util/grub-editenv.c: Likewise.
10361 * util/grub-emu.c: Likewise.
10362 * util/grub-fstest.c: Likewise.
10363 * util/grub-mkdevicemap.c: Likewise.
10364 * util/grub-mkfont.c: Likewise.
10365 * util/grub-mkrelpath.c: Likewise.
10366 * util/grub-pe2elf.c: Likewise.
10367 * util/grub-probe.c: Likewise.
10368 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
10369 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
10370 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10371
10372 * util/misc.c: Include `"progname.h"'.
10373 (progname): Remove variable.
10374 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
10375
6f61ed55
FZ
103762009-11-25 Felix Zielcke <fzielcke@z-51.de>
10377
10378 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
10379 printf and print a newline after the menuentry header line.
10380 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
10381
f022876b
FZ
103822009-11-25 Felix Zielcke <fzielcke@z-51.de>
10383
10384 autoconf >= 2.60 support $(localedir).
10385
10386 * INSTALL: Note that autoconf 2.60 is required.
10387 * configure.ac (AC_PREREQ): Bump to 2.60.
10388 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
10389 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
10390
6717926e
YB
103912009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
10392
10393 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
10394 aclocal is run.
10395
08806a54
RM
103962009-11-25 Robert Millan <rmh.grub@aybabtu.com>
10397
10398 * normal/main.c (grub_normal_read_line): Fix off-by-one
10399 buffer overflow.
10400
13b33fba
RM
104012009-11-25 Robert Millan <rmh.grub@aybabtu.com>
10402
10403 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
10404 "parser.grub" in grub_command_execute() call.
10405
4a8572e9
CPE
104062009-11-24 Carles Pina i Estany <carles@pina.cat>
10407
10408 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
10409 * conf/i386-efi.rmk: Likewise.
10410 * conf/i386-ieee1275.rmk: Likewise.
10411 * conf/i386-pc.rmk: Likewise.
10412 * conf/powerpc-ieee1275.rmk: Likewise.
10413 * conf/sparc64-ieee1275.rmk: Likewise.
10414 * conf/x86_64-efi.rmk: Likewise.
10415 * gettext/gettex.c: Include <grub/i18n.h>.
10416 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
10417 here ...
10418 * include/grub/i18n.h: ... to here
10419 * include/grub/i18n.h: ... to here.
10420 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 10421 (grub_gettext_dummy): Move above user.
4a8572e9 10422
bee48093
FZ
104232009-11-24 Felix Zielcke <fzielcke@z-51.de>
10424
10425 * util/Makefile.in (install-local): Convert a `for' into a normal
10426 shell expansion.
10427
a031e91c
RM
104282009-11-24 Robert Millan <rmh.grub@aybabtu.com>
10429
10430 * autogen.sh: Add automake call.
10431 * config.guess: Remove.
10432 * config.sub: Likewise.
10433 * install-sh: Likewise.
10434
26bec39d
FZ
104352009-11-24 Felix Zielcke <fzielcke@z-51.de>
10436
10437 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
10438
8e2532fd
FZ
104392009-11-24 Felix Zielcke <fzielcke@z-51.de>
10440
10441 * util/Makefile.in (install-local): Convert a make `$(foreach)'
10442 function to a normal shell `for'.
10443
fefa1b7d
FZ
104442009-11-24 Felix Zielcke <fzielcke@z-51.de>
10445
10446 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
10447
4501250b
FZ
104482009-11-24 Felix Zielcke <fzielcke@z-51.de>
10449
10450 * util/grub-mkrelpath.c: New file.
10451 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
10452 (grub_mkrelpath_SOURCES): New variable.
10453 * include/grub/util/misc.h: New function prototype.
10454 * util/misc.c (make_system_path_relative_to_its_root): New function.
10455
10456 * util/grub-mkconfig_lib.in (bindir): New variable.
10457 (grub_mkrelpath): Likewise.
10458 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
10459
10460 * util/probe.c (probe): Make the file path relative to its root.
10461 Change a info message to use the GRUB path. Enable again the
10462 check if we can read the file with GRUB facilities.
10463
10464 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
10465 to its root.
10466
11d9778b
FZ
104672009-11-24 Felix Zielcke <fzielcke@z-51.de>
10468
10469 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
10470 platform.
10471
4465287d
FZ
104722009-11-24 Felix Zielcke <fzielcke@z-51.de>
10473
10474 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
10475 strncmp().
10476
62b47f22
FZ
104772009-11-24 Felix Zielcke <fzielcke@z-51.de>
10478
10479 * util/getroot.c (grub_util_is_dmraid): New function.
10480 (grub_util_get_dev_abstraction): Treat dmraid and multipath
10481 devices as normal ones, not as LVM.
10482
1eafb9b9 104832009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
10484
10485 * conf/common.rmk: Add grub-gettext_lib target and updates
10486 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
10487 LDFLAGS.
10488 * gettext/gettext.c: New file. (Reads mo files).
10489 * include/grub/file.h (grub_file_pread): New prototype.
10490 * include/grub/i18n.h (_): New prototype.
10491 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
10492 prototypes.
10493 * kern/misc.c (grub_gettext_dummy): New function.
10494 * normal/menu_text.c: Include <grub/i18n.h>.
10495 * normal/menu_text.c (print_timeout): Gettexttize string.
10496 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
10497 * po/POTFILES: Add `normal/menu_text.c'.
10498 * po/ca.po: Add new translations.
c3ea6bd4
CPE
10499 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
10500 gettext module and defines locale_dir and lang in grub.cfg.
10501 * NEWS: Add gettext support.
10502
0fdb2568
RM
105032009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10504
10505 * util/hostdisk.c: Include `<grub/i18n.h>'.
10506 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
10507 (make_device_name): Rewrite using asprintf.
10508 (convert_system_partition_to_system_disk): Replace 0 with NULL.
10509 (find_system_device): If a device is not found, generate one just
10510 by reusing the OS path name.
10511 (read_device_map): Make it permissible for device.map not to exist.
10512
f515aa62
RM
105132009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10514
10515 * script/sh/execute.c: Move from here ...
10516 * script/execute.c: ... to here. Update all users.
10517 * script/sh/function.c: Move from here ...
10518 * script/function.c: ... to here. Update all users.
10519 * script/sh/lexer.c: Move from here ...
10520 * script/lexer.c: ... to here. Update all users.
10521 * script/sh/main.c: Move from here ...
10522 * script/main.c: ... to here. Update all users.
10523 * script/sh/parser.y: Move from here ...
10524 * script/parser.y: ... to here. Update all users.
10525 * script/sh/script.c: Move from here ...
10526 * script/script.c: ... to here. Update all users.
10527
f84b481b
RM
105282009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10529
10530 * configure.ac: Detect all `emu' platforms. Define
10531 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
10532 --enable-grub-emu logic. Disable include/grub/machine
10533 symlink on `emu' platforms.
10534
10535 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
10536 * gensymlist.sh.in: Likewise.
10537
10538 * include/grub/i386/coreboot/machine.h: Remove file.
10539 * include/grub/i386/efi/machine.h: Likewise.
10540 * include/grub/i386/ieee1275/machine.h: Likewise.
10541 * include/grub/i386/pc/machine.h: Likewise.
10542 * include/grub/i386/qemu/machine.h: Likewise.
10543 * include/grub/powerpc/ieee1275/machine.h: Likewise.
10544 * include/grub/sparc64/ieee1275/machine.h: Likewise.
10545 * include/grub/x86_64/efi/machine.h: Likewise.
10546
10547 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
10548 * commands/halt.c: Likewise.
10549 * commands/reboot.c: Likewise.
10550 * include/grub/autoefi.h: Likewise.
10551 * include/grub/i386/at_keyboard.h: Likewise.
10552 * include/grub/i386/kernel.h: Likewise.
10553 * include/grub/i386/loader.h: Likewise.
10554 * include/grub/i386/pc/memory.h: Likewise.
10555 * kern/dl.c: Likewise.
10556 * kern/i386/coreboot/init.c: Likewise.
10557 * loader/i386/bsd.c: Likewise.
10558 * loader/i386/linux.c: Likewise.
10559 * loader/multiboot_loader.c: Likewise.
10560 * term/i386/pc/serial.c: Likewise.
10561 * term/usb_keyboard.c: Likewise.
10562
10563 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
10564 `<grub/machine/machine.h>'
10565 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
10566 * util/misc.c: Remove `<grub/machine/machine.h>' and
10567 `<grub/machine/time.h>'.
10568
10569 * Makefile.in (enable_grub_emu): Remove variable.
10570 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
10571
10572 * conf/any-emu.rmk: New file.
10573 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
10574 (grub_emu_init.c): Move from here ...
10575 * conf/any-emu.rmk: ... to here.
10576
10577 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
10578 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
10579 * conf/any-emu.rmk: ... to here.
10580
4efeab03
RM
105812009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10582
10583 * include/grub/parser.h (grub_parser_register): Document need
10584 of `name' parameter.
10585 * normal/main.c (grub_normal_read_line): Simplify prompt string.
10586 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
10587 "sh" to "grub".
10588
ea1dd8bf
RM
105892009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10590
10591 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
10592 `$(XGETTEXT)'.
10593 * include/grub/i18n.h (N_): New macro.
10594 * util/mkisofs/mkisofs.h: Likewise.
10595 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
10596 around N_().
10597 (usage): Use gettext() to translate help strings when printing them.
10598
0c140626
RM
105992009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10600
10601 Based on patch from Bean
10602 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
10603
10604 * video/efi_fb.c: New file.
10605 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
10606 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
10607 variables.
10608 * conf/x86_64-efi.rmk: Likewise.
10609
87d58298
RM
106102009-11-22 Robert Millan <rmh.grub@aybabtu.com>
10611
10612 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
10613 * util/i386/pc/grub-setup.c: Likewise.
10614
994cc3a3
ST
106152009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
10616
10617 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
10618 <hurd/fs.h>
10619 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
10620 file_get_storage_info to implement grub_guess_root_device.
10621
26a61d6a
FZ
106222009-11-21 Felix Zielcke <fzielcke@z-51.de>
10623
10624 * Makefile.in (target): Use make's builtin $(shell) function
10625 instead of calling directly $(SHELL) to create the locale directories,
10626 inside the $(foreach) function.
10627
74ff1dd5
FZ
106282009-11-21 Felix Zielcke <fzielcke@z-51.de>
10629
10630 * util/grub-mkrescue.in: Print an error and usage if output option
10631 has not been given.
10632
0b787d0e
FZ
106332009-11-21 Felix Zielcke <fzielcke@z-51.de>
10634
10635 Patch from Loïc Minier <loic.minier@ubuntu.com>.
10636 * util/grub.d/30_os-prober.in: Cope with Linux entries where
10637 root and /boot are on different devices.
10638
1164b270
RM
106392009-11-21 Robert Millan <rmh.grub@aybabtu.com>
10640
10641 Fix build for srcdir != objdir.
10642
10643 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
10644 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
10645 $(srcdir).
10646 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
10647 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
10648 reference for input.
10649
13774a2f
RM
106502009-11-21 Robert Millan <rmh.grub@aybabtu.com>
10651
10652 * util/grub-mkrescue.in: Use source directory direcly (without copiing
10653 or hardlinking it). Remove -J option, Joliet is not compatible with
10654 multiple source directories.
10655
efda854e
RM
106562009-11-21 Carles Pina i Estany <carles@pina.cat>
106572009-11-21 Robert Millan <rmh.grub@aybabtu.com>
10658
10659 * util/grub-mkrescue.in: Recognize `--override-directory' option.
10660 (process_input_dir): New function. Process an arbitrary input
10661 directory.
10662 Misc adjustments to support both "override mode" and system-wide mode.
10663
6c09890c
FZ
106642009-11-20 Felix Zielcke <fzielcke@z-51.de>
10665
10666 * configure.ac (UNIFONT_BDF): Rename to ...
10667 (FONT_SOURCE): ... this. Update all users.
10668
a797824f
FZ
106692009-11-20 Felix Zielcke <fzielcke@z-51.de>
10670
10671 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
10672 to the list of unifont files to look for.
10673
cd4f42b0
RM
106742009-11-19 Robert Millan <rmh.grub@aybabtu.com>
10675
10676 Patch from Joe Auricchio <jauricchio@gmail.com>
10677 * commands/minicmd.c (grub_mini_cmd_clear): New function.
10678 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
10679 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
10680
393c783d
FZ
106812009-11-19 Felix Zielcke <fzielcke@z-51.de>
10682
10683 * Makefile.in (install-local): Add a missing backslash.
10684
b2f1e327
FZ
106852009-11-19 Felix Zielcke <fzielcke@z-51.de>
10686
10687 * include/grub/x86_64/io.h: New file.
10688
f577f7a0
RM
106892009-11-19 Robert Millan <rmh.grub@aybabtu.com>
10690
10691 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
10692 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
10693 Include `"progname.h"'.
10694 (main): Initialize gettext.
10695 * util/i386/pc/grub-setup.c: Gettexttize.
10696 * util/i386/pc/grub-mkimage.c: Likewise.
10697
10698 * Makefile.in (po/*.po): Redefine as ...
10699 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
10700
3bc7896c
RM
10701 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
10702
c37943b6
RM
107032009-11-19 Robert Millan <rmh.grub@aybabtu.com>
10704
10705 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
10706 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
10707 (program_name): Remove.
10708 (main): Initialize gettext support.
6323f705
RM
10709 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
10710 Include `<libintl.h>'.
10711 (_): New macro.
c37943b6
RM
10712
10713 * util/mkisofs/eltorito.c: Gettexttize.
10714 * util/mkisofs/joliet.c: Likewise.
10715 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
10716 * util/mkisofs/multi.c: Likewise.
10717 * util/mkisofs/rock.c: Likewise.
10718 * util/mkisofs/tree.c: Likewise.
10719 * util/mkisofs/write.c: Likewise.
10720
3bc7896c
RM
10721 * po/POTFILES: Update with new files.
10722
5ce77c6e
RM
107232009-11-18 Robert Millan <rmh.grub@aybabtu.com>
10724
10725 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
10726 * util/mkisofs/iso9660.h: Likewise.
10727 * util/mkisofs/joliet.c: Likewise.
10728 * util/mkisofs/mkisofs.c: Likewise.
10729 * util/mkisofs/mkisofs.h: Likewise.
10730 * util/mkisofs/rock.c: Likewise.
10731 * util/mkisofs/tree.c: Likewise.
10732 * util/mkisofs/write.c: Likewise.
10733
10734 * util/mkisofs/eltorito.c (rcsid): Remove.
10735 * util/mkisofs/hash.c: Likewise.
10736 * util/mkisofs/joliet.c: Likewise.
10737 * util/mkisofs/name.c: Likewise.
10738 * util/mkisofs/rock.c: Likewise.
10739 * util/mkisofs/tree.c: Likewise.
10740 * util/mkisofs/write.c: Likewise.
10741
1dabbc77
RM
107422009-11-18 Robert Millan <rmh.grub@aybabtu.com>
10743
10744 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
10745 instead of static allocation.
10746 * util/mkisofs/match.h: Likewise.
10747
633877cb
RM
107482009-11-18 Robert Millan <rmh.grub@aybabtu.com>
10749
3bc7896c
RM
10750 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
10751 and `util/grub.d/10_linux.in'.
633877cb
RM
10752 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
10753 translatable Shell files.
10754
af1c0c85
RM
107552009-11-18 Robert Millan <rmh.grub@aybabtu.com>
10756
10757 * Makefile.in ($(srcdir)/aclocal.m4): New target.
10758
769ae37b
RM
107592009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10760
10761 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 10762 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
10763 * util/grub.d/10_kfreebsd.in (bindir): New variable.
10764 Add gettext initialization.
10765 (kfreebsd_entry): Make menuentry output translatable.
10766
107672009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10768
10769 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
10770 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
10771 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
10772 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
10773 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 10774 * po/LINGUAS: New file.
769ae37b
RM
10775
107762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10777
10778 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
10779 other things).
10780 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
10781 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
10782 bindtextdomain() calls for gettext initialization.
10783
107842009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10785
10786 * gnulib/progname.c: New file (imported from Gnulib).
10787 * gnulib/progname.h: Likewise.
10788 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
10789 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
10790 (usage): Replace `progname' with `program_name'.
10791 (main): Use set_program_name() for program name initialization.
10792
107932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10794
10795 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
10796 from here ...
10797 * Makefile.in (CPPFLAGS): ... to here.
10798
107992009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10800
10801 * aclocal.m4: Move from here ...
10802 * acinclude.m4: ... to here.
10803 * autogen.sh: Add call to `aclocal'.
10804 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
10805
108062009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10807
10808 * Makefile.in (CLEANFILES): Add `po/*.mo'.
10809 (LINGUAS): New variable.
10810 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
10811 (install-local): Install MO files.
10812 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
10813 * include/grub/i18n.h: New file.
3bc7896c
RM
10814 * po/POTFILES: New file.
10815 * po/ca.po: New file.
769ae37b
RM
10816 * util/grub.d/10_linux.in (bindir): New variable.
10817 Add gettext initialization.
10818 (linux_entry): Make menuentry output translatable.
10819 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
10820 (usage): Make --help output translatable.
10821 (main): Initialize gettext.
10822
02c0a6ad
RM
108232009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10824
10825 * import_gcry.py: New file (written by Vladimir with minor
10826 adjustments).
10827 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
10828 ciphers.
10829 * INSTALL: Document that Python is required for bootstrap.
10830
108312009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10832
10833 Import ciphers from libgcrypt 1.4.4.
10834
10835 * lib/libgcrypt/cipher/ChangeLog
10836 * lib/libgcrypt/cipher/ac.c
10837 * lib/libgcrypt/cipher/arcfour.c
10838 * lib/libgcrypt/cipher/bithelp.h
10839 * lib/libgcrypt/cipher/blowfish.c
10840 * lib/libgcrypt/cipher/camellia-glue.c
10841 * lib/libgcrypt/cipher/camellia.c
10842 * lib/libgcrypt/cipher/camellia.h
10843 * lib/libgcrypt/cipher/cast5.c
10844 * lib/libgcrypt/cipher/cipher.c
10845 * lib/libgcrypt/cipher/crc.c
10846 * lib/libgcrypt/cipher/des.c
10847 * lib/libgcrypt/cipher/dsa.c
10848 * lib/libgcrypt/cipher/ecc.c
10849 * lib/libgcrypt/cipher/elgamal.c
10850 * lib/libgcrypt/cipher/hash-common.c
10851 * lib/libgcrypt/cipher/hash-common.h
10852 * lib/libgcrypt/cipher/hmac-tests.c
10853 * lib/libgcrypt/cipher/md.c
10854 * lib/libgcrypt/cipher/md4.c
10855 * lib/libgcrypt/cipher/md5.c
10856 * lib/libgcrypt/cipher/primegen.c
10857 * lib/libgcrypt/cipher/pubkey.c
10858 * lib/libgcrypt/cipher/rfc2268.c
10859 * lib/libgcrypt/cipher/rijndael-tables.h
10860 * lib/libgcrypt/cipher/rijndael.c
10861 * lib/libgcrypt/cipher/rmd.h
10862 * lib/libgcrypt/cipher/rmd160.c
10863 * lib/libgcrypt/cipher/rsa.c
10864 * lib/libgcrypt/cipher/seed.c
10865 * lib/libgcrypt/cipher/serpent.c
10866 * lib/libgcrypt/cipher/sha1.c
10867 * lib/libgcrypt/cipher/sha256.c
10868 * lib/libgcrypt/cipher/sha512.c
10869 * lib/libgcrypt/cipher/tiger.c
10870 * lib/libgcrypt/cipher/twofish.c
10871 * lib/libgcrypt/cipher/whirlpool.c
10872
af2f93ac
RM
108732009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10874
10875 Fix build for systems without error().
10876
10877 * gnulib/error.c: New file (imported from Gnulib).
10878 * gnulib/error.h: Likewise.
10879 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
10880 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
10881 (this variable is now used by error()).
10882
73fb3dd5
FZ
108832009-11-16 Felix Zielcke <fzielcke@z-51.de>
10884
814f5e96
FZ
10885 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
10886 instead of relying that char is signed.
73fb3dd5 10887
a691ca33
VS
108882009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
10891 blocksize different from specified.
10892 (grub_pxefs_read): Likewise.
10893
2af8f0f4
FZ
108942009-11-16 Felix Zielcke <fzielcke@z-51.de>
10895
10896 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
10897
10898 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
10899 (grub_ata_readwrite): Likewise. Update 2 format strings.
10900 (grub_atapi_read): Likewise.
10901
10902 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
10903 * conf/i386.rmk (pkglib_MODULES): ... to here ...
10904 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
10905 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
10906 (ata_mod_LDFLAGS): Move from here ...
10907 * conf/i386.rmk: ... to here ...
10908 * conf/x86_64-efi.rmk: ... and here.
10909 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
10910 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
10911
83bdecaf
RM
109122009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10913
10914 Relicense multiboot.h, with RMS' blessing.
10915
10916 * include/multiboot.h: Change to X11 license.
10917
fd6fd3d7
RM
109182009-11-15 Robert Millan <rmh.grub@aybabtu.com>
10919
10920 Support --version in grub-mkisofs.
10921
10922 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
10923 (OPTION_VERSION): New macro.
10924 (ld_options): Recognize --version.
10925 (usage): Move `program_name' from here ...
10926 (program_name): ... to here. Add `static' qualifier.
10927 (main): Recognize `OPTION_VERSION'.
10928
16a88c49
FZ
109292009-11-15 Felix Zielcke <fzielcke@z-51.de>
10930
10931 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
10932 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
10933
a4158476
RM
109342009-11-14 Robert Millan <rmh.grub@aybabtu.com>
10935
10936 Fix help2man generation for mkisofs.
10937
10938 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
10939 (usage): Send output to stdout (rather than stderr).
10940
fc2208b0
RM
109412009-11-14 Robert Millan <rmh.grub@aybabtu.com>
10942
10943 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
10944 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
10945 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
10946 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
10947 (bin_SCRIPTS): Add `grub-mkfloppy'.
10948 (grub_mkfloppy_SOURCES): New variable.
10949
10950 * util/grub-mkrescue.in: New file.
10951 * util/i386/pc/grub-mkfloppy.in: New file.
10952
10953 * util/i386/coreboot/grub-mkrescue.in: Remove.
10954 * util/i386/pc/grub-mkrescue.in: Remove.
10955
8d0edf4a
RM
109562009-11-13 Robert Millan <rmh.grub@aybabtu.com>
10957
10958 * include/grub/multiboot.h (struct grub_multiboot_header): Move
10959 from here ...
10960 * include/multiboot.h (struct multiboot_header): ... to here. Update
10961 all users.
10962 * include/grub/multiboot.h (struct grub_multiboot_info): Move
10963 from here ...
10964 * include/multiboot.h (struct multiboot_info): ... to here. Update
10965 all users.
10966 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
10967 from here ...
10968 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
10969 Update all users.
10970 * include/grub/multiboot.h (struct grub_mod_list): Move
10971 from here ...
10972 * include/multiboot.h (struct multiboot_mod_list): ... to here.
10973 Update all users.
10974
a73f5969
RM
109752009-11-13 Robert Millan <rmh.grub@aybabtu.com>
10976
10977 * include/multiboot2.h (multiboot_word): Rename from this ...
10978 (multiboot2_word): ... to this. Update all users.
10979 (multiboot_header): Rename from this ...
10980 (multiboot2_header): ... to this. Update all users.
10981 (multiboot_tag_header): Rename from this ...
10982 (multiboot2_tag_header): ... to this. Update all users.
10983 (multiboot_tag_start): Rename from this ...
10984 (multiboot2_tag_start): ... to this. Update all users.
10985 (multiboot_tag_name): Rename from this ...
10986 (multiboot2_tag_name): ... to this. Update all users.
10987 (multiboot_tag_module): Rename from this ...
10988 (multiboot2_tag_module): ... to this. Update all users.
10989 (multiboot_tag_memory): Rename from this ...
10990 (multiboot2_tag_memory): ... to this. Update all users.
10991 (multiboot_tag_unused): Rename from this ...
10992 (multiboot2_tag_unused): ... to this. Update all users.
10993 (multiboot_tag_end): Rename from this ...
10994 (multiboot2_tag_end): ... to this. Update all users.
10995
1c8927f0
RM
109962009-11-13 Robert Millan <rmh.grub@aybabtu.com>
10997
10998 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
10999 this platform we should support Multiboot1 first.
11000
11001 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
11002 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
11003 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
11004
6e1e0d89
RM
110052009-11-12 Robert Millan <rmh.grub@aybabtu.com>
11006
11007 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
11008 of write calls (converting them to fwrite() if they aren't already).
11009 (get_torito_desc): Likewise.
11010 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
11011
7f2b34d8
RM
110122009-11-12 Robert Millan <rmh.grub@aybabtu.com>
11013
11014 * util/i386/pc/grub-install.in: Move from here ...
11015 * util/grub-install.in: ... to here. Update all users.
11016
c0ef3311
CW
110172009-11-11 Colin Watson <cjwatson@ubuntu.com>
11018
11019 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
11020
e1f240ff
RM
110212009-11-11 Robert Millan <rmh.grub@aybabtu.com>
11022
11023 Support for El Torito without floppy emulation.
11024
11025 * util/mkisofs/eltorito.c: Include `<errno.h>'.
11026 (init_boot_catalog): Improve error handling.
11027 (get_torito_desc): Don't use floppy emulation unless requested by
11028 user. Patch boot information table when requested via
11029 `-boot-info-table'.
11030 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
11031 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
11032 (use_boot_info_table): New variables.
11033 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
11034 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
11035 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
11036 `--eltorito-emul-floppy'.
11037 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
11038 and `OPTION_ELTORITO_EMUL_FLOPPY'.
11039 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
11040 (use_boot_info_table, get_731): New prototypes.
11041 * util/mkisofs/write.c (get_731): New function.
11042
af7d4de5
FZ
110432009-11-11 Felix Zielcke <fzielcke@z-51.de>
11044
11045 Fix the generation of the man page.
11046
11047 * util/pc/i386/grub-install.in: Source
11048 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
11049
2c55dbc0
RM
110502009-11-11 Robert Millan <rmh.grub@aybabtu.com>
11051
11052 Large file support for grub-mkisofs.
11053
11054 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
11055 * util/mkisofs/mkisofs.c (next_extent, last_extent)
11056 (session_start): Upgrade type to `uint64_t'. Update all users.
11057 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
11058 (struct directory_entry): Upgrade type of `starting_block' and
11059 `size' to `uint64_t'. Update all users.
11060 (struct deferred): Remove unused structure.
11061 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
11062 Update all users.
11063 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
11064 file is larger than `UINT32_MAX'.
11065 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
11066 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
11067 return value.
11068 (struct deferred_write): Upgrade type of `extent' and `size' to
11069 `uint64_t'. Update all users.
11070 (last_extent_written): Upgrade type to `uint64_t'. Update all
11071 users.
11072 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
11073 Update all users. Upgrade type of `remain' to `int64_t' and
11074 `use' to `size_t'. Use error() to handle fread() errors.
11075 (write_files): Rely on write_one_file() rather than calling
11076 xfwrite() directly.
11077
6a9cead5
FZ
110782009-11-09 Felix Zielcke <fzielcke@z-51.de>
11079
11080 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
11081
4825d790
RM
110822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11083
11084 * util/mkisofs/fnmatch.c: Remove.
11085 * util/mkisofs/getopt1.c: Likewise.
11086 * util/mkisofs/getopt.c: Likewise.
11087 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
11088 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
11089 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
11090 `gnulib/getopt1.c' and `gnulib/getopt.c'.
11091 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
11092
11093 * configure.ac: Detect `mingw32msvc' host_os.
11094 Check for lstat(), getuid() and getgid().
11095
11096 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
11097 instances of `u_char' with `uint8_t'.
11098
11099 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
11100 [!HAVE_GETUID] (getuid): New function (stub).
11101 [!HAVE_GETGID] (getgid): Likewise.
11102 [!HAVE_LSTAT] (lstat): Likewise.
11103 [!S_IROTH] (S_IROTH): New macro (dummy).
11104 [!S_IRGRP] (S_IRGRP): Likewise.
11105
84b860d8
RM
111062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11107
11108 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
11109 conditional expression).
11110
66e9b712
RM
111112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11112
11113 Import from Gnulib.
11114
11115 * gnulib/fnmatch.c: New file.
11116 * gnulib/fnmatch.h: Likewise.
11117 * gnulib/fnmatch_loop.c: Likewise.
11118 * gnulib/getopt.c: Likewise.
11119 * gnulib/getopt.h: Likewise.
11120 * gnulib/getopt1.c: Likewise.
11121 * gnulib/getopt_int.h: Likewise.
11122 * gnulib/gettext.h: Likewise.
11123
34f4a5b0
RM
111242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11125
11126 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
11127 * normal/handler.c (read_handler_list): Likewise.
11128
ac451143
RM
111292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11130
11131 Misc cleanup.
11132
11133 * kern/command.c (grub_register_command_prio): Use
11134 grub_zalloc() instead of explicitly zeroing data.
11135 * kern/list.c: Include `<grub/mm.h>'.
11136 (grub_named_list_find): Replace `0' with `NULL'.
11137 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
11138 (fs_module_list): Change type to `grub_named_list_t'. Update all
11139 users.
11140 * normal/dyncmd.c (read_command_list): Add space between function
11141 call and parenthesis.
11142 * normal/handler.c (read_handler_list): Likewise.
11143
4089b167
RM
111442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11145
11146 * normal/auth.c (punishment_delay): Moved from here ...
11147 (grub_auth_strcmp): ... to here (inside function).
11148
325f5037
RM
111492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11150
11151 * include/grub/list.h (struct grub_named_list): Remove `const'
11152 qualifier from `name'.
11153 (struct grub_prio_list): Likewise.
11154
7aea29a3
RM
111552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11156
11157 * normal/auth.c: Include `<grub/time.h>'.
11158 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
11159
3fd6f044
RM
111602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11161
11162 * normal/auth.c (punishment_delay): New variable.
11163 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
11164 (grub_auth_check_authentication): Punish failed login attempts with
11165 an incremental (2^N) delay.
11166
a4cd68e4
RM
111672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11168
11169 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
11170 path with $(srcdir).
11171
7ad12f43
VS
111722009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
11175
c1129f03
RM
111762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11177
11178 * util/i386/coreboot/grub-mkrescue.in: New file.
11179 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
11180 variables.
11181
11182 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
11183 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
11184 * configure.ac: Add header and function checks to satisfy grub-mkisofs
11185 requirements.
11186 * util/mkisofs/defaults.h: New file.
11187 * util/mkisofs/eltorito.c: Likewise.
11188 * util/mkisofs/exclude.h: Likewise.
11189 * util/mkisofs/fnmatch.c: Likewise.
11190 * util/mkisofs/getopt.c: Likewise.
11191 * util/mkisofs/getopt1.c: Likewise.
11192 * util/mkisofs/hash.c: Likewise.
11193 * util/mkisofs/include/fctldefs.h: Likewise.
11194 * util/mkisofs/include/mconfig.h: Likewise.
11195 * util/mkisofs/include/prototyp.h: Likewise.
11196 * util/mkisofs/include/statdefs.h: Likewise.
11197 * util/mkisofs/iso9660.h: Likewise.
11198 * util/mkisofs/joliet.c: Likewise.
11199 * util/mkisofs/match.c: Likewise.
11200 * util/mkisofs/match.h: Likewise.
11201 * util/mkisofs/mkisofs.c: Likewise.
11202 * util/mkisofs/mkisofs.h: Likewise.
11203 * util/mkisofs/multi.c: Likewise.
11204 * util/mkisofs/name.c: Likewise.
11205 * util/mkisofs/rock.c: Likewise.
11206 * util/mkisofs/tree.c: Likewise.
11207 * util/mkisofs/write.c: Likewise.
11208
ec8bb77d
VS
112092009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11210
11211 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
11212 being insecure.
11213
3716b12c
RM
112142009-11-08 Robert Millan <rmh.grub@aybabtu.com>
11215
11216 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
11217 `grub-mkimage' (and use $0 when possible).
11218
b97b7b91
RM
112192009-11-08 Robert Millan <rmh.grub@aybabtu.com>
11220
11221 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
11222 error message for excessively large memory map.
11223
04114812
RM
112242009-11-08 Robert Millan <rmh.grub@aybabtu.com>
11225
11226 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
11227 executable bit.
11228
e4eb2373
RM
112292009-11-08 Robert Millan <rmh.grub@aybabtu.com>
11230
11231 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
11232 message for coreboot users.
11233
c926e1d5 112342009-11-07 Robert Millan <rmh.grub@aybabtu.com>
11235
11236 Fix build with GNU gold.
11237
11238 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
11239 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
11240 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
11241 link addresses.
11242 * aclocal.m4: Likewise.
11243
86e5b1db 112442009-11-04 Felix Zielcke <fzielcke@z-51.de>
11245
11246 * configure.ac (AC_PREREQ): Bump to 2.59d.
11247 * INSTALL: Make it more clear when Autoconf and Ruby are
11248 needed and when to run `./autogen.sh'.
11249
246cd78f 112502009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
11251
11252 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
11253 OSes.
11254
4f9dfb37 112552009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
11256
11257 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
11258
b82bd5e1 112592009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
11260
11261 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
11262 giving it to GNU Mach.
11263
ff1a9bca 112642009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
11265
11266 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
11267 GNU partition number to get internal GRUB partition number.
11268
61697d9c 112692009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
11270
11271 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
11272 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
11273
a50569e1 112742009-11-01 Robert Millan <rmh.grub@aybabtu.com>
11275
11276 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
11277 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
11278 case.
11279
5b153867 112802009-11-01 Felix Zielcke <fzielcke@z-51.de>
11281
11282 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
11283
d9e2cd70 112842009-10-30 Robert Millan <rmh.grub@aybabtu.com>
11285
11286 Fix build problem.
11287
11288 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
11289 `-isystem=$(srcdir)/include'.
11290
805111a4 112912009-10-30 Robert Millan <rmh.grub@aybabtu.com>
11292
11293 * util/i386/pc/grub-install.in: Remove hint that device.map should be
11294 checked (grub-install doesn't currently rely on it).
11295
fa6e945f 112962009-10-29 Robert Millan <rmh.grub@aybabtu.com>
11297
11298 Revert SVN r2660.
11299
11300 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
11301 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
11302 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
11303 * conf/i386-ieee1275.rmk: Likewise.
11304 * conf/i386-pc.rmk: Likewise.
11305 * conf/powerpc-ieee1275.rmk: Likewise.
11306 * conf/sparc64-ieee1275.rmk: Likewise.
11307 * conf/x86_64-efi.rmk: Likewise.
11308
cee15086 113092009-10-28 Robert Millan <rmh.grub@aybabtu.com>
11310
11311 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
11312
95b9239e 113132009-10-28 Robert Millan <rmh.grub@aybabtu.com>
11314
11315 * include/grub/misc.h: Stop checking for APPLE_CC.
11316
2ed19dfd 113172009-10-28 Robert Millan <rmh.grub@aybabtu.com>
11318
11319 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
11320 doesn't cause an infinite call loop.
11321
fdcdde19 113222009-10-28 Felix Zielcke <fzielcke@z-51.de>
11323
11324 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
11325 strings.
11326
cefabfe1 113272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11328
11329 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
11330 variable.
11331 * Makefile.in: Likewise.
11332
ed96ab6d 113332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11334
11335 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
11336
0579b753 113372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11338
11339 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
11340
478df409 113412009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11342
11343 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
11344
083d1679 113452009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11346
11347 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
11348 from here ...
11349 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
11350
5947ae32 113512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11352
11353 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
11354 in $(MAKEINFO) invocation. This makes it clear in output that
11355 errors are being ignored.
11356
94180ff6 113572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11358
11359 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
11360 from here ...
11361 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
11362 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
11363 * conf/i386-ieee1275.rmk: Likewise.
11364 * conf/i386-pc.rmk: Likewise.
11365 * conf/powerpc-ieee1275.rmk: Likewise.
11366 * conf/sparc64-ieee1275.rmk: Likewise.
11367 * conf/x86_64-efi.rmk: Likewise.
11368
9031b03a 113692009-10-26 Colin Watson <cjwatson@ubuntu.com>
11370
11371 * util/grub-editenv.c (main): If only a command is given, use
11372 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
11373 (usage): FILENAME is now optional and has a default.
11374
e4f6809b 113752009-10-26 Colin Watson <cjwatson@ubuntu.com>
11376
11377 Improve grub-mkconfig performance when there are several menu
11378 entries on a single filesystem.
11379
11380 * util/grub.d/10_linux.in (linux_entry): Cache the output of
11381 prepare_grub_to_access_device.
11382 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11383 * util/grub.d/30_os-prober.in: Likewise.
11384
67937d4d 113852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11386
11387 * util/grub.d/10_freebsd.in: Remove.
11388 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
11389 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
11390
ee3756cc 113912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11392
5c35048e 11393 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 11394
4dea1c6f 113952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11396
11397 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
11398 grub_util_error() call.
11399
042484d7 114002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11401
11402 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
11403 `reserved_first_sector' member.
11404 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
11405 `reserved_first_sector' to 1.
11406 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
11407 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
11408 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
11409 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
11410 filesystems which begin at first sector.
11411 (options): New option --skip-fs-probe.
11412 (main): Handle --skip-fs-probe and pass it to setup().
11413
d64448a7 114142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11415
11416 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
11417 (memset): Fix function prototype.
11418
508d42ec 114192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
114202009-10-25 Vasily Averin <vvs@parallels.com>
11421
11422 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
11423 `dirent.direntlen == 0'.
11424
b240e30c 114252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11426
11427 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
11428 `cpio'.
11429 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
11430
346e7fbe 114312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11432
11433 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
11434 `__trampoline_setup' and `__ucmpdi2'.
11435 * include/grub/powerpc/libgcc.h: Only export symbols for functions
11436 that libgcc provides.
11437
cdb308b0 114382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11439
11440 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
11441 * include/grub/sparc64/libgcc.h (memset): Likewise.
11442 * include/grub/misc.h (memset, memcmp): New function prototypes.
11443
fb26abc2 114442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11445
11446 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
11447 `cpio'.
11448 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
11449
f6693890 114502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11451
11452 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
11453 * docs/grub.cfg: Compensate for recent change in multiboot
11454 loader (since 2009-08-14 it won't pass filename to payload).
11455 * util/grub.d/10_hurd.in: Likewise.
11456
0933cdc0 114572009-10-21 Felix Zielcke <fzielcke@z-51.de>
11458
11459 * config.guess: Update to latest version from config git
11460 repository.
11461 * config.sub: Likewise.
11462
3b2fe8c2 114632009-10-20 Robert Millan <rmh.grub@aybabtu.com>
11464
11465 Fix build on sparc64.
11466
11467 * configure.ac: Perform checks for libgcc symbols before
11468 adding `-nostdlib' to LDFLAGS.
11469
46695a62 114702009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 Let user specify OpenBSD root device.
11473
11474 * loader/i386/bsd.c (openbsd_root): New variable.
11475 (openbsd_opts): New option 'root'.
11476 (OPENBSD_ROOT_ARG): New macro.
11477 (grub_openbsd_boot): Use 'openbsd_root'.
11478 (grub_cmd_openbsd): Fill 'openbsd_root'.
11479
d2b6b7fc 114802009-10-16 Robert Millan <rmh.grub@aybabtu.com>
11481
11482 * NEWS: Misc adjustments.
11483
421bd7ac 114842009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11485
11486 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
11487
f1d29d87 114882009-10-16 Robert Millan <rmh.grub@aybabtu.com>
11489
11490 * configure.ac: Bump version to 1.97.
11491
6f3cd880 114922009-10-16 Colin Watson <cjwatson@ubuntu.com>
11493
11494 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
11495 -mno-3dnow on x86 architectures. Some toolchains enable these
11496 features by default, but they rely on registers that aren't enabled
11497 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
11498
035f7122 114992009-10-15 Robert Millan <rmh.grub@aybabtu.com>
11500
11501 Make entry text a bit more readable.
11502
11503 * util/grub.d/10_linux.in: Add `with' before `Linux'.
11504
44998e58 115052009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
11508
cd2851b3 115092009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
11510
11511 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
11512 operations.
11513
c6f3b249 115142009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * configure.ac: Add missing dollar.
11517
6b5886ba 115182009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
11519
11520 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
11521
11522 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
11523 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
11524 exports.
11525 * include/grub/sparc64/libgcc.h: Likewise. Use
11526 preprocessor conditionals.
11527
e9d66f6d 115282009-10-14 Robert Millan <rmh.grub@aybabtu.com>
11529
11530 * conf/common.rmk (grub-dumpbios): Remove rule.
11531 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
11532 * util/grub-dumpbios.in: Remove file.
11533
9155bc17 115342009-10-14 Robert Millan <rmh.grub@aybabtu.com>
11535
11536 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
11537 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
11538
11539 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
11540 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
11541 users.
11542
11543 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
11544 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
11545 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
11546 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
11547 users.
11548
bf7f7a18 115492009-10-12 Robert Millan <rmh.grub@aybabtu.com>
11550
11551 * term/tparm.c: Switch to GPLv3.
11552
86564c26 115532009-10-09 Robert Millan <rmh.grub@aybabtu.com>
11554
11555 * include/grub/i386/cpuid.h: Add header protection.
11556
5c936493 115572009-10-09 Robert Millan <rmh.grub@aybabtu.com>
11558
11559 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
11560
11561 * include/grub/i386/cpuid.h: New file.
11562 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
11563 (has_longmode): Rename to ...
11564 (grub_cpuid_has_longmode): ... this. Update all users. Remove
11565 `static' attribute.
11566 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
11567 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
11568 on a CPU that doesn't implement AMD64 instruction set.
11569
186e7cf2 115702009-10-06 Colin Watson <cjwatson@ubuntu.com>
11571
11572 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
11573 that version.texi is rebuilt on version number changes.
11574
83b65c4a 115752009-10-06 Colin Watson <cjwatson@ubuntu.com>
11576
11577 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
11578 Fixes bug #27602.
11579
d244281c 115802009-10-06 Colin Watson <cjwatson@ubuntu.com>
11581
11582 * util/i386/pc/grub-install.in: Source
11583 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
11584 that the --grub-probe option will work.
11585 * util/sparc64/ieee1275/grub-install.in: Likewise.
11586
da25306d 115872009-10-05 Robert Millan <rmh.grub@aybabtu.com>
11588
11589 * configure.ac: Bump version to 1.97~beta4.
11590
e8ee83c0 115912009-10-03 Robert Millan <rmh.grub@aybabtu.com>
11592
11593 Resync grub-mkdevicemap in x86_64-efi.
11594
11595 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
11596 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
11597 `util/devicemap.c'.
11598
50dcabcf 115992009-10-01 Colin Watson <cjwatson@ubuntu.com>
11600
11601 * util/grub-editenv.c (create_envblk_file): Write new block with a
11602 .new suffix and then rename it into place, to ensure atomic
11603 creation.
11604
0e51c3a7 116052009-09-28 Robert Millan <rmh.grub@aybabtu.com>
11606
11607 Do not automatically install headers.
11608
11609 * Makefile.in (include_DATA): Remove. Update all users.
11610
31299a95 116112009-09-26 Robert Millan <rmh.grub@aybabtu.com>
11612
11613 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
11614 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
11615
11616 * util/osdetect.lua: Remove.
11617 * script/lua/lauxlib.c: Likewise.
11618 * script/lua/ldebug.c: Likewise.
11619 * script/lua/grub_main.c: Likewise.
11620 * script/lua/lauxlib.h: Likewise.
11621 * script/lua/ldebug.h: Likewise.
11622 * script/lua/ltablib.c: Likewise.
11623 * script/lua/liolib.c: Likewise.
11624 * script/lua/lstrlib.c: Likewise.
11625 * script/lua/lualib.h: Likewise.
11626 * script/lua/ldo.c: Likewise.
11627 * script/lua/ldump.c: Likewise.
11628 * script/lua/ldo.h: Likewise.
11629 * script/lua/loslib.c: Likewise.
11630 * script/lua/lundump.c: Likewise.
11631 * script/lua/grub_lib.c: Likewise.
11632 * script/lua/ldblib.c: Likewise.
11633 * script/lua/lundump.h: Likewise.
11634 * script/lua/lmem.c: Likewise.
11635 * script/lua/grub_lib.h: Likewise.
11636 * script/lua/lmathlib.c: Likewise.
11637 * script/lua/lstate.c: Likewise.
11638 * script/lua/ltm.c: Likewise.
11639 * script/lua/lvm.c: Likewise.
11640 * script/lua/lmem.h: Likewise.
11641 * script/lua/lstate.h: Likewise.
11642 * script/lua/ltm.h: Likewise.
11643 * script/lua/ltable.c: Likewise.
11644 * script/lua/lvm.h: Likewise.
11645 * script/lua/llex.c: Likewise.
11646 * script/lua/lgc.c: Likewise.
11647 * script/lua/grub_lua.h: Likewise.
11648 * script/lua/loadlib.c: Likewise.
11649 * script/lua/lfunc.c: Likewise.
11650 * script/lua/lopcodes.c: Likewise.
11651 * script/lua/lparser.c: Likewise.
11652 * script/lua/ltable.h: Likewise.
11653 * script/lua/llex.h: Likewise.
11654 * script/lua/lgc.h: Likewise.
11655 * script/lua/lfunc.h: Likewise.
11656 * script/lua/lbaselib.c: Likewise.
11657 * script/lua/lopcodes.h: Likewise.
11658 * script/lua/lparser.h: Likewise.
11659 * script/lua/lzio.c: Likewise.
11660 * script/lua/linit.c: Likewise.
11661 * script/lua/lobject.c: Likewise.
11662 * script/lua/llimits.h: Likewise.
11663 * script/lua/lstring.c: Likewise.
11664 * script/lua/lzio.h: Likewise.
11665 * script/lua/lapi.c: Likewise.
11666 * script/lua/lcode.c: Likewise.
11667 * script/lua/lua.h: Likewise.
11668 * script/lua/lobject.h: Likewise.
11669 * script/lua/lstring.h: Likewise.
11670 * script/lua/lapi.h: Likewise.
11671 * script/lua/lcode.h: Likewise.
11672 * script/lua/luaconf.h: Likewise.
11673
cb8a2c38 116742009-09-26 Colin Watson <cjwatson@ubuntu.com>
11675
11676 * docs/grub.texi (Command-line and menu entry commands): Document
11677 date and echo commands.
11678
6b9b6276 116792009-09-24 Pavel Roskin <proski@gnu.org>
11680
11681 * include/grub/kernel.h (struct grub_module_header): Remove
11682 `grub_module_header_types'. Make `type' unsigned. Make `size'
11683 32-bit on all platforms.
11684 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
11685 8-bit field. Use grub_host_to_target32() for `size'.
11686 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
11687 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
11688 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
11689
4e5a02a7 116902009-09-24 Robert Millan <rmh.grub@aybabtu.com>
11691
11692 Fix "lost keypress" bug in at_keyboard.
11693
11694 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
11695 Checks for readyness of input buffer (without flushing it).
11696 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
11697 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
11698
c6dcedf6 116992009-09-24 Robert Millan <rmh.grub@aybabtu.com>
11700
11701 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
11702 size check within GRUB_MACHINE_PCBIOS section.
11703
74c958b1 117042009-09-24 Robert Millan <rmh.grub@aybabtu.com>
11705
11706 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
11707 return value.
11708 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
11709 KEYBOARD_ISREADY check.
11710 (grub_at_keyboard_checkkey): Rename to ...
11711 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
11712 Remove gratuitous cast.
11713
ff420223 117142009-09-23 Colin Watson <cjwatson@ubuntu.com>
11715
11716 * configure.ac: Call AC_PROG_MKDIR_P.
11717 * Makefile.in (docs/stamp-vti): Create docs directory. Create
11718 version.texi in $(builddir) rather than $(srcdir).
11719 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
11720 to makeinfo's @include search path.
11721
d96875df 117222009-09-23 Felix Zielcke <fzielcke@z-51.de>
11723
11724 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
11725
9b3f8365 117262009-09-23 Felix Zielcke <fzielcke@z-51.de>
11727
11728 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
11729 for `*.dpkg-new'.
11730
c44c90db 117312009-09-21 Colin Watson <cjwatson@ubuntu.com>
11732
11733 Build info documentation. Some code borrowed from Automake.
11734
11735 * configure.ac: Check for makeinfo.
11736 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
11737 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
11738 docs/version.texi.
11739 (MOSTLYCLEANFILES): Add vti.tmp.
11740 (docs/version.texi, docs/stamp-vti): Update automatically.
11741 (docs/grub.info): Build info documentation. Use --force and ignore
11742 errors for now.
11743 (all-local): Add $(INFOS).
11744 (install-local): Install info files.
11745 (uninstall): Uninstall info files.
11746 * docs/version.texi: Remove from revision control. This file is
11747 automatically generated on build now.
11748 * gendistlist.sh: Add `*.info'.
11749
e0b37bb5 117502009-09-21 Felix Zielcke <fzielcke@z-51.de>
11751
11752 * kern/term.c: Fix indentation.
11753
5a78865b 117542009-09-21 Felix Zielcke <fzielcke@z-51.de>
11755
11756 * util/hostdisk.c: Fix a comment.
11757
dace7e8a 117582009-09-20 Robert Millan <rmh.grub@aybabtu.com>
11759
11760 Fix regression introduced in r2539.
11761
11762 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
11763 to 0xA1.
11764
a83d079b 117652009-09-19 Colin Watson <cjwatson@ubuntu.com>
11766
11767 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 11768 os-prober. Under normal operation, it does not print anything to
11769 stderr; if it does, we need to debug it, and throwing away stderr
11770 makes that excessively difficult.
a83d079b 11771
be94a509 117722009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
11773
11774 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
11775
63f745e8 117762009-09-16 Robert Millan <rmh.grub@aybabtu.com>
11777
11778 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
11779 AC_LANG_PROGRAM from autoconf.
11780 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
11781 prototypes (fixes warning).
11782
11783 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
11784 `--disable-werror' was used.
11785
bbb2a70f 117862009-09-16 Robert Millan <rmh.grub@aybabtu.com>
11787
11788 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
11789 uninitialized `lastaddr'.
11790
77c24f1d 117912009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11792
0f0b8c87 11793 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 11794
07197f23 117952009-09-14 Colin Watson <cjwatson@ubuntu.com>
11796
11797 * commands/test.c (get_fileinfo): Return immediately if
11798 grub_fs_probe fails.
11799
dabf1798 118002009-09-14 José Martínez <xosemp@gmail.com>
11801
11802 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
11803
d52109a7 118042009-09-14 Colin Watson <cjwatson@ubuntu.com>
11805
11806 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
11807 output.
11808
56532179 118092009-09-13 Robert Millan <rmh.grub@aybabtu.com>
11810
11811 * configure.ac: Remove --enable-grub-pe2elf. Only build
11812 grub-pe2elf when needed by the build system itself.
11813 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
11814
8ef070f5 118152009-09-12 Robert Millan <rmh.grub@aybabtu.com>
11816
11817 * configure.ac: Bump version to 1.97~beta3.
11818 * docs/version.texi: Likewise.
11819
61229557 118202009-09-12 Robert Millan <rmh.grub@aybabtu.com>
11821
11822 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
11823 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
11824 from here ...
11825 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
11826 (grub_linux_setup_video): ... to here (with some adjustments).
11827
5c9f8d84 118282009-09-12 Robert Millan <rmh.grub@aybabtu.com>
11829
11830 Fix memory corruption issue (spotted by Colin Watson).
11831
11832 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
11833 causing returned size to be stored in an incorrect memory location.
11834 Fix use of uninitialized value when storing the returned size.
11835
e8f5d6e9 118362009-09-12 Yves Blusseau <blusseau@zetam.org>
11837
11838 Change clean rules to properly remove files
11839
11840 * genmk.rb: add new clean rules
11841 * Makefile.in (clean): add the new targets
11842 (mostlyclean): likewise
11843
cda2a409 118442009-09-11 Colin Watson <cjwatson@ubuntu.com>
11845
11846 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
11847 to grub_uint64_t.
11848 * fs/ntfs.c (init_file): Understand 64-bit sizes for
11849 non-resident files.
11850
86695375 118512009-09-11 Colin Watson <cjwatson@ubuntu.com>
11852
11853 * configure.ac: Don't look for help2man when cross-compiling. Fixes
11854 part of bug #27349.
11855
8aa1541a 118562009-09-10 Felix Zielcke <fzielcke@z-51.de>
11857
11858 * util/grub-mkconfig.in: Make the created config mode 400 and
11859 print a warning if it fails.
11860
48d9bb0a 118612009-09-10 Robert Millan <rmh.grub@aybabtu.com>
11862
11863 * util/grub.d/40_custom.in: Ask user to type custom entries below
11864 comment, rather than below 'exec tail' line.
11865
3b0521be 118662009-09-10 Colin Watson <cjwatson@ubuntu.com>
11867
11868 * util/grub.d/40_custom.in: Make sure that the explanatory text is
11869 visible in grub.cfg.
11870
50051d55 118712009-09-10 Colin Watson <cjwatson@ubuntu.com>
11872
11873 * util/grub.d/40_custom.in: Make it a little clearer how to use this
11874 file.
11875
c0d34387 118762009-09-10 Felix Zielcke <fzielcke@z-51.de>
11877
11878 * docs/grub.cfg: Add an example menu entry for memtest86+.
11879
80a608f3 118802009-09-09 Felix Zielcke <fzielcke@z-51.de>
11881
a2094832 11882 * config.guess: Update to latest version from config git.
80a608f3 11883 * config.sub: Likewise.
11884
99423078 118852009-09-08 Colin Watson <cjwatson@ubuntu.com>
11886
11887 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
11888 unknown-command case. Fixes bug #27320.
11889
44454e4c 118902009-09-08 Felix Zielcke <fzielcke@z-51.de>
11891
11892 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
11893 `help' if the command exists.
11894
e30d87ad 118952009-09-06 Robert Millan <rmh.grub@aybabtu.com>
11896
11897 * INSTALL: Require GCC 4.1.3 or later.
11898
9a86f1ec 118992009-09-06 Yves Blusseau <blusseau@zetam.org>
11900
11901 * Makefile.in (RMKFILES): add i386-qemu.rmk
11902 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
11903 $(srcdir)/stamp-h.in
11904
7f26d466 119052009-09-05 Robert Millan <rmh.grub@aybabtu.com>
11906
11907 * util/grub-probe.c (probe): Comment out buggy codepath, which
11908 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
11909 should be re-enabled after 1.97.
11910
3a613259 119112009-09-05 Felix Zielcke <fzielcke@z-51.de>
11912
11913 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
11914 find searches for.
11915
197f76c7 119162009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
11917
11918 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
11919 unnecessary calls to grub_error.
11920
70ba68ce 119212009-09-04 Colin Watson <cjwatson@ubuntu.com>
11922
11923 * NEWS: Mention `keystatus' and Unicode fonts.
11924
4ff0d7a4 119252009-09-04 Robert Millan <rmh.grub@aybabtu.com>
11926
11927 * configure.ac: Bump version to 1.97~beta2.
11928 * docs/version.texi: Likewise.
11929
77c55a87 119302009-09-03 Colin Watson <cjwatson@ubuntu.com>
11931
11932 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
11933 containing unwind information in some cases where it previously did
11934 not. Use -fno-dwarf2-cfi-asm if available to restore the old
11935 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
11936 discussion.
11937
f79572cd 119382009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
11939
11940 Embedding loadenv module into grub-emu
11941
11942 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
11943 commands/loadenv.c
11944 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
11945 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
11946 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
11947 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
11948 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
11949 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
11950
93a81088 119512009-09-03 Magnus Granberg <zorry@ume.nu>
11952
11953 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
11954 include -fPIE in the default specs.
11955 * configure.ac: Check if pie_possible is yes and add -fno-PIE
11956 to TARGET_CFLAGS.
11957
160034b2 119582009-09-03 Felix Zielcke <fzielcke@z-51.de>
11959
11960 * INSTALL: Note that GNU Bison 2.3 or later is required.
11961
087c07c4 119622009-09-03 Colin Watson <cjwatson@ubuntu.com>
11963
11964 * kern/i386/pc/startup.S: Fix typo.
11965
cbf978c0 119662009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
11969 according to GCS.
11970
119712009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 11972
11973 * docs/grub.texi (Naming convention): Describe one-based partition
11974 numbering.
11975 (Device syntax): Likewise.
11976 (File name syntax): Likewise.
11977 (Block list syntax): Likewise.
11978 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
11979 menu.lst.
11980 (File name syntax): Likewise.
11981 (Command-line and menu entry commands): Document acpi, blocklist,
11982 crc, export, insmod, keystatus, ls, set, and unset commands.
11983
f3e8cdfd 119842009-09-02 Colin Watson <cjwatson@ubuntu.com>
11985
11986 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
11987 to avoid implying that only one of --shift, --ctrl, or --alt may be
11988 used.
11989
c0bc232b 119902009-09-02 Colin Watson <cjwatson@ubuntu.com>
11991
11992 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
11993 rather than comparing against S_IFREG, which will almost never work.
11994
aa0f752d 119952009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
11998 (write_blocklists): Likewise.
11999
ecb3166a 120002009-09-01 Colin Watson <cjwatson@ubuntu.com>
12001
12002 * script/lua/grub_lua.h (fputs): Supply a format string as the first
12003 argument to grub_printf.
12004
c403a125 120052009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 12006
12007 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 12008 non GNU test.
31aba781 12009
b5e7312c 120102009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * kern/file.c (grub_file_read): Spelling fix
12013
fe00f472 120142009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12015
12016 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
12017 loading of headers in some cases.
12018
cc55302e 120192009-08-30 Robert Millan <rmh.grub@aybabtu.com>
12020
12021 * configure.ac: Bump version to 1.97~beta1.
12022 * docs/version.texi: Likewise.
12023
5c90cdd2 120242009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 12025
12026 * include/grub/i386/xnu.h: Add license header.
12027 include grub/err.h explicitly.
12028
c90edae4 120292009-08-29 Robert Millan <rmh.grub@aybabtu.com>
12030
12031 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
12032 to `ufs' in the vfs.root.mountfrom kernel parameter.
12033
d8888b5c 120342009-08-29 Robert Millan <rmh.grub@aybabtu.com>
12035
12036 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
12037
12038 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
12039 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
12040
12041 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
12042 `ARRAY_SIZE' macro.
12043
6f07b921 120442009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 * kern/file.c (grub_file_read): Check offset.
12047 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
12048 * fs/jfs.c (grub_jfs_read_file): Likewise.
12049 * fs/ntfs.c (grub_ntfs_read): Likewise.
12050 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
12051 * fs/minix.c (grub_minix_read_file): Correct offset check.
12052 * fs/ufs.c (grub_ufs_read_file): Likewise.
12053
b4f34077 120542009-08-28 Colin Watson <cjwatson@ubuntu.com>
12055
12056 * term/i386/pc/console.c (bios_data_area): Cast
12057 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
12058
e7c69859 120592009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 1-bit optimised blitters.
12062
12063 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
12064 prototype.
12065 (grub_video_fbblit_replace_24bit_1bit): Likewise.
12066 (grub_video_fbblit_replace_16bit_1bit): Likewise.
12067 (grub_video_fbblit_replace_8bit_1bit): Likewise.
12068 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
12069 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
12070 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
12071 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
12072 function.
12073 (grub_video_fbblit_replace_24bit_1bit): Likewise.
12074 (grub_video_fbblit_replace_16bit_1bit): Likewise.
12075 (grub_video_fbblit_replace_8bit_1bit): Likewise.
12076 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
12077 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
12078 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
12079 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
12080 when possible.
12081 * video/video.c (grub_video_get_blit_format): Return
12082 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
12083
a57da43f 120842009-08-28 Colin Watson <cjwatson@ubuntu.com>
12085
12086 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
12087 the first argument to grub_printf.
12088
4cbe67e5 120892009-08-28 Colin Watson <cjwatson@ubuntu.com>
120902009-08-28 Robert Millan <rmh.grub@aybabtu.com>
12091
12092 Add `getkeystatus' terminal method. Add a new `keystatus' command
12093 to query it.
12094
12095 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
12096 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
12097 modifier key bitmasks.
12098 (struct grub_term_input): Add `getkeystatus' member.
12099 (grub_getkeystatus): Add prototype.
12100 * kern/term.c (grub_getkeystatus): New function.
12101
12102 * include/grub/i386/pc/memory.h
12103 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
12104 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
12105 Data Area layout.
12106 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
12107 (grub_console_term_input): Set `getkeystatus' member.
12108 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
12109 constants.
12110 (grub_usb_keyboard_getreport): Likewise.
12111 (grub_usb_keyboard_checkkey): Likewise.
12112 (grub_usb_keyboard_getkeystatus): New function.
12113 (grub_usb_keyboard_term): Set `getkeystatus' member.
12114
12115 * commands/keystatus.c: New file.
12116 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
12117 (keystatus_mod_SOURCES): New variable.
12118 (keystatus_mod_CFLAGS): Likewise.
12119 (keystatus_mod_LDFLAGS): Likewise.
12120 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
12121 commands/keystatus.c.
12122 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12123 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12124 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12125 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12126 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12127 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 12128
6e2a9085 121292009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 Split befs.mod and afs.mod into *_be.mod and *.mod
12132
12133 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
12134 (grub_fstest_SOURCES): Likewise.
12135 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
12136 (afs_be_mod_SOURCES): New variable.
12137 (afs_be_mod_CFLAGS): Likewise.
12138 (afs_be_mod_LDFLAGS): Likewise.
12139 (befs_be_mod_SOURCES): Likewise.
12140 (befs_be_mod_CFLAGS): Likewise.
12141 (befs_be_mod_LDFLAGS): Likewise.
12142 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
12143 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12144 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12145 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12146 (grub_emu_SOURCES): Likewise.
12147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12148 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12149 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12150 * fs/afs_be.c: New file.
12151 * fs/befs_be.c: New file.
12152 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
12153 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
12154 (U16): Replaced with ...
12155 (grub_afs_to_cpu16): ...this. All users updated.
12156 (U32): Replaced with ...
12157 (grub_afs_to_cpu32): ...this. All users updated.
12158 (U64): Replaced with ...
12159 (grub_afs_to_cpu64): ...this. All users updated.
12160 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
12161 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 12162 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 12163 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
12164 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
12165 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
12166 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
12167 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
12168 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
12169 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
12170 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
12171
32a71655 121722009-08-26 Bean <bean123ch@gmail.com>
12173
12174 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
12175 64-bit number.
12176 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
12177 (grub_xfs_inode_block): Change return type to grub_uint64_t.
12178 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
12179
552bf6c5 121802009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 NetBSD memory map support.
12183
12184 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
12185 (grub_netbsd_btinfo_mmap_header): New structure.
12186 (grub_netbsd_btinfo_mmap_entry): Likewise.
12187 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
12188
1ae2078c 121892009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12190
12191 Enable bsd.mod on coreboot.
12192
12193 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
12194 (bsd_mod_SOURCES): New variable.
12195 (bsd_mod_CFLAGS): Likewise.
12196 (bsd_mod_LDFLAGS): Likewise.
12197 (bsd_mod_ASFLAGS): Likewise.
12198 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
12199 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
12200
beefc598 122012009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 Cleanup NetBSD root support.
12204
12205 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
12206 grub_bsd_get_device.
12207 Fix typo.
12208
3b76e68b 122092009-08-25 Felix Zielcke <fzielcke@z-51.de>
12210
12211 * util/grub.d/00_header.in: Move check for the video backend of
12212 gfxterm from here ...
12213 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
12214 a suitable video backend.
12215
aea664ea 122162009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12217
12218 Fix breakage in grub-setup.
12219
12220 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
12221 "msdos_partition_map".
12222
ff747d50 122232009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 Fix breakage in normal/auth.c.
12226
12227 * normal/auth.c (grub_iswordseparator): New function.
12228
e7e1f93f 122292009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 Authentication support.
12232
12233 * commands/password.c: New file.
12234 * conf/common.rmk (pkglib_MODULES): Add password.mod.
12235 (password_mod_SOURCES): New variable.
12236 (password_mod_CFLAGS): Likewise.
12237 (password_mod_LDFLAGS): Likewise.
12238 (normal_mod_SOURCES): Add normal/auth.c.
12239 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
12240 normal/auth.c.
12241 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12242 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12243 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12245 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12246 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12247 * include/grub/auth.h: New file.
12248 * include/grub/err.h (grub_err_t): New enum value
12249 GRUB_ERR_ACCESS_DENIED.
12250 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
12251 'users'.
12252 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
12253 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
12254 users updated.
12255 * normal/auth.c: New file.
12256 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
12257 (grub_cmdline_run): Don't allow to go to command line without
12258 authentication.
12259 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
12260 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
12261 menuentry without superuser rights.
12262 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
12263 user isn't a superuser.
12264
70f1161d 122652009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
12266
12267 Save space by inlining misc.c functions.
12268
12269 * kern/misc.c (grub_iswordseparator): Made static.
12270 * kern/misc.c (grub_strcat): Moved from here ...
12271 * include/grub/misc.h (grub_strcat): ... here. Inlined.
12272 * kern/misc.c (grub_strncat): Moved from here ...
12273 * include/grub/misc.h (grub_strncat): ... here. Inlined.
12274 * kern/misc.c (grub_strcasecmp): Moved from here ...
12275 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
12276 * kern/misc.c (grub_strncasecmp): Moved from here ...
12277 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
12278 * kern/misc.c (grub_isalpha): Moved from here ...
12279 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
12280 * kern/misc.c (grub_isdigit): Moved from here ...
12281 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
12282 * kern/misc.c (grub_isgraph): Moved from here ...
12283 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
12284 * kern/misc.c (grub_tolower): Moved from here ...
12285 * include/grub/misc.h (grub_tolower): ... here. Inlined.
12286
48e40bff 122872009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
12288
12289 * script/sh/function.c (grub_script_function_find): Cut error message
12290 not to flood terminal.
12291 * script/sh/lexer.c (grub_script_yylex): Remove command line length
12292 limit.
12293 * script/sh/script.c (grub_script_arg_add): Duplicate string.
12294
c385bfc3 122952009-08-24 Colin Watson <cjwatson@ubuntu.com>
12296
12297 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
12298 `report' grub_uint8_t *.
12299 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
12300 Use a 50-millisecond timeout rather than just repeating
12301 grub_usb_keyboard_getreport 50 times.
12302 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
12303
2d21e3e8 123042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
12305
12306 Rename *_partition_map to part_*
12307
12308 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
12309 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
12310 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
12311 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
12312 All users updated.
12313 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
12314 All users updated.
12315 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
12316 * util/grub-probe.c (probe_partmap): Don't transform partition name
12317 to get module name.
12318
dd103c4e 123192009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
12320
12321 Fix OpenBSD and NetBSD support.
12322
12323 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
12324 memory address conflict.
12325 (OPENBSD_MMAP_ACPI): New definition.
12326 (OPENBSD_MMAP_NVS): Likewise.
12327 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
12328 and OPENBSD_MMAP_NVS.
12329 Add memory map terminator
12330 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 12331 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 12332
16c84d74 123332009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
12334
12335 Let user specify NetBSD root device.
12336
12337 * loader/i386/bsd.c (netbsd_root): New variable.
12338 (netbsd_opts): New option 'root'.
12339 (NETBSD_ROOT_ARG): New macro.
12340 (grub_netbsd_boot): Use 'netbsd_root'.
12341 (grub_bsd_unload): Free 'netbsd_root'.
12342 (grub_cmd_netbsd): Fill 'netbsd_root'.
12343
adb29902 123442009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
12345
12346 Support for 64-bit NetBSD.
12347
12348 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
12349 point when booting non-FreeBSD.
12350
f5ae9f74 123512009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 Support --no-smp and --no-acpi for NetBSD.
12354
12355 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
12356 (NETBSD_AB_NOACPI): Likewise.
12357 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
12358 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
12359
de74f136 123602009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12361
12362 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
12363 errors.
12364 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
12365 errors. Call grub_error when needed.
12366
e9a925da 123672009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12368
12369 * commands/search.c (search_fs): Try searching without autoload first.
12370 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
12371 filesystem module explicitly for faster booting.
12372
5174302b 123732009-08-23 Colin Watson <cjwatson@ubuntu.com>
12374
12375 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
12376
c8c80635 123772009-08-23 Colin Watson <cjwatson@ubuntu.com>
12378
12379 * util/grub.d/30_os-prober.in: Disable os-prober if
12380 `GRUB_DISABLE_OS_PROBER' was set to true.
12381
71acf5e5 123822009-08-23 Robert Millan <rmh.grub@aybabtu.com>
12383
12384 * partmap/pc.c: Rename to ...
12385 * partmap/msdos.c: ... this. Update all users.
12386 (grub_pc_partition_map): Rename to ...
12387 (grub_msdos_partition_map): ... this. Update all users.
12388
12389 * parttool/pcpart.c: Rename to ...
12390 * parttool/msdospart.c: ... this. Update all users.
12391
12392 * include/grub/pc_partition.h: Rename to ...
12393 * include/grub/msdos_partition.h: ... this. Update all users.
12394 (grub_pc_partition_bsd_entry): Rename to ...
12395 (grub_msdos_partition_bsd_entry): ... this. Update all users.
12396 (grub_pc_partition_disk_label): Rename to ...
12397 (grub_msdos_partition_disk_label): ... this. Update all users.
12398 (grub_pc_partition_entry): Rename to ...
12399 (grub_msdos_partition_entry): ... this. Update all users.
12400 (grub_pc_partition_mbr): Rename to ...
12401 (grub_msdos_partition_mbr): ... this. Update all users.
12402 (grub_pc_partition): Rename to ...
12403 (grub_msdos_partition): ... this. Update all users.
12404 (grub_pc_partition_is_empty): Rename to ...
12405 (grub_msdos_partition_is_empty): ... this. Update all users.
12406 (grub_pc_partition_is_extended): Rename to ...
12407 (grub_msdos_partition_is_extended): ... this. Update all users.
12408 (grub_pc_partition_is_bsd): Rename to ...
12409 (grub_msdos_partition_is_bsd): ... this. Update all users.
12410
12411 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
12412 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
12413 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
12414 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
12415 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
12416 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
12417 (gpt_mod_LDFLAGS): Rename to ...
12418 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
12419 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
12420 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
12421 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
12422 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
12423 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
12424 (part_gpt_mod_LDFLAGS): ... this.
12425 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
12426 `pcpart.mod' to `msdospart.mod'.
12427 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
12428 to ...
12429 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
12430 (msdospart_mod_LDFLAGS): ... this.
12431
c11fded5 124322009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12433
12434 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
12435 (openbsd_opts): Likewise.
12436 (netbsd_opts): Likewise.
12437 (freebsd_flags): Added 0 terminator.
12438 (openbsd_flags): Likewise.
12439 (netbsd_flags): Likewise.
12440 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
12441 (grub_cmd_freebsd): Transformed into extended command.
12442 (grub_cmd_openbsd): Likewise.
12443 (grub_cmd_netbsd): Likewise.
12444 (cmd_freebsd): Changed type to grub_extcmd_t.
12445 (cmd_openbsd): Likewise.
12446 (cmd_netbsd): Likewise.
12447 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
12448 grub_cmd_openbsd as extended commands.
12449 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
12450 cmd_netbsd and cmd_openbsd
12451
11d1c769 124522009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
12453
12454 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
12455
7a9094e5 124562009-08-21 Pavel Roskin <proski@gnu.org>
12457
5496c37e 12458 * Makefile.in (install-local): When checking if a file is in the
12459 build directory, use "test -e" to detect symlinks.
12460
7a9094e5 12461 * Makefile.in (install-local): Remove all files in
12462 $(DESTDIR)$(pkglibdir) before installing new files there.
12463
e53cea11 124642009-08-18 Felix Zielcke <fzielcke@z-51.de>
12465
12466 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
12467 grub-mkelfimage.
12468
9aced544 124692009-08-18 Felix Zielcke <fzielcke@z-51.de>
12470
12471 * util/grub-mkconfig.in: Don't use gfxterm by default if not
12472 explicitly specified by the user.
12473
b7da6bab 124742009-08-18 Pavel Roskin <proski@gnu.org>
12475
12476 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
12477 grub_uint8_t pointer for data.
12478 * include/grub/fbutil.h (struct grub_video_fbblit_info):
12479 Likewise.
12480 * video/fb/fbutil.c: Remove unnecessary casts.
12481
19f1b335 124822009-08-17 Michal Suchanek <hramrach@centrum.cz>
12483
12484 VBE cleanup.
12485
12486 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
12487 (grub_vbe_set_video_mode): Save active mode info
12488 only after setting the mode.
12489 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
12490 second argument.
12491
2f467aa9 124922009-08-17 Michal Suchanek <hramrach@centrum.cz>
12493
12494 Rename variables for clarity.
12495
12496 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
12497 (active_vbe_mode_info): ... this. All users updated.
12498 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
12499 All users updated.
12500 (initial_mode): Rename to ...
12501 (initial_vbe_mode): ... this. All users updated.
12502 (mode_in_use): Rename to ..
12503 (vbe_mode_in_use): ... this. All users updated.
12504 (mode_list): Rename to ..
12505 (vbe_mode_list): ... this. All users updated.
12506 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
12507 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
12508 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
12509 'mode_list_size' to 'vbe_mode_list_size'.
12510 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
12511 'best_mode_info' to 'best_vbe_mode_info' and
12512 'best_mode' to 'best_vbe_mode'
12513
6025fcd7 125142009-08-17 Michal Suchanek <hramrach@centrum.cz>
12515
12516 Remove duplicate grub_video_fb_get_video_ptr.
12517
12518 * include/grub/fbutil.h (get_data_ptr): Rename to ...
12519 (grub_video_fb_get_video_ptr): ... this.
12520 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
12521 * video/fb/fbutil.c: Add comment about addressing.
12522 (get_data_ptr): Rename to ...
12523 (grub_video_fb_get_video_ptr): ... this. All users updated.
12524 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
12525
cc8c6faf 125262009-08-17 Robert Millan <rmh.grub@aybabtu.com>
12527
12528 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
12529 grub_dprintf() that was just added.
12530
08aa61f0 125312009-08-17 Robert Millan <rmh.grub@aybabtu.com>
12532
12533 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
12534 (DEFAULT_VIDEO_MODE): Remove macros.
12535 (grub_linux_boot): Remove assumption that Linux has FB support,
12536 and use "text" as default video mode.
12537
7cef4f75 125382009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
12541 grub_dprintf.
12542 * fs/fat.c (grub_fat_read_data): Likewise.
12543
e1f39873 125442009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
12545
12546 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
12547 payload.
12548 (grub_module): Likewise.
12549
c166d79e 125502009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
12551
12552 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
12553 mbi->cmdline but free playground.
12554
c60cee8e 125552009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
12556
12557 Handle group offset on UFS1.
12558
12559 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
12560 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
12561
c0d8b5d4 125622009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
12563
12564 Split ufs.mod into ufs1.mod and ufs2.mod.
12565
12566 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
12567 (grub_fstest_SOURCES): Likewise.
12568 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
12569 (ufs_mod_SOURCES): Remove.
12570 (ufs_mod_CFLAGS): Likewise.
12571 (ufs_mod_LDFLAGS): Likewise.
12572 (ufs1_mod_SOURCES): New variable.
12573 (ufs1_mod_CFLAGS): Likewise.
12574 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 12575 (ufs2_mod_SOURCES): New variable.
12576 (ufs2_mod_CFLAGS): Likewise.
12577 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 12578 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
12579 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
12580 Likewise.
12581 (grub_emu_SOURCES): Likewise.
12582 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12583 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12584 (grub_setup_SOURCES): Likewise.
12585 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12586 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
12587 (grub_setup_SOURCES): Likewise.
12588 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
12589 Likewise.
12590 * fs/ufs2.c: New file.
12591 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
12592
d3539132 125932009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 Framebuffer split.
12596
12597 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
12598 subsystem at the end.
12599 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
12600 (video_fb_mod_SOURCES): New variable.
12601 (video_fb_mod_CFLAGS): Likewise.
12602 (video_fb_mod_LDFLAGS): Likewise.
12603 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
12604 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
12605 * video/i386/pc/vbeblit.c: Moved from here ...
12606 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
12607 * video/i386/pc/vbefill.c: Moved from here ...
12608 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
12609 * video/i386/pc/vbeutil.c: Moved from here ...
12610 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
12611 * include/grub/i386/pc/vbeblit.h: Moved from here ...
12612 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
12613 * include/grub/i386/pc/vbefill.h: Moved from here ...
12614 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
12615 * include/grub/i386/pc/vbeutil.h: Moved from here ...
12616 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
12617 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
12618 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
12619 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
12620 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
12621 (grub_video_adapter): Added 'get_info_and_fini'.
12622 (grub_video_get_info_and_fini): New prototype.
12623 (grub_video_set_mode): make modestring const char *.
12624 * loader/i386/linux.c (grub_linux_setup_video): Use
12625 grub_video_get_info_and_fini.
12626 (grub_linux_boot): Move modesetting just before booting.
12627 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
12628 grub_video_get_info_and_fini.
12629 * video/i386/pc/vbe.c: Moved framebuffer part ...
12630 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
12631 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
12632 grub_video_fbstd_colors and grub_video_fb_set_palette.
12633 (grub_video_vbe_init): Clear 'framebuffer' variable and use
12634 grub_video_fb_init.
12635 (grub_video_vbe_fini): Use grub_video_fb_fini.
12636 (grub_video_vbe_setup): Use framebuffer.render_target instead of
12637 render_target and use grub_video_fb_set_active_render_target and
12638 grub_video_fb_set_palette.
12639 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
12640 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
12641 (grub_video_vbe_adapter): Use framebuffer.
12642 * video/video.c (grub_video_get_info_and_fini): New function.
12643 (grub_video_set_mode): Make modestring const char *.
12644 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
12645 values are already initialised.
12646
d404ee56 126472009-08-14 Pavel Roskin <proski@gnu.org>
12648
12649 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
12650 ABS and APPLE_CC.
12651 * boot/i386/pc/diskboot.S: Likewise.
12652 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
12653 sectors allow compilation on MacOSX.
12654 * conf/i386-pc.rmk: Enable unconditional compilation of
12655 lnxboot.img.
12656
9a10df16 126572009-08-13 Colin Watson <cjwatson@ubuntu.com>
12658
12659 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
12660 * util/grub.d/00_header.in: Enter interruptible sleep if
12661 GRUB_HIDDEN_TIMEOUT is set.
12662
be3c9ca7 126632009-08-13 Yves Blusseau <blusseau@zetam.org>
12664
12665 * include/grub/symbol.h: Add the LOCAL macro.
12666 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
12667 starting with "L_".
12668
1f9e557e 126692009-08-13 Pavel Roskin <proski@gnu.org>
12670
9ca62843 12671 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
12672 any modern compilers we support.
12673
1f9e557e 12674 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
12675 Use local labels starting with "L_" so that Apple assembler
12676 knows they are local.
12677
81623db6 126782009-08-10 Robert Millan <rmh.grub@aybabtu.com>
12679
12680 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
12681 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
12682 (bsd_kernel_types): ... this enum.
12683
12684 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
12685 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
12686 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
12687
12688 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
12689 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
12690 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
12691 messages.
12692
f5d35e7a 126932009-08-08 Robert Millan <rmh.grub@aybabtu.com>
12694
12695 * util/grub-dumpdevtree: Moved from here ...
12696 * util/i386/efi/grub-dumpdevtree: ... to here.
12697 (hexify): New function. Converts a string to its hex version.
12698 Generate hex versions of "efi" and "device-properties" by calling
12699 hexify() on the ASCII strings rather than by hardcoding numbers.
12700
d1e1d527 127012009-08-08 Robert Millan <rmh.grub@aybabtu.com>
12702
12703 * fs/jfs.c: Update copyright year.
12704
1ebbe064 127052009-08-08 Felix Zielcke <fzielcke@z-51.de>
12706
12707 * util/grub.d/00_header.in: Fix a comment.
12708 * util/grub.d/10_linux.in: Likewise.
12709 * util/grub.d/10_windows.in: Likewise.
12710 * util/grub.d/10_hurd.in: Likewise.
12711
a78c8d24 127122009-08-08 Felix Zielcke <fzielcke@z-51.de>
12713
12714 * util/grub-mkconfig.in: Allow the user to specify the used font
12715 with GRUB_FONT.
12716
29a6b9e8 127172009-08-08 Pavel Roskin <proski@gnu.org>
12718
b5f16cc4 12719 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
12720 available, xfs.mod needs it now.
12721
2f5cb827 12722 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
12723 the "g" modifier in sed when the intention is to strip something
12724 once. This fixes comparison of kernels with multiple dashes.
12725
29a6b9e8 12726 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
12727 on it. Add missing space before closing bracket. Fix
12728 misleading formatting.
12729
892a3d98 127302009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12731
12732 * docs/grub.texi: Major overhaul. Remove all sections that are
12733 specific to GRUB Legacy, or mostly composed of Legacy-specific
12734 information.
12735
ed94253f 127362009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12737
12738 * docs/version.texi: New file. Provides version information for
12739 grub.texi.
12740
126d6628 127412009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12742
12743 * docs/grub.texi: Update CVS information to SVN.
12744 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
12745
998b5aa9 127462009-08-07 Felix Zielcke <fzielcke@z-51.de>
12747
12748 * util/grub-mkconfig.in: Remove a wrong `fi'.
12749
818e094a 127502009-08-07 Felix Zielcke <fzielcke@z-51.de>
12751
12752 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
12753 (grub_jfs_uuid): New function.
12754 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
12755
b969c52f 127562009-08-07 Felix Zielcke <fzielcke@z-51.de>
12757
12758 * util/grub-mkconfig_lib.in (font_path): Move the functionality
12759 of it to ...
12760 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
12761 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
12762
7a4894cc 127632009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12764
12765 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
12766 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
12767 Update all users.
12768
12769 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
12770 not just "vmlinu[zx]".
12771 Moved from here ...
12772 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
12773 all users.
12774
12775 * util/grub.d/10_linux.in (find_latest): Moved from here ...
12776 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
12777 all users.
12778
4e2171f8 127792009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12780
12781 * util/grub.d/10_freebsd.in: Use an absolute device path for
12782 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
12783
6dcfcb32 127842009-08-06 Felix Zielcke <fzielcke@z-51.de>
12785
12786 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
12787 handling of multiple abstraction modules.
12788
f56a8756 127892009-08-04 Robert Millan <rmh.grub@aybabtu.com>
12790
12791 Fix a bug resulting in black screen when loading Linux using a
12792 packed video mode.
12793
12794 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
12795 function.
12796
12797 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
12798 (grub_vbe_bios_getset_dac_palette_width): New function.
12799 (grub_vbe_bios_get_dac_palette_width)
12800 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
12801 grub_vbe_bios_getset_dac_palette_width()).
12802
12803 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
12804 check for return status.
12805 (grub_vbe_get_video_mode_info): When getting information for a packed
12806 mode (<= 8 bpp), obtain DAC palette width using
12807 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
12808 {red,green,blue}_mark_size.
12809
222671b2 128102009-08-04 Felix Zielcke <fzielcke@z-51.de>
12811
ecb1a6d9 12812 * commands/search.c (options): Fix help output to match actual code.
222671b2 12813
f84114f5 128142009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
12817 of homegrown code.
12818
bd288a20 128192009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 12820
12821 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
12822 on XFS or ReiserFS.
12823
8aab5e25 128242009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12825
12826 Support Apple partition map with sector size different from 512 bytes.
12827
12828 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
12829 (apple_partition_map_iterate): Respect 'aheader.blocksize'
12830 and 'apart.partmap_size'.
12831
6ad6258a 128322009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
128332009-08-01 Robert Millan <rmh.grub@aybabtu.com>
12834
12835 Fix cpuid command.
12836
12837 * commands/i386/cpuid.c (options): New variable.
12838 (grub_cmd_cpuid): Return real error.
12839 (GRUB_MOD_INIT(cpuid)): Declare options.
12840
67459bc6 128412009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
12844 valid.
12845
fbc6ab54 128462009-07-31 Bean <bean123ch@gmail.com>
12847
12848 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
12849 log2_inode.
12850 (grub_fshelp_node): Move inode field to the end.
12851 (grub_xfs_data): Remove inode field.
12852 (grub_xfs_inode_block): Calculate inode size using sblock.
12853 (grub_xfs_inode_offset): Likewise.
12854 (grub_xfs_read_inode): Calculate inode size using sblock.
12855 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
12856 (grub_xfs_iterate_dir): Calculate inode size using sblock.
12857 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
12858 to match inode size.
12859 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
12860 not accessible when data is null.
12861 (grub_xfs_open): Likewise.
12862
f45d6cfc 128632009-07-31 Bean <bean123ch@gmail.com>
12864
12865 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
12866 Don't change pv->disk if it's already set.
12867
12868 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
12869 (grub_raid_register): ... here.
12870 (grub_raid_rescan): Removed.
12871
12872 * include/grub/raid.h (grub_raid_rescan): Removed.
12873
12874 * util/grub-fstest.c: Remove include file <grub/raid.h>.
12875 (fstest): Replace grub_raid_rescan with module fini function followed
12876 by init function.
12877
12878 * util/grub-probe.c: Add include file <grub/raid.h>.
12879 (probe_raid_level): New function.
12880 (probe): Detect abstraction by walking the disk device, support two
12881 level of abstraction (LVM on RAID) when detecting partition map.
12882
24443b5a 128832009-07-31 Pavel Roskin <proski@gnu.org>
12884
12885 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
12886 to grub_zalloc(), it was erroneous.
12887 Reported by Bean <bean123ch@gmail.com>
12888
a275d9e7 128892009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
12890
12891 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 12892 embedding zone, not only the first one.
a275d9e7 12893
56c5a47f 128942009-07-29 Joe Auricchio <jauricchio@gmail.com>
12895
12896 * term/gfxterm.c (clear_char): New function.
12897 (grub_virtual_screen_setup): Use clear_char.
12898 (scroll_up): Likewise.
12899 (grub_virtual_screen_cls): Likewise.
12900
67bb323a 129012009-07-29 Felix Zielcke <fzielcke@z-51.de>
12902
12903 * util/deviceiter.c (get_acceleraid_disk_name): New static
12904 function.
12905 (grub_util_iterate_devices): Handle Accelraid devices.
12906 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
12907
388a7c75 129082009-07-28 Robert Millan <rmh.grub@aybabtu.com>
12909
12910 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
12911 separator for the suggested gfxpayload string (';' collides with the
12912 parser and needs escaping).
12913
3bb7abcf 129142009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
12915
12916 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
12917 Clear direction flag before jumping to OS.
12918 (grub_multiboot2_real_boot): Likewise.
12919
2ddd36d7 129202009-07-28 Felix Zielcke <fzielcke@z-51.de>
12921
12922 * util/i386/pc/grub-install: Fix parsing of --disk-module
12923 option.
12924
c521b62b 129252009-07-28 Felix Zielcke <fzielcke@z-51.de>
12926
12927 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
12928 when embedding.
12929
880e0a0c 129302009-07-26 Felix Zielcke <fzielcke@z-51.de>
12931
12932 * util/grub-mkconfig.in (package_version): New variable.
12933 Use it do display the version.
12934
2366e356 129352009-07-25 Felix Zielcke <fzielcke@z-51.de>
12936
12937 * kern/file.c (grub_file_open): Revert to previous check with
12938 grub_errno.
12939
7ad8c80e 129402009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12941
12942 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
12943 from help line. It's out of sync with code.
12944
72b9658b 129452009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12946
12947 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
12948 entries on failed boot.
12949
77435277 129502009-07-25 Felix Zielcke <fzielcke@z-51.de>
12951
12952 * kern/file.c (grub_file_open): Fix an error check.
12953
fcaa8b21 129542009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
12955
35d16c74 12956 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
12957 partition map couldn't be identified.
fcaa8b21 12958
48904cd1 129592009-07-23 Pavel Roskin <proski@gnu.org>
12960
ef3c317f 12961 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
12962 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
12963 case of little endian words becomes just an optimization.
12964 Respect const modifier.
ad8ea1f4 12965 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 12966
48904cd1 12967 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
12968 to avoid loss of upper bits if align is unsigned and shorter
12969 than addr.
12970
260c9a89 129712009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
12972
12973 UUID support for UFS
12974
12975 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
12976 (grub_ufs_uuid): New function.
12977 (grub_ufs_fs): add .uuid
12978
f76ce889 129792009-07-21 Pavel Roskin <proski@gnu.org>
12980
12981 * kern/dl.c (grub_dl_check_header): Make static.
12982
6a6cbcaf 129832009-07-21 Felix Zielcke <fzielcke@z-51.de>
12984
12985 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
12986 add drivemap for Vista. It breaks Windows 7.
12987
cffcddb2 129882009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
12991 128 bytes
12992
1ef44b80 129932009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12994
12995 Add BFS support
12996
12997 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
12998 (grub_fstest_SOURCES): Likewise.
12999 (pkglib_MODULES): Add befs.mod.
13000 (befs_mod_SOURCES): New variable.
13001 (befs_mod_CFLAGS): Likewise.
13002 (befs_mod_LDFLAGS): Likewise.
13003 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13004 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13005 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13006 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13007 (grub_setup_SOURCES): Likewise.
13008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13009 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13010 (grub_setup_SOURCES): Likewise.
13011 * fs/befs.c: New file.
13012 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
13013 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
13014 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
13015 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
13016 (B_KEY_INDEX_ALIGN): New declaration.
13017 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
13018 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
13019 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
13020 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
13021 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
13022 (grub_afs_mount) [MODE_BFS]: Likewise.
13023 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
13024 (grub_afs_fs): Use GRUB_AFS_FSNAME
13025 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
13026 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
13027 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
13028 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
13029
4f253044 130302009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
13031
13032 * util/getroot.c (find_root_device): Add support for MacOSX.
13033 * util/hostdisk.c: Likewise.
13034
57a55913 130352009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13036
13037 * font/font.c (find_glyph): Check whether a font is present to avoid
13038 segmentation fault.
75421ca9 13039
130402009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 13041
13042 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
13043
e98cd0c2 130442009-07-20 Pavel Roskin <proski@gnu.org>
13045
13046 * configure.ac: Trim excessively wordy excuses.
13047
1d2d169a 130482009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13049
13050 Add symlink, mtime and label support to AtheFS.
13051
13052 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
13053 (grub_afs_iterate_dir): Handle symlinks.
13054 (grub_afs_open): Use grub_afs_read_symlink.
13055 (grub_afs_dir): Likewise.
13056 Pass mtime.
13057 (grub_afs_label): New function.
13058 (grub_afs_fs): Add grub_afs_label.
13059 (grub_afs_read_symlink): New function.
13060
186f3189 130612009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13062
13063 Fix AtheFS support.
13064
13065 * fs/afs.c: Fix comments style.
13066 (grub_afs_blockrun): Declare as packed.
13067 (grub_afs_datastream): Likewise.
13068 (grub_afs_bnode): Likewise.
13069 (grub_afs_btree): Likewise.
13070 (grub_afs_sblock): Likewise.
13071 Declare `name' as char.
13072 (grub_afs_inode): Declare as packed.
13073 Change void *vnode to grub_uint32_t unused.
13074 (grub_afs_iterate_dir): Check that key_size is positive.
13075 (grub_afs_mount): Don't read superblock twice.
75421ca9 13076 (grub_afs_dir): Don't free node in case of error,
186f3189 13077 grub_fshelp_find_file already handles this.
13078 (grub_afs_open): Likewise.
13079
5680109e 130802009-07-19 Pavel Roskin <proski@gnu.org>
13081
13082 * Makefile.in: Remove LIBLZO and enable_lzo.
13083 * conf/i386-pc.rmk: Remove lzo support.
13084 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
13085 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
13086 support.
13087 * kern/i386/pc/lzo1x.S: Remove.
13088 * kern/i386/pc/startup.S: Remove lzo support.
13089 * util/i386/pc/grub-mkimage.c: Likewise.
13090
ac70fa32 130912009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
13094 * fs/xfs.c (grub_xfs_dir): Likewise.
13095 * fs/afs.c (grub_afs_dir): Likewise.
13096 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
13097 (grub_iso9660_open): Likewise.
13098 * fs/jfs.c (grub_jfs_open): Likewise.
13099 * fs/ext2.c (grub_ext2_dir): Likewise.
13100 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
13101 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 13102
eab58da2 131032009-07-16 Pavel Roskin <proski@gnu.org>
13104
d2838156 13105 * configure.ac: Never add "-c" to CFLAGS.
13106
55c70904 13107 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
13108
43e6200c 13109 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
13110 grub_cv_cc_efiemu should be used.
13111
ce7a733d 13112 * configure.ac: Typo fixes.
13113
eab58da2 13114 * kern/mm.c (grub_zalloc): New function.
13115 (grub_debug_zalloc): Likewise.
13116 * include/grub/mm.h: Declare grub_zalloc() and
13117 grub_debug_zalloc().
13118 * util/misc.c (grub_zalloc): New function.
13119 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
13120 instead of grub_malloc(), remove unneeded initializations.
13121 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
13122 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
13123 * commands/parttool.c (grub_cmd_parttool): Likewise.
13124 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
13125 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
13126 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
13127 * disk/usbms.c (grub_usbms_finddevs): Likewise.
13128 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
13129 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
13130 (grub_cmd_efiemu_pnvram): Likewise.
13131 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
13132 * fs/iso9660.c (grub_iso9660_mount): Likewise.
13133 (grub_iso9660_iterate_dir): Likewise.
13134 * fs/jfs.c (grub_jfs_opendir): Likewise.
13135 * fs/ntfs.c (list_file): Likewise.
13136 (grub_ntfs_mount): Likewise.
13137 * kern/disk.c (grub_disk_open): Likewise.
13138 * kern/dl.c (grub_dl_load_core): Likewise.
13139 * kern/elf.c (grub_elf_file): Likewise.
13140 * kern/env.c (grub_env_context_open): Likewise.
13141 (grub_env_set): Likewise.
13142 (grub_env_set_data_slot): Likewise.
13143 * kern/file.c (grub_file_open): Likewise.
13144 * kern/fs.c (grub_fs_blocklist_open): Likewise.
13145 * loader/i386/multiboot.c (grub_module): Likewise.
13146 * loader/xnu.c (grub_xnu_create_key): Likewise.
13147 (grub_xnu_create_value): Likewise.
13148 * normal/main.c (grub_normal_add_menu_entry): Likewise.
13149 (read_config_file): Likewise.
13150 * normal/menu_entry.c (make_screen): Likewise.
13151 * partmap/sun.c (sun_partition_map_iterate): Likewise.
13152 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
13153 * script/sh/script.c (grub_script_parse): Likewise.
13154 * video/bitmap.c (grub_video_bitmap_create): Likewise.
13155 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
13156 * video/readers/png.c (grub_png_output_byte): Likewise.
13157 (grub_video_reader_png): Likewise.
13158
830afef7 131592009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 13160
13161 Enable all targets that can be built by default
13162
830afef7 13163 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 13164 grub-mkfont and grub-fstest if they can be built
13165
ee293aee 131662009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 Fix hang and segmentation fault in grub-emu-usb
13169
13170 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
13171 * util/usb.c (grub_libusb_devices): likewise
13172 (grub_libusb_init): rename to ...
13173 (GRUB_MOD_INIT (libusb)):...this
13174 (grub_libusb_fini): rename to ..
13175 (GRUB_MOD_FINI (libusb)):...this
13176 * disk/usbms.c (grub_usbms_transfer): fix retry logic
13177 * include/grub/disk.h (grub_raid_init): removed, it's useless
13178 (grub_raid_fini): likewise
13179 (grub_lvm_init): likewise
13180 (grub_lvm_fini): likewise
13181 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
13182 by grub_init_all
13183
94414221 131842009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
13185
13186 Fix libusb
13187
13188 * Makefile.in (LIBUSB): new macro
13189 * genmk.rb (Utility/print_tail): new method
13190 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
13191 (top level): call util.print_tail at the end.
13192
59ade63d 131932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
13194
13195 Make FreeBSD accept zpool.cache
13196
13197 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
13198 type is /boot/zfs/zpool.cache
13199
a58da8c7 132002009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 Fix 64-bit efiemu
13203
13204 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
13205 correct wrong typedef
13206 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
13207
20591577 132082009-07-15 Pavel Roskin <proski@gnu.org>
13209
560ca572 13210 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
13211 * kern/disk.c (struct grub_disk_cache): Likewise.
13212
e8e8e4fd 13213 * commands/probe.c (options): Typo fix.
13214
fde24e10 13215 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
13216 Increase to 0x5a to accommodate FAT32. Adjust other offsets
13217 accordingly.
13218 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
13219
379c54c1 13220 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
13221 the end of "Error" to make the message more readable.
13222
7bd8f5bf 13223 * boot/i386/pc/boot.S (kernel_segment): Remove.
13224 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
13225 for destination.
13226
40b132c5 13227 * boot/i386/pc/boot.S (boot_version): Remove.
13228 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
13229 Remove.
13230
20591577 13231 * include/grub/i386/pc/boot.h: Sort all offsets.
13232 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
13233 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
13234 * boot/i386/pc/boot.S: Assert location of every offset listed in
13235 include/grub/i386/pc/boot.h.
13236
2df32b2c 132372009-07-13 Pavel Roskin <proski@gnu.org>
13238
44b5d879 13239 * include/grub/i386/coreboot/machine.h: Rename
13240 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
13241 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
13242 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
13243
17dc3751 13244 * kern/dl.c: Force native word size to suppress warnings when
13245 compiling grub-emu.
13246
2df32b2c 13247 * kern/device.c (grub_device_iterate): Change struct part_ent to
13248 hold the name, not a pointer to it. Use one grub_malloc() per
13249 partition, not two. Free partition_name if grub_malloc() fails.
13250 Set ents to NULL only before grub_partition_iterate() is called.
13251
75c59f59 132522009-07-11 Bean <bean123ch@gmail.com>
13253
13254 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
13255 childname.
13256
0ae1bf88 132572009-07-10 Bean <bean123ch@gmail.com>
132582009-07-10 Robert Millan <rmh.grub@aybabtu.com>
13259
13260 * kern/ieee1275/openfw.c (grub_children_iterate)
13261 (grub_devalias_iterate): Fix size evaluation for property or path
13262 strings, which was broken since r2132.
13263
8279cade 132642009-07-07 Pavel Roskin <proski@gnu.org>
13265
7d8a52d3 13266 * commands/search.c (search_file): Merge into ...
13267 (search_fs): ... this. Accept search type as argument.
13268 (grub_cmd_search): Pass search type to search_fs().
13269
25f9a05a 13270 * include/grub/util/console.h: New file.
13271 * util/console.c: Use it instead of grub/machine/console.h.
13272 * util/grub-emu.c: Likewise.
13273
8279cade 13274 * lib/arg.c (find_long_option): Remove.
13275 (find_long): Add `len' argument, make `s' const char *.
13276 (grub_arg_parse): Parse long options in place, not in a
13277 temporary buffer.
13278
4a11b60f 132792009-07-06 Pavel Roskin <proski@gnu.org>
13280
99f68041 13281 * commands/search.c (search_fs): Fix potential NULL pointer
13282 dereference.
13283
4a11b60f 13284 * commands/search.c (search_fs): Replace QUID macro with quid_fn
13285 function pointer.
13286
e110f4de 132872009-07-06 Daniel Mierswa <impulze@impulze.org>
13288
13289 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
13290 comparison.
13291
46eeb6a2 132922009-07-05 Pavel Roskin <proski@gnu.org>
13293
bab74958 13294 * include/grub/i386/linux.h (struct linux_kernel_params):
13295 Restore padding3, it's still needed.
13296
46eeb6a2 13297 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
13298 FreeBSD.
13299 * util/osdetect.lua: Likewise.
13300
b4a1dc79 133012009-07-05 Bean <bean123ch@gmail.com>
13302
13303 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
13304
13305 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
13306 (grub_lua_getenv): Likewise.
13307 (grub_lua_setenv): Likewise.
13308 (save_errno): New function.
13309 (push_result): Likewise.
13310 (grub_lua_enum_device): Likewise.
13311 (grub_lua_enum_file): Likewise.
13312 (grub_lua_file_open): Likewise.
13313 (grub_lua_file_close): Likewise.
13314 (grub_lua_file_seek): Likewise.
13315 (grub_lua_file_read): Likewise.
13316 (grub_lua_file_getline): Likewise.
13317 (grub_lua_file_getsize): Likewise.
13318 (grub_lua_file_getpos): Likewise.
13319 (grub_lua_file_eof): Likewise.
13320 (grub_lua_file_exist): Likewise.
13321 (grub_lua_add_menu): Likewise.
13322
13323 * script/lua/grub_lua.h (isupper): New inline function.
13324 (islower): Likewise.
13325 (ispunct): Likewise.
13326 (isxdigit): Likewise.
13327 (strcspn): Change to normal function.
13328 (strpbkr): New function declaration.
13329 (memchr): Likewise.
13330
13331 * script/lua/grub_main.c (scan_str): New function.
13332 (strcspn): Likewise.
13333 (strpbrk): Likewise.
13334 (memchr): Likewise.
13335
13336 * script/lua/linit.c (lualibs): Enable the string library.
13337
13338 * util/osdetect.lua: New file.
13339
2da92295 133402009-07-04 Robert Millan <rmh.grub@aybabtu.com>
13341
13342 * include/grub/i386/linux.h (struct linux_kernel_params): Add
13343 `capabilities' member.
13344
b2582ec9 133452009-07-02 Pavel Roskin <proski@gnu.org>
13346
13347 * genparttoollist.sh: Add missing newline at the end.
13348
32622956 133492009-07-01 Pavel Roskin <proski@gnu.org>
13350
87a7339e 13351 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
13352
d23af54e 13353 * util/hostdisk.c (open_device): Remove `const' from
13354 `sysctl_size', as sysctlbyname() can change it (in this case it
13355 doesn't actually happen).
13356
c94b18a9 13357 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
13358 using signed long int constants.
13359
c6cd3ef0 13360 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
13361 constant to avoid a warning on FreeBSD.
13362
0df63420 13363 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
13364 where it's needed.
13365
999577f1 13366 * Makefile.in: Install include/grub/machine symlink.
13367
6f41557f 13368 * Makefile.in: When installing symlinks, use "cp -fR", which
13369 works on FreeBSD and MacOSX.
13370 From Yves Blusseau <cl7m42e02@sneakemail.com>
13371
c8d22988 13372 * kern/dl.c (grub_dl_resolve_symbol): Make static.
13373 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
13374
1b96e952 13375 * util/misc.c: Move grub_reboot() and grub_halt() ...
13376 * util/grub-emu.c: ... here. Make main_env static.
13377 * include/grub/util/misc.h: Remove main_env.
13378
2ef0084d 13379 * kern/mm.c: Use correct format to print size_t.
13380
32622956 13381 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
13382 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
13383 * kern/powerpc/dl.c: Likewise.
13384 * kern/sparc64/dl.c: Likewise.
13385 * kern/x86_64/dl.c: Likewise.
13386
3f7f0cd0 133872009-07-01 Robert Millan <rmh.grub@aybabtu.com>
13388
13389 Fix grub-emu build on sparc64-ieee1275.
13390
75421ca9 13391 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 13392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
13393
211d06b5 133942009-07-01 Robert Millan <rmh.grub@aybabtu.com>
13395
13396 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
13397 (grub_reboot, grub_halt): New functions.
13398
13399 * util/i386/pc/misc.c: Delete. Update all users.
13400 * util/sparc64/ieee1275/misc.c: Likewise.
13401 * util/powerpc/ieee1275/misc.c: Likewise.
13402
aaf53e3c 134032009-07-01 Robert Millan <rmh.grub@aybabtu.com>
13404
13405 * conf/i386.rmk (setjmp_mod_SOURCES)
13406 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
13407 * conf/common.rmk (setjmp_mod_SOURCES)
13408 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
13409 to use $(target_cpu).
13410 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
13411 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
13412 * conf/powerpc-ieee1275.rmk: Likewise.
13413 * conf/sparc64-ieee1275.rmk: Likewise.
13414
13415 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
13416 $(target_cpu) for kern/$(target_cpu)/dl.c.
13417 * conf/i386-efi.rmk: Likewise.
13418 * conf/i386-ieee1275.rmk: Likewise.
13419 * conf/x86_64-efi.rmk: Likewise.
13420 * conf/i386-coreboot.rmk: Likewise.
13421 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
13422 $(target_cpu) for kern/$(target_cpu)/dl.c and for
13423 kern/$(target_cpu)/cache.S.
13424 * conf/sparc64-ieee1275.rmk: Likewise.
13425
a337130b 134262009-07-01 Robert Millan <rmh.grub@aybabtu.com>
13427
13428 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
13429 type to `grub_uint8_t', and adjust `padding9' accordingly.
13430
c6fe4d53 134312009-06-29 Robert Millan <rmh.grub@aybabtu.com>
13432
b09db61d 13433 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
13434
c6fe4d53 13435 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
13436 assembly in final jump, using register constraints.
13437
b09db61d 13438 (grub_linux_boot): For text mode, initialize `have_vga' using
13439 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
13440
13441 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
13442 right before the final jump.
13443
13444 Set `video_mode' to 0x3.
13445
13446 Document initialization of `video_page', `video_mode' and
13447 `video_ega_bx'.
13448
28333ad0 134492009-06-29 Robert Millan <rmh.grub@aybabtu.com>
13450
13451 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
13452 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 13453 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 13454
02164e1b 134552009-06-29 Robert Millan <rmh.grub@aybabtu.com>
13456
13457 Fix build on Debian / sparc.
13458
13459 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
13460
18b6c557 134612009-06-28 Pavel Roskin <proski@gnu.org>
13462
85f2aab6 13463 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
13464 fix a warning.
13465
18b6c557 13466 * util/grub.d/10_linux.in: Match SUSE style initrd names.
13467
ad760f81 134682009-06-27 Robert Millan <rmh.grub@aybabtu.com>
13469
13470 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
13471 `err'.
13472
87a4623b 134732009-06-27 Robert Millan <rmh.grub@aybabtu.com>
13474
13475 Revert r2338.
13476
13477 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
13478 file can't be opened. grub_file_open() is already supposed to set
75421ca9 13479 grub_errno / grub_errmsg appropriately.
87a4623b 13480 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13481
8231fb77 134822009-06-27 Pavel Roskin <proski@gnu.org>
134832009-06-27 Robert Millan <rmh.grub@aybabtu.com>
13484
13485 * include/grub/dl.h: Include grub/elf.h.
13486 (struct grub_dl): Add symtab field.
13487 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
13488 GRUB_MODULES_MACHINE_READONLY.
13489 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
13490 of the header for read-only modules.
13491 (grub_dl_unload): Free mod->symtab for read-only modules.
13492 * kern/i386/dl.c: Use mod->symtab.
13493 * kern/powerpc/dl.c: Likewise.
13494 * kern/sparc64/dl.c: Likewise.
13495 * kern/x86_64/dl.c: Likewise.
13496
13497 * conf/i386-qemu.rmk: New file.
13498 * kern/i386/qemu/startup.S: Likewise.
13499 * kern/i386/qemu/mmap.c: Likewise.
13500 * boot/i386/qemu/boot.S: Likewise.
13501 * include/grub/i386/qemu/time.h: Likewise.
13502 * include/grub/i386/qemu/serial.h: Likewise.
13503 * include/grub/i386/qemu/kernel.h: Likewise.
13504 * include/grub/i386/qemu/console.h: Likewise.
13505 * include/grub/i386/qemu/boot.h: Likewise.
13506 * include/grub/i386/qemu/init.h: Likewise.
13507 * include/grub/i386/qemu/machine.h: Likewise.
13508 * include/grub/i386/qemu/loader.h: Likewise.
13509 * include/grub/i386/qemu/memory.h: Likewise.
13510
13511 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
13512 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
13513 [qemu] (pkglib_IMAGES): Add `boot.img'.
13514 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
13515 [qemu] (boot_img_FORMAT): New variables.
13516 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
13517 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
13518 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
13519 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13520 [qemu] (kernel_img_FORMAT): New variables.
13521
13522 * configure.ac: Recognise `i386-qemu'.
13523
13524 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
13525 (for no compression).
13526 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
13527 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
13528 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
13529 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
13530 ifdefs).
13531
97fe384e 135322009-06-27 Pavel Roskin <proski@gnu.org>
13533
13534 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
13535 read.
13536 * efiemu/prepare32.c: Likewise.
13537 * efiemu/prepare64.c: Likewise.
13538
c402ab17 135392009-06-26 Pavel Roskin <proski@gnu.org>
13540
13541 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
13542 * include/grub/elf.h: Define symbols without "32" or "64" based
13543 on GRUB_TARGET_WORDSIZE.
13544 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
13545 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
13546 ELF definitions.
13547 * efiemu/loadcore64.c: Likewise.
13548 * loader/i386/bsd32.c: Likewise.
13549 * loader/i386/bsd64.c: Likewise.
13550 * kern/dl.c: Remove own ELF definitions.
13551 * util/i386/efi/grub-mkimage.c: Likewise.
13552
9bbdfd4d 135532009-06-23 Robert Millan <rmh.grub@aybabtu.com>
13554
13555 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
13556 segment 0x0 unconditionally, because the reference generated by
13557 GAS is an absolute address.
13558
a42ce6e9 135592009-06-22 Robert Millan <rmh.grub@aybabtu.com>
13560
13561 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
13562 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
13563
c952cf92 135642009-06-22 Robert Millan <rmh.grub@aybabtu.com>
13565
13566 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
13567 indexes. Check for -f explicitly.
cc3752ad 13568 (search_file): Improve error message.
13569 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 13570
132a0a59 135712009-06-22 Robert Millan <rmh.grub@aybabtu.com>
13572
13573 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
13574 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
13575
387a140c 135762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
13577
13578 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
13579 * conf/i386-ieee1275.rmk: Likewise.
13580 * conf/i386-coreboot.rmk: Likewise.
13581
13582 * kern/i386/pc/startup.S (grub_stop): Remove function.
13583 * kern/i386/ieee1275/startup.S: Likewise.
13584 * kern/i386/coreboot/startup.S: Likewise.
13585 * kern/i386/misc.S (grub_stop): New function.
13586
41da9665 135872009-06-22 Robert Millan <rmh.grub@aybabtu.com>
13588
13589 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
13590 * kern/i386/realmode.S (real_to_prot): ... to here.
13591
bf337234 135922009-06-22 Robert Millan <rmh.grub@aybabtu.com>
13593
13594 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
13595 with `kernel.img'.
13596 (kernel_elf_SOURCES): Rename to ...
13597 (kernel_img_SOURCES): ... this.
13598 (kernel_elf_HEADERS): Rename to ...
13599 (kernel_img_HEADERS): ... this. Update all users.
13600 (kernel_elf_ASFLAGS): Rename to ...
13601 (kernel_img_ASFLAGS): ... this.
13602 (kernel_elf_CFLAGS): Rename to ...
13603 (kernel_img_CFLAGS): ... this.
13604 (kernel_elf_LDFLAGS): Rename to ...
13605 (kernel_img_LDFLAGS): ... this.
13606 * conf/i386-coreboot.rmk: Likewise.
13607 * conf/powerpc-ieee1275.rmk: Likewise.
13608
13609 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
13610 with "kernel.img".
13611
f52196ff 136122009-06-21 Pavel Roskin <proski@gnu.org>
13613
c3cee413 13614 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
13615 to match nested functions.
13616 * loader/sparc64/ieee1275/linux.c: Likewise.
13617
f52196ff 13618 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
13619
58750afc 136202009-06-21 Robert Millan <rmh.grub@aybabtu.com>
13621
13622 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
13623 all i386 platforms.
13624
15355c7d 136252009-06-21 Robert Millan <rmh.grub@aybabtu.com>
13626
13627 Fix asm file handling on ELF, and remove workarounds.
13628
13629 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 13630 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 13631 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
13632 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
13633
3f3ec72b 136342009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 Load BSD ELF modules
13637
13638 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
13639 and loader/i386/bsd64.c
13640 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
13641 (FREEBSD_MODTYPE_ELF_MODULE): New definition
13642 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
13643 (grub_freebsd_load_elfmodule32): New declaration
13644 (grub_freebsd_load_elfmoduleobj64): Likewise
13645 (grub_freebsd_load_elf_meta32): Likewise
13646 (grub_freebsd_load_elf_meta64): Likewise
13647 (grub_freebsd_add_meta): Likewise
13648 (grub_freebsd_add_meta_module): Likewise
13649 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
13650 (grub_freebsd_add_meta_module): Likewise and move module-specific
13651 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
13652 (grub_cmd_freebsd): Add elf-kernel specific parts
13653 based on grub_freebsd_add_meta_module
13654 (grub_cmd_freebsd_module): Add type parsing moved from
13655 grub_freebsd_add_meta_module
13656 (grub_cmd_freebsd_module_elf): New function
13657 (cmd_freebsd_module_elf): New variable
13658 (GRUB_MOD_INIT): Register freebsd_module_elf
13659 * loader/i386/bsd32.c: New file
13660 * loader/i386/bsd64.c: Likewise
13661 * loader/i386/bsdXX.c: Likewise
13662 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
13663 (grub_elf64_load): Likewise
13664 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
13665 All users updated
13666 (grub_elf64_load_hook_t): Likewise
13667
0db15301 136682009-06-21 Colin Watson <cjwatson@ubuntu.com>
13669
13670 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
13671 variable.
13672 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
13673 don't write a menu entry for recovery mode.
13674
546796c1 136752009-06-20 Robert Millan <rmh.grub@aybabtu.com>
13676
13677 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
13678 after it's no longer needed.
13679
cd7310d5 136802009-06-20 Robert Millan <rmh.grub@aybabtu.com>
13681
13682 * include/grub/i386/loader.h (grub_linux_prot_size)
13683 (grub_linux_tmp_addr, grub_linux_real_addr)
13684 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
13685 GRUB_MACHINE_PCBIOS.
13686 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
13687 common grub_util_info() call to ...
13688 (generate_image): ... here.
13689 Fix use of uninitialized memory, comparison of signed with
13690 unsigned integers and memory leak.
13691 Remove bogus module address message.
13692
ab32d3b5 136932009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
13696 grub_raid_register
13697 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
13698
024ef597 136992009-06-19 Pavel Roskin <proski@gnu.org>
13700
13701 * configure.ac: Remove stray AC_MSG_CHECKING.
13702
3ac72b51 137032009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
13704
13705 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 13706
e14cd814 137072009-06-18 Pavel Roskin <proski@gnu.org>
13708
13709 * conf/common.rmk: Add fs_file.mod.
13710 * disk/fs_file.c: New file.
13711 * include/grub/disk.h (enum grub_disk_dev_id): Add
13712 GRUB_DISK_DEVICE_FILE_ID.
13713
26586d98 137142009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
13715
13716 Fix build with Apple's toolchain. Part 2
13717
13718 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
13719 a fake start
13720
26de2bcd 137212009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 Fix build with Apple's toolchain. Part 1
13724
13725 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
13726 for long calls
13727 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 13728 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 13729 Apple's toolchain
13730
09b3490b 137312009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
13732
13733 Fix warnings
13734
13735 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
13736 (decomp_block): initialize ch
13737 use grub_memcpy instead of memcpy
13738
c22a006a 137392009-06-17 Pavel Roskin <proski@gnu.org>
13740
d3638678 13741 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
13742 version, use declarations needed to use vga_text as the startup
13743 console.
13744
c22a006a 13745 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
13746 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
13747 the kernel.
13748 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
13749 and grub_at_keyboard_fini(), it's done on module load and
13750 unload.
13751
05b129e0 137522009-06-17 Felix Zielcke <fzielcke@z-51.de>
13753
13754 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
13755 file can't be found.
13756 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13757
cf24ed9e 137582009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 Fix newline handling
13761
13762 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 13763 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 13764 (grub_script_yylex): don't segfault on unterminated script
13765 newline terminates command and variable
13766
74aa8e4b 137672009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
13768
13769 avoid double grub_adjust_range call. Bug reported by David Simner
13770
13771 * kern/disk.c (grub_disk_write): change to raw disk access before
13772 calling disk_read
13773
1bd265f3 137742009-06-17 Colin Watson <cjwatson@ubuntu.com>
13775
13776 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
13777 spaces, for the benefit of help2man.
13778 * util/i386/efi/grub-mkimage.c (usage): Likewise.
13779
a2d08c06 137802009-06-16 Pavel Roskin <proski@gnu.org>
13781
13782 * kern/i386/halt.c: Include grub/machine/init.h.
13783 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
13784
b97bcb19 137852009-06-16 Felix Zielcke <fzielcke@z-51.de>
13786
13787 * util/grub.d/30_os-prober.in: Use ${root} in the generated
13788 drivemap menuentry.
13789
0644f96c 137902009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
13791
13792 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
13793 `echo' command.
13794
3ef17a2e 137952009-06-16 Pavel Roskin <proski@gnu.org>
13796
13797 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
13798 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
13799 save %dx, we only need %dl and we never change it.
13800 * boot/i386/pc/cdboot.S: Don't set the root drive.
13801 * boot/i386/pc/pxeboot.S: Likewise.
13802 * include/grub/i386/pc/boot.h: Remove
13803 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
13804 GRUB_BOOT_MACHINE_DRIVE_CHECK.
13805 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
13806 * kern/i386/pc/init.c (make_install_device): Remove references
13807 to grub_root_drive.
13808 * kern/i386/pc/startup.S: Likewise.
13809 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
13810
693fe637 138112009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
13812
13813 xnu_uuid command
13814
13815 * commands/xnu_uuid.c: new file
13816 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
13817 (xnu_uuid_mod_SOURCES): new variable
13818 (xnu_uuid_mod_CFLAGS): likewise
13819 (xnu_uuid_mod_LDFLAGS): likewise
13820 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
13821 * conf/i386-ieee1275.rmk: likewise
13822 * conf/i386-pc.rmk: likewise
13823 * conf/powerpc-ieee1275.rmk: likewise
13824 * conf/sparc64-ieee1275.rmk: likewise
13825 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
13826
c9da87d0 138272009-06-16 Pavel Roskin <proski@gnu.org>
13828
13829 * configure.ac: Avoid '==' in test command, it's not portable.
13830
9c6f4596 138312009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 Probe command
13834
13835 * commands/probe.c: new file
13836 * conf/common.rmk (pkglib_MODULES): add probe.mod
13837 (probe_mod_SOURCES): new variable
13838 (probe_mod_CFLAGS): likewise
13839 (probe_mod_LDFLAGS): likewise
13840 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
13841 * conf/i386-ieee1275.rmk: likewise
13842 * conf/i386-pc.rmk: likewise
13843 * conf/powerpc-ieee1275.rmk: likewise
13844 * conf/sparc64-ieee1275.rmk: likewise
13845
70b7f9fd 138462009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
13847
13848 Fix handling of string like \"hello\" and "a
13849 b"
13850
13851 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
13852 (grub_script_yylex): fix parsing of quoting, escaping and newline
13853
71c79a6b 138542009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
13855
dd74360c 13856 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 13857 handling
dd74360c 13858
0644f96c 138592009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 13860
13861 * util/grub-mkconfig.in: Fix parsing of --output option.
13862
e40893c3 138632009-06-12 Pavel Roskin <proski@gnu.org>
13864
13865 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
13866 genmk.rb don't need to be generated or installed.
13867
3a1acfe2 138682009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13869
13870 * commands/i386/pc/drivemap_int13h.S: add more comments
13871
3a4575d4 138722009-06-11 Pavel Roskin <proski@gnu.org>
13873
0658e928 13874 * Makefile.in (uninstall): Uninstall manuals.
13875
ca0388f0 13876 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
13877 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
13878 and update-grub_lib in two places.
13879 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
13880
e3b27c39 13881 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
13882 a compiler warning.
13883
3a4575d4 13884 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
13885 `entry_lo' to fix variable shadowing.
13886
af1f4f55 138872009-06-11 Christian Franke <franke@computer.org>
13888
13889 * kern/misc.c (__enable_execute_stack): Add missing return type
13890 to prevent gcc warning.
13891
5225e649 138922009-06-11 Felix Zielcke <fzielcke@z-51.de>
13893
13894 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
13895
7d83bd47 138962009-06-11 Pavel Roskin <proski@gnu.org>
13897
c1cb63ba 13898 * Makefile.in: Don't rely on any scripts being executable.
13899 Always use $(SHELL) to run shell scripts.
13900
7d83bd47 13901 * configure.ac: Always define ___main if using -nostdlib. This
13902 fixes tests on Cygwin.
13903
948f48e7 139042009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
13905
13906 UDF fix
13907
7d83bd47 13908 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 13909 is in bytes and not in blocks
7d83bd47 13910
8ada9bc1 139112009-06-11 Pavel Roskin <proski@gnu.org>
13912
13913 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
13914 warning.
13915
25ad2323 139162009-06-11 Felix Zielcke <fzielcke@z-51.de>
13917
13918 * util/grub.d/30_os-prober.in: Fix a comment. Source
13919 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
13920 to set the root device. Place drivemap command in the generated
13921 chain entry.
13922
e65acb0c 139232009-06-11 Pavel Roskin <proski@gnu.org>
13924
13925 * configure.ac: Remove host_m32. Issues with 64-bit utilities
13926 have long been resolved.
13927
f285fe2d 139282009-06-11 Colin Watson <cjwatson@ubuntu.com>
13929
bd47b0b5 13930 * util/grub.d/10_linux.in: Capitalise "Linux".
13931
f285fe2d 13932 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
13933
a0c62e4e 139342009-06-11 Pavel Roskin <proski@gnu.org>
13935
b6783cb2 13936 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
13937 fix a gcc warning and ensure that the function won't ever exit.
13938
dde032e8 13939 * kern/i386/ieee1275/init.c: Add missing prototype for
13940 grub_stop_floppy().
13941
22cd079d 13942 * loader/ieee1275/multiboot2.c [__i386__]: Include
13943 grub/cpu/multiboot.h.
13944
a0c62e4e 13945 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
13946 casts to short - they are not portable and cause warnings. Fix
13947 use of uninitialized values in input_buf. Use ARRAY_SIZE.
13948
63963d17 139492009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
13950
13951 Drivemap fixes
13952
13953 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
13954 new function
13955 (grub_get_root_biosnumber_saved): new variable
13956 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
13957 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 13958 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 13959 %dx after the call if necessary
13960 * conf/common.rmk (pkglib_MODULES): remove boot.mod
13961 (boot_mod_SOURCES): remove
13962 (boot_mod_CFLAGS): remove
13963 (boot_mod_LDFLAGS): remove
13964 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
13965 (boot_mod_SOURCES): new variable
13966 (boot_mod_CFLAGS): likewise
13967 (boot_mod_LDFLAGS): likewise
13968 * conf/i386-efi.rmk: likewise
13969 * conf/i386-ieee1275.rmk: likewise
13970 * conf/i386-pc.rmk: likewise
13971 * conf/powerpc-ieee1275.rmk: likewise
13972 * conf/sparc64-ieee1275.rmk: likewise
13973 * conf/x86_64-efi.rmk: likewise
13974 * include/grub/i386/pc/biosnum.h: new file
13975 * lib/i386/pc/biosnum.c: likewise
13976 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
13977 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
13978 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 13979
33abf7ae 139802009-06-10 Pavel Roskin <proski@gnu.org>
13981
5ac35b35 13982 * io/gzio.c (test_header): Don't reuse one buffer for all data.
13983 Use separate variables. Read only the file size at the end, but
13984 not the checksum that we don't use.
13985
5c5215d5 13986 * kern/file.c (grub_file_read): Use void pointer for the buffer.
13987 Adjust all callers.
13988
27d5fef7 13989 * kern/ieee1275/openfw.c: Remove libc includes.
13990 * kern/ieee1275/cmain.c: Likewise.
13991 * include/grub/ieee1275/ieee1275.h: Likewise.
13992
33abf7ae 13993 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
13994 compiler warnings.
13995
19d50c2b 139962009-06-10 Felix Zielcke <fzielcke@z-51.de>
13997
13998 * Makefile.in: Remove all trailing whitespace.
13999 * conf/i386-pc.rmk: Likewise.
14000 * conf/powerpc-ieee1275.rmk: Likewise.
14001 * conf/sparc64-ieee1275.rmk: Likewise.
14002 * docs/grub.texi: Likewise.
14003 * docs/texinfo.tex: Likewise.
14004 * disk/fs_uuid.c: Likewise.
14005 * disk/lvm.c: Likewise.
14006 * disk/scsi.c: Likewise.
14007 * disk/ata.c: Likewise.
14008 * disk/ieee1275/ofdisk.c: Likewise.
14009 * disk/i386/pc/biosdisk.c: Likewise.
14010 * disk/host.c: Likewise.
14011 * disk/raid.c: Likewise.
14012 * disk/efi/efidisk.c: Likewise.
14013 * disk/usbms.c: Likewise.
14014 * disk/memdisk.c: Likewise.
14015 * disk/loopback.c: Likewise.
14016 * kern/powerpc/dl.c: Likewise.
14017 * kern/device.c: Likewise.
14018 * kern/dl.c: Likewise.
14019 * kern/sparc64/dl.c: Likewise.
14020 * kern/ieee1275/ieee1275.c: Likewise.
14021 * kern/term.c: Likewise.
14022 * kern/fs.c: Likewise.
14023 * kern/i386/dl.c: Likewise.
14024 * kern/i386/pc/startup.S: Likewise.
14025 * kern/i386/pc/init.c: Likewise.
14026 * kern/i386/pc/mmap.c: Likewise.
14027 * kern/i386/pc/lzo1x.S: Likewise.
14028 * kern/i386/ieee1275/init.c: Likewise.
14029 * kern/i386/realmode.S: Likewise.
14030 * kern/i386/tsc.c: Likewise.
14031 * kern/partition.c: Likewise.
14032 * kern/corecmd.c: Likewise.
14033 * kern/file.c: Likewise.
14034 * kern/efi/efi.c: Likewise.
14035 * kern/efi/init.c: Likewise.
14036 * kern/efi/mm.c: Likewise.
14037 * kern/main.c: Likewise.
14038 * kern/err.c: Likewise.
14039 * kern/env.c: Likewise.
14040 * kern/disk.c: Likewise.
14041 * kern/generic/millisleep.c: Likewise.
14042 * kern/generic/rtc_get_time_ms.c: Likewise.
14043 * kern/misc.c: Likewise.
14044 * kern/parser.c: Likewise.
14045 * genmk.rb: Likewise.
14046 * configure.ac: Likewise.
14047 * boot/i386/pc/diskboot.S: Likewise.
14048 * boot/i386/pc/pxeboot.S: Likewise.
14049 * boot/i386/pc/boot.S: Likewise.
14050 * boot/i386/pc/lnxboot.S: Likewise.
14051 * boot/i386/pc/cdboot.S: Likewise.
14052 * parttool/pcpart.c: Likewise.
14053 * video/readers/tga.c: Likewise.
14054 * video/video.c: Likewise.
14055 * video/bitmap.c: Likewise.
14056 * lib/envblk.c: Likewise.
14057 * lib/i386/setjmp.S: Likewise.
14058 * fs/xfs.c: Likewise.
14059 * fs/afs.c: Likewise.
14060 * fs/fat.c: Likewise.
14061 * fs/ntfs.c: Likewise.
14062 * fs/udf.c: Likewise.
14063 * fs/affs.c: Likewise.
14064 * fs/iso9660.c: Likewise.
14065 * fs/hfs.c: Likewise.
14066 * fs/fshelp.c: Likewise.
14067 * fs/ext2.c: Likewise.
14068 * fs/jfs.c: Likewise.
14069 * fs/reiserfs.c: Likewise.
14070 * fs/hfsplus.c: Likewise.
14071 * fs/minix.c: Likewise.
14072 * fs/cpio.c: Likewise.
14073 * fs/sfs.c: Likewise.
14074 * fs/ufs.c: Likewise.
14075 * efiemu/prepare.c: Likewise.
14076 * efiemu/loadcore_common.c: Likewise.
14077 * efiemu/runtime/efiemu.sh: Likewise.
14078 * efiemu/runtime/efiemu.S: Likewise.
14079 * efiemu/runtime/efiemu.c: Likewise.
14080 * efiemu/pnvram.c: Likewise.
14081 * efiemu/main.c: Likewise.
14082 * efiemu/i386/pc/cfgtables.c: Likewise.
14083 * efiemu/i386/loadcore64.c: Likewise.
14084 * efiemu/i386/loadcore32.c: Likewise.
14085 * efiemu/loadcore.c: Likewise.
14086 * efiemu/symbols.c: Likewise.
14087 * efiemu/mm.c: Likewise.
14088 * include/grub/autoefi.h: Likewise.
14089 * include/grub/datetime.h: Likewise.
14090 * include/grub/term.h: Likewise.
14091 * include/grub/hfs.h: Likewise.
14092 * include/grub/lvm.h: Likewise.
14093 * include/grub/i386/tsc.h: Likewise.
14094 * include/grub/i386/linux.h: Likewise.
14095 * include/grub/i386/xnu.h: Likewise.
14096 * include/grub/i386/efiemu.h: Likewise.
14097 * include/grub/i386/pc/biosdisk.h: Likewise.
14098 * include/grub/i386/pc/memory.h: Likewise.
14099 * include/grub/i386/pc/vbe.h: Likewise.
14100 * include/grub/parttool.h: Likewise.
14101 * include/grub/video.h: Likewise.
14102 * include/grub/memory.h: Likewise.
14103 * include/grub/fs.h: Likewise.
14104 * include/grub/partition.h: Likewise.
14105 * include/grub/xnu.h: Likewise.
14106 * include/grub/efi/api.h: Likewise.
14107 * include/grub/efi/pe32.h: Likewise.
14108 * include/grub/efi/memory.h: Likewise.
14109 * include/grub/multiboot.h: Likewise.
14110 * include/grub/usbdesc.h: Likewise.
14111 * include/grub/multiboot2.h: Likewise.
14112 * include/grub/acpi.h: Likewise.
14113 * include/grub/efiemu/efiemu.h: Likewise.
14114 * include/grub/disk.h: Likewise.
14115 * include/grub/ieee1275/ieee1275.h: Likewise.
14116 * include/grub/net.h: Likewise.
14117 * include/grub/machoload.h: Likewise.
14118 * include/grub/macho.h: Likewise.
14119 * include/multiboot.h: Likewise.
14120 * genmoddep.awk: Likewise.
14121 * normal/main.c: Likewise.
14122 * normal/menu_entry.c: Likewise.
14123 * normal/menu_viewer.c: Likewise.
14124 * normal/completion.c: Likewise.
14125 * normal/cmdline.c: Likewise.
14126 * normal/misc.c: Likewise.
14127 * normal/datetime.c: Likewise.
14128 * bus/usb/usbtrans.c: Likewise.
14129 * bus/usb/ohci.c: Likewise.
14130 * bus/usb/uhci.c: Likewise.
14131 * bus/usb/usb.c: Likewise.
14132 * mmap/efi/mmap.c: Likewise.
14133 * mmap/i386/pc/mmap_helper.S: Likewise.
14134 * mmap/i386/pc/mmap.c: Likewise.
14135 * mmap/i386/mmap.c: Likewise.
14136 * mmap/i386/uppermem.c: Likewise.
14137 * mmap/mmap.c: Likewise.
14138 * commands/acpi.c: Likewise.
14139 * commands/echo.c: Likewise.
14140 * commands/blocklist.c: Likewise.
14141 * commands/loadenv.c: Likewise.
14142 * commands/usbtest.c: Likewise.
14143 * commands/boot.c: Likewise.
14144 * commands/parttool.c: Likewise.
14145 * commands/search.c: Likewise.
14146 * commands/cat.c: Likewise.
14147 * commands/i386/pc/play.c: Likewise.
14148 * commands/i386/pc/drivemap.c: Likewise.
14149 * commands/i386/pc/vbeinfo.c: Likewise.
14150 * commands/i386/pc/acpi.c: Likewise.
14151 * commands/i386/pc/vbetest.c: Likewise.
14152 * commands/ls.c: Likewise.
14153 * commands/cmp.c: Likewise.
14154 * commands/test.c: Likewise.
14155 * commands/efi/acpi.c: Likewise.
14156 * commands/gptsync.c: Likewise.
14157 * commands/help.c: Likewise.
14158 * partmap/amiga.c: Likewise.
14159 * partmap/apple.c: Likewise.
14160 * partmap/acorn.c: Likewise.
14161 * partmap/pc.c: Likewise.
14162 * partmap/sun.c: Likewise.
14163 * partmap/gpt.c: Likewise.
14164 * script/sh/lexer.c: Likewise.
14165 * script/sh/function.c: Likewise.
14166 * font/font.c: Likewise.
14167 * font/font_cmd.c: Likewise.
14168 * loader/powerpc/ieee1275/linux.c: Likewise.
14169 * loader/efi/chainloader.c: Likewise.
14170 * loader/multiboot_loader.c: Likewise.
14171 * loader/macho.c: Likewise.
14172 * loader/i386/multiboot.c: Likewise.
14173 * loader/i386/linux.c: Likewise.
14174 * loader/i386/pc/linux.c: Likewise.
14175 * loader/i386/pc/multiboot2.c: Likewise.
14176 * loader/i386/pc/chainloader.c: Likewise.
14177 * loader/i386/pc/xnu.c: Likewise.
14178 * loader/i386/bsd_trampoline.S: Likewise.
14179 * loader/i386/efi/linux.c: Likewise.
14180 * loader/i386/multiboot_elfxx.c: Likewise.
14181 * loader/i386/bsd_helper.S: Likewise.
14182 * loader/i386/bsd.c: Likewise.
14183 * loader/i386/linux_trampoline.S: Likewise.
14184 * loader/i386/xnu_helper.S: Likewise.
14185 * loader/i386/xnu.c: Likewise.
14186 * loader/i386/bsd_pagetable.c: Likewise.
14187 * loader/i386/multiboot_helper.S: Likewise.
14188 * loader/xnu.c: Likewise.
14189 * loader/xnu_resume.c: Likewise.
14190 * io/gzio.c: Likewise.
14191 * term/efi/console.c: Likewise.
14192 * term/terminfo.c: Likewise.
14193 * term/ieee1275/ofconsole.c: Likewise.
14194 * term/i386/pc/serial.c: Likewise.
14195 * term/i386/pc/vesafb.c: Likewise.
14196 * term/i386/pc/vga.c: Likewise.
14197 * term/usb_keyboard.c: Likewise.
14198 * term/gfxterm.c: Likewise.
14199 * aclocal.m4: Likewise.
14200 * util/lvm.c: Likewise.
14201 * util/grub.d/30_os-prober.in: Likewise.
14202 * util/grub.d/10_hurd.in: Likewise.
14203 * util/console.c: Likewise.
14204 * util/grub-macho2img.c: Likewise.
14205 * util/grub-probe.c: Likewise.
14206 * util/hostfs.c: Likewise.
14207 * util/i386/pc/grub-mkimage.c: Likewise.
14208 * util/i386/pc/grub-setup.c: Likewise.
14209 * util/i386/efi/grub-mkimage.c: Likewise.
14210 * util/grub-mkconfig.in: Likewise.
14211 * util/raid.c: Likewise.
14212 * util/resolve.c: Likewise.
14213 * util/grub-mkdevicemap.c: Likewise.
14214 * util/grub-emu.c: Likewise.
14215 * util/getroot.c: Likewise.
14216 * util/hostdisk.c: Likewise.
14217 * util/usb.c: Likewise.
14218 * util/grub-editenv.c: Likewise.
14219 * util/misc.c: Likewise.
14220
d2d49665 142212009-06-10 Felix Zielcke <fzielcke@z-51.de>
14222
14223 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
14224 `genparttoollist.sh'.
14225 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
14226 Add `*.sh' to the list find searches for and change `mdate.sh'
14227 to `mdate-sh'.
14228
fe052e37 142292009-06-10 Pavel Roskin <proski@gnu.org>
14230
2763ac18 14231 * include/grub/multiboot2.h: Provide compatibility defines for
14232 multiboot2.h.
14233 * include/multiboot2.h: Include stdint.h only if needed, using
14234 angle brackets.
14235 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
14236 grub/multiboot2.h.
14237 * loader/ieee1275/multiboot2.c: Likewise.
14238 * loader/multiboot2.c: Likewise.
14239 * loader/multiboot_loader.c: Likewise.
14240
437e6adc 14241 * configure.ac: Use -nostdlib when probing for the target. It
14242 should not be required to have libc for the target.
14243
06a6836c 14244 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
14245 they fail without libc headers for the target.
14246 * include/grub/powerpc/libgcc.h: Use weak attribute for all
14247 exports.
14248 * include/grub/sparc64/libgcc.h: Likewise. Don't use
14249 preprocessor conditionals.
14250
fe052e37 14251 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
14252 build system doesn't need to be aware of the tar.c internals.
14253
afd22553 142542009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 14255
afd22553 14256 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 14257
6b787c4f 142582009-06-09 Robert Millan <rmh.grub@aybabtu.com>
14259
14260 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
14261 disk limit to 26 for IDE, Virtio, Xen and SCSI.
14262
142632009-06-09 Felix Zielcke <fzielcke@z-51.de>
14264
14265 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 14266 aren't available if ata.mod gets used.
6b787c4f 14267
473d1e45 142682009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 14269
473d1e45 14270 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 14271 initialising controller.
473d1e45 14272 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 14273
255a27d4 142742009-06-08 Felix Zielcke <fzielcke@z-51.de>
14275
14276 * util/i386/pc/grub-install.in: Add a parameter --disk-module
14277 to choose between ata and biosdisk module on i386-pc.
14278
473d1e45 142792009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 14280
d55842d8 14281 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
14282 Subclass and Programming Interface fields in terms of the 3 byte
14283 Class Code register.
14284 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
14285
fa5db0b1 14286 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
14287 interface is OHCI. Add grub_dprintf for symmetry with
14288 bus/usb/uhci.c.
14289 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
14290 interface is UHCI. Add interf variable for programming
14291 interface. Print interface with class/subclass.
14292
c0947beb 14293 * bus/usb/ohci.c: Set interf with correct field.
14294
69da8877 14295 * bus/usb/uhci.c: Remove unneeded doubled lines.
14296 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
14297 Remove whitespace inside comment.
14298
9e172e30 142992009-06-08 Robert Millan <rmh.grub@aybabtu.com>
14300
14301 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
14302 as fallback an equivalent option without depth.
14303
de65ee2b 143042009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
14305
14306 Not fail if unable to retrieve C/H/S on LBA disks
14307
473d1e45 14308 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 14309 if unable to retrieve C/H/S on LBA disks
14310
b57ea2c9 143112009-06-08 Pavel Roskin <proski@gnu.org>
14312
14313 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
14314 about aliasing.
14315
af361263 143162009-06-08 Felix Zielcke <fzielcke@z-51.de>
14317
14318 * Makefile.in (uninstall): Remove all $lib_DATA files.
14319
4c9ec6b3 143202009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
14321
14322 Bugfix: install on partitionless device
14323
14324 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
14325 is a whole disk
14326
e76fc924 143272009-06-08 Felix Zielcke <fzielcke@z-51.de>
14328
14329 * Makefile.in (uninstall): Remove all $include_DATA files.
14330
ba5a0d05 143312009-06-08 Felix Zielcke <fzielcke@z-51.de>
14332
14333 * commands/true.c: New file. Implement the true and false commands.
14334 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
14335 (true_mod_SOURCES): New variable.
14336 (true_mod_CFLAGS): Likewise.
14337 (true_mod_LDFLAGS): Likewise.
14338
c8048e32 143392009-06-05 Colin D Bennett <colin@gibibit.com>
14340
14341 Optimized font character lookup using binary search instead of linear
14342 search. Fonts now are required to have the character index ordered by
14343 code point.
14344
14345 * font/font.c (load_font_index): Verify that fonts have ordered
14346 character indices.
14347 (find_glyph): Use binary search instead of linear search to find a
14348 character in a font.
14349
408305be 143502009-06-05 Michael Scherer <misc@mandriva.org>
14351
14352 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
14353 uses case sensitive btree.
14354 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
14355 only for case insensitive filesystems.
14356
8ee1e0d9 143572009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
14358
14359 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
14360 * conf/common.rmk (search_mod_CFLAGS): likewise
14361
a9966eb1 143622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14363
473d1e45 14364 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 14365 compensate a compiler bug
14366
9e7100fb 143672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14368
473d1e45 14369 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 14370 instead of '\b'
473d1e45 14371
ede21d71 143722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14373
14374 Definitions for creating asm symbols with Apple's CC
14375
14376 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
14377 [APPLE_CC] (VARIABLE): likewise
14378
9dbf7653 143792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14380
14381 Disable lnxboot.img when compiled
14382 with Apple's CC
14383
14384 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
14385 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
14386 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
14387 [! APPLE_CC] (CODE_LENG): skip
14388 [! APPLE_CC] (setup_sects): likewise
14389 [! APPLE_CC]: skip filling
473d1e45 14390
e93cdc3d 143912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14392
14393 Address in trampolines based on 32-bit registers when compiled
14394 with Apple's CC
14395
473d1e45 14396 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 14397 for addresses
14398 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
14399
6c688477 144002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14401
14402 Avoid aliases when compiling with Apple's CC for PCBIOS machine
14403
14404 * kern/misc.c [APPLE_CC] (memcpy): new function
14405 [APPLE_CC] (memmove): likewise
14406 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 14407 (memcpy): define alias conditionally on !APPLE_CC
6c688477 14408 (memset): likewise
14409 (abort): likewise
14410 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
14411 APPLE_CC are defined
14412 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
14413 (grub_assert_fail): make prototype conditional
14414
e37ffc5c 144152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14416
14417 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
14418
473d1e45 14419 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
14420 grub-macho2img
e37ffc5c 14421 (CLEANFILES): add grub-macho2img
14422 (grub_macho2img_SOURCES): new variable
14423 * kern/i386/pc/startup.S (bss_start): new variable
14424 (bss_end): likewise
14425 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
14426 * util/grub-macho2img.c: new file
14427
cf00df31 144282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 Use objconv when compiling with Apple's CC
14431
14432 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
14433 (efiemu64.o): likewise
14434 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
14435 when compiling with Apple's CC
14436 (efiemu64_s.o): likewise
14437 * configure.ac: check for objconv when compiling with Apple's CC
14438 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 14439
d119a20c 144402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14441
14442 Define segment as well as section when compiling with
14443 Apple's CC
14444
14445 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
14446 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
14447 (efiemu_convert_pointer): likewise
14448 (efiemu_set_virtual_address_map): likewise
14449 (efiemu_convert_pointer): likewise
14450 (efiemu_getcrc32): likewise
14451 (init_crc32_table): likewise
14452 (reflect): likewise
14453 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
14454 (GRUB_MOD_DEP): likewise
473d1e45 14455
c8600122 144562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14457
14458 Allow a compilation without -mcmodel=large
14459
14460 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
14461 when compiled without -mcmodel=large
473d1e45 14462 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 14463 without -mcmodel=large
473d1e45 14464 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 14465 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 14466
e8df1d4e 144672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14468
14469 Remove nested functions in efiemu core
14470
14471 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 14472
cc6c3ac1 144732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
14476
14477 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
14478 temporary storage
473d1e45 14479 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
14480 using Apple's CC
cc6c3ac1 14481 (grub_cpu_is_tsc_supported): likewise
14482 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 14483
3e325901 144842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14485
14486 Absolute addressing through constant with Apple's cc
14487
14488 * kern/i386/pc/startup.S: Define necessary constants
14489 and address through it when using ABS with Apple's CC
14490 * boot/i386/pc/diskboot.S: likewise
14491 * boot/i386/pc/boot.S: likewise
14492 * boot/i386/pc/lnxboot.S: likewise
14493 * boot/i386/pc/cdboot.S: likewise
14494 * mmap/i386/pc/mmap_helper.S: likewise
14495 * commands/i386/pc/drivemap_int13h.S: likewise
14496
2b167a72 144972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 Check if compiler is apple cc
14500
14501 * Makefile.in (ASFLAGS): new variable
14502 (TARGET_ASFLAGS): likewise
14503 (TARGET_MODULE_FORMAT): likewise
14504 (TARGET_APPLE_CC): likewise
14505 (OBJCONV): likewise
14506 (TARGET_IMG_CFLAGS): likewise
14507 (TARGET_CPPFLAGS): add includedir
14508 * configure.ac: call grub_apple_cc and grub_apple_target_cc
14509 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
14510 Check for linker script only if compiler isn't Apple's CC
14511 (TARGET_MODULE_FORMAT): set
14512 (TARGET_APPLE_CC): likewise
14513 (TARGET_ASFLAGS): likewise
14514 (ASFLAGS): likewise
14515 Check for objcopy only if compiler isn't Apple's CC
14516 Check for BSS symbol only if compiler isn't Apple's CC
14517 * genmk.rb: adapt nm options if we use Apple's utils
14518 * aclocal.m4 (grub_apple_cc): new test
14519 (grub_apple_target_cc): likewise
473d1e45 14520
fb14123e 145212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 Simplify sed expressions and improve awk
14524
14525 * Makefile.in (install-local): simplify sed expression
14526 * gencmdlist.sh: likewise
14527 * genmoddep.awk: avoid adding module as a dependency of itself
14528
5b889789 145292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14530
14531 Add missing start symbols
14532
14533 * boot/i386/pc/boot.S: add start
fb14123e 14534 * boot/i386/pc/pxeboot.S: likewise
473d1e45 14535
fd2bf2e3 145362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14537
14538 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 14539
14540 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 14541 (relocate_addresses): consider both r_addend and value at offset
14542 (make_mods_section): zerofill modinfo and header
14543 (convert_elf): write prefix here
473d1e45 14544
5389763d 145452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14546
14547 Use .asciz instead of .string
14548
14549 * i386/pc/diskboot.S: use .asciz instead of .string
14550 * i386/pc/boot.S: likewise
14551 * include/grub/dl.h (GRUB_MOD_DEP): likewise
14552 (GRUB_MOD_NAME): likewise
473d1e45 14553
3eb5ed4e 145542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14555
14556 gfxpayload support
14557
14558 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
14559 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
14560 (grub_video_setup): remove
14561 (grub_video_set_mode): new prototype
14562 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
14563 (vid_mode): remove
14564 (linux_vesafb_res): compile only on PCBIOS
14565 (grub_linux_boot): support gfxpayload
14566 * loader/i386/pc/xnu.c (video_hook): new function
14567 (grub_xnu_set_video): support gfxpayload
14568 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
14569 (DEFAULT_VIDEO_HEIGHT): likewise
14570 (DEFAULT_VIDEO_FLAGS): likewise
14571 (DEFAULT_VIDEO_MODE): new definition
14572 (video_hook): new function
14573 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 14574 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 14575 loading xnu
14576 * video/video.c (grub_video_setup): removed
473d1e45 14577 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 14578 grub_video_setup
14579
4b0e1143 145802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14581
14582 Avoid calling biosdisk in drivemap
14583
14584 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
14585 (revparse_biosdisk): likewise
14586 (list_mappings): derive name from id directly
14587 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 14588
fda6cb98 145892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14590
14591 Script fixes
14592
14593 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
14594 (grub_lexer_param): add tokenonhold
14595 (grub_script_create_cmdline): remove cmdline. All callers updated
14596 (grub_script_function_create): make functionname
14597 grub_script_arg. All callers updated
14598 (grub_script_execute_argument_to_string): new prototype
14599 * kern/parser.c (state_transitions): reorder
14600 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 14601 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 14602 make global
14603 (grub_script_execute_cmdline): use new format
14604 * script/sh/function.c (grub_script_function_create): make functionname
14605 grub_script_arg. All callers updated
473d1e45 14606 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 14607 (grub_script_yylex): remove
14608 (grub_script_yylex2): renamed to ...
14609 (grub_script_yylex): ...renamed
14610 parse the expressions like a${b}c
14611 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
14612 (GRUB_PARSER_TOKEN_VAR): remove
14613 (GRUB_PARSER_TOKEN_NAME): likewise
14614 ("if"): declare as typeless
14615 ("while"): likewise
14616 ("function"): likewise
14617 ("else"): likewise
14618 ("then"): likewise
14619 ("fi"): likewise
14620 (text): remove
14621 (argument): likewise
14622 (script): accept empty scripts and make exit on error
14623 (arguments): use GRUB_PARSER_TOKEN_ARG
14624 (function): likewise
14625 (command): move error handling to script
14626 (menuentry): move grub_script_lexer_ref before
473d1e45 14627 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 14628 argument. All callers updated
14629
f4448a07 146302009-06-04 Robert Millan <rmh.grub@aybabtu.com>
14631
14632 Prevent GRUB from probing floppies during boot.
14633
14634 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
14635 * commands/search.c (options): Add --no-floppy.
14636 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
14637 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
14638 --no-floppy when searching for UUIDs.
14639
2bf5885a 146402009-06-04 Robert Millan <rmh.grub@aybabtu.com>
14641
14642 Simplify the code duplication in commands/search.c.
14643
14644 * commands/search.c (search_label, search_fs_uuid): Merge into ...
14645 (search_fs): ... this. Update all users.
14646
f6fd460a 146472009-06-03 Felix Zielcke <fzielcke@z-51.de>
14648
14649 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
14650
cbb3c83e 146512009-05-28 Pavel Roskin <proski@gnu.org>
14652
57788cfd 14653 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
14654 Remove the original symlink explicitly.
14655
cbb3c83e 14656 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
14657 just one slash. That's how grub_fshelp_find_file() does it.
14658
cd0d5e30 146592009-05-26 Pavel Roskin <proski@gnu.org>
14660
f0f8bbe2 14661 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
14662 to `str'.
14663
cd0d5e30 14664 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
14665 possibly unused.
14666
8c2cab51 146672009-05-25 Christian Franke <franke@computer.org>
14668
14669 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
14670 register.
14671 (grub_atapi_identify): Add wait after drive select.
14672 (grub_ata_identify): Do more strict status register check before
14673 calling grub_atapi_identify (). Suppress error message if status
14674 register is 0x00 after command failure. Add status register
14675 check after PIO read to avoid bogus identify due to stuck DRQ.
14676 Thanks to Pavel Roskin for testing.
14677 (grub_device_initialize): Remove unsafe status register check.
14678 Thanks to 'phcoder' for problem report and patch.
14679 Prevent sign extension in debug message.
14680
230c0ad6 146812009-05-23 Colin D Bennett <colin@gibibit.com>
14682
14683 Cleaned up `include/grub/normal.h'. Grouped prototypes by
14684 definition file, and functions defined in `normal/menu.c' have had
14685 their prototypes moved to `include/grub/menu.h' for consistency.
14686
14687 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
14688 from normal.h.
14689 (grub_menu_get_entry): Likewise.
14690 (grub_menu_get_timeout): Likewise.
14691 (grub_menu_set_timeout): Likewise.
14692 (grub_menu_execute_entry): Likewise.
14693 (grub_menu_execute_with_fallback): Likewise.
14694 (grub_menu_entry_run): Likewise.
14695
14696 * include/grub/normal.h: Re-ordered and grouped function
14697 prototypes by file that the function is defined in.
14698 (grub_menu_execute_callback): Removed; moved to menu.h.
14699 (grub_menu_get_entry): Likewise.
14700 (grub_menu_get_timeout): Likewise.
14701 (grub_menu_set_timeout): Likewise.
14702 (grub_menu_execute_entry): Likewise.
14703 (grub_menu_execute_with_fallback): Likewise.
14704 (grub_menu_entry_run): Likewise.
14705 (grub_menu_addentry): Renamed from this ...
14706 (grub_normal_add_menu_entry): ... to this.
14707
14708 * normal/main.c (grub_menu_addentry): Renamed from this ...
14709 (grub_normal_add_menu_entry): ... to this.
14710
14711 * script/sh/execute.c (grub_script_execute_menuentry): Update
14712 reference to renamed grub_menu_addentry function.
14713
861f03a5 147142009-05-23 Felix Zielcke <fzielcke@z-51.de>
14715
14716 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
14717
96b1619a 147182009-05-22 Pavel Roskin <proski@gnu.org>
14719
bf6a5fb2 14720 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
14721 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
14722 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
14723 compiling for the i386 targets, but not for the utilities.
14724
96b1619a 14725 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
14726 to grub_uint8_t.
14727 (grub_root_drive): Likewise.
14728 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
14729 remove alignment.
14730 (grub_root_drive): Change size to byte.
14731 (grub_start_addr): Remove.
14732 (grub_end_addr): Likewise.
14733 (grub_apm_bios_info): Likewise.
14734
b729776b 147352009-05-21 Felix Zielcke <fzielcke@z-51.de>
14736
14737 * normal/i386: Remove.
14738 * normal/powerpc: Likewise.
14739 * normal/sparc64: Likewise.
14740 * normal/x86_64: Likewise.
14741
0a15ce80 147422009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 14745 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 14746 * loader/i386/xnu_helper.S: Likewise
d6da58e6 14747
33db9015 147482009-05-18 Colin D Bennett <colin@gibibit.com>
14749
d6da58e6 14750 Display error messages when parsing a Lua statement fails.
14751 Previously, executing a syntactically invalid statement like
14752 ")foo" or "bar;" would silently fail.
33db9015 14753
14754 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 14755 (grub_lua_parse_line): Improved reporting of Lua parser and
14756 execution errors.
33db9015 14757
46422c89 147582009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14759
14760 Remove -Werror which causes build to fail on some systems
14761
14762 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
14763 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
14764 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 14765
22f53a96 147662009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14767
14768 trampoline for linux on 64-bit platform
14769
18f547ad 14770 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
14771 loader/i386/efi/linux_trampoline.S
14772 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 14773 declaration
d6da58e6 14774 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
14775 here
22f53a96 14776 * loader/i386/linux_trampoline.S: moved here
d6da58e6 14777 * loader/i386/efi/linux.c (allocate_pages): reserve space for
14778 trampoline
22f53a96 14779 (jumpvector): removed
14780 (grub_linux_trampoline_start): new declaration
14781 (grub_linux_trampoline_end): likewise
14782 (grub_linux_boot): use trampoline when on 64-bit platform
14783 * loader/i386/linux.c: likewise
14784
cb5a0f40 147852009-05-16 Pavel Roskin <proski@gnu.org>
14786
14787 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
14788 const to avoid a warning.
14789 (grub_lua_setenv): Likewise.
14790 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
14791 lmsg to fix a warning.
14792
334f2c28 147932009-05-16 Felix Zielcke <fzielcke@z-51.de>
14794
14795 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 14796 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
14797 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
14798 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
14799 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
14800 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
14801 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
14802 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 14803
59e5d3ec 148042009-05-16 Felix Zielcke <fzielcke@z-51.de>
14805
14806 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
14807
9d87a1ba 148082009-05-16 Bean <bean123ch@gmail.com>
14809
14810 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
14811 (lua_mod_SOURCES): New variable.
14812 (lua_mod_CFLAGS): Likewise.
14813 (lua_mod_LDFLAGS): Likewise.
14814
14815 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
14816 (setjmp_mod_SOURCES): New variable.
14817 (setjmp_mod_CFLAGS): Likewise.
14818 (setjmp_LDFLAGS): Likewise.
14819
14820 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
14821 (setjmp_mod_SOURCES): New variable.
14822 (setjmp_mod_CFLAGS): Likewise.
14823 (setjmp_LDFLAGS): Likewise.
14824
14825 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
14826 (setjmp_mod_SOURCES): New variable.
14827 (setjmp_mod_CFLAGS): Likewise.
14828 (setjmp_LDFLAGS): Likewise.
14829
14830 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
14831 (setjmp_mod_SOURCES): New variable.
14832 (setjmp_mod_CFLAGS): Likewise.
14833 (setjmp_LDFLAGS): Likewise.
14834
14835 * normal/i386/setjmp.S: Moved from here ...
14836 * lib/i386/setjmp.S: ... Moved here
14837 * normal/x86_64/setjmp.S: Moved from here ...
14838 * lib/x86_64/setjmp.S: ... Moved here
14839 * normal/powerpc/setjmp.S: Moved from here ...
14840 * lib/powerpc/setjmp.S: ... Moved here
14841 * normal/sparc64/setjmp.S: Moved from here ...
14842 * lib/sparc64/setjmp.S: ... Moved here
14843
14844 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
14845 returns_twice in mingw.
14846
14847 * script/lua/grub_lib.c: New file.
14848 * script/lua/grub_lib.h: Likewise.
14849 * script/lua/grub_lua.h: Likewise.
14850 * script/lua/grub_main.c: Likewise.
14851 * script/lua/lapi.c: Likewise.
14852 * script/lua/lapi.h: Likewise.
14853 * script/lua/lauxlib.c: Likewise.
14854 * script/lua/lauxlib.h: Likewise.
14855 * script/lua/lbaselib.c: Likewise.
14856 * script/lua/lcode.c: Likewise.
14857 * script/lua/lcode.h: Likewise.
14858 * script/lua/ldblib.c: Likewise.
14859 * script/lua/ldebug.c: Likewise.
14860 * script/lua/ldebug.h: Likewise.
14861 * script/lua/ldo.c: Likewise.
14862 * script/lua/ldo.h: Likewise.
14863 * script/lua/ldump.c: Likewise.
14864 * script/lua/lfunc.c: Likewise.
14865 * script/lua/lfunc.h: Likewise.
14866 * script/lua/lgc.c: Likewise.
14867 * script/lua/lgc.h: Likewise.
14868 * script/lua/linit.c: Likewise.
14869 * script/lua/liolib.c: Likewise.
14870 * script/lua/llex.c: Likewise.
14871 * script/lua/llex.h: Likewise.
14872 * script/lua/llimits.h: Likewise.
14873 * script/lua/lmathlib.c: Likewise.
14874 * script/lua/lmem.c: Likewise.
14875 * script/lua/lmem.h: Likewise.
14876 * script/lua/loadlib.c: Likewise.
14877 * script/lua/lobject.c: Likewise.
14878 * script/lua/lobject.h: Likewise.
14879 * script/lua/lopcodes.c: Likewise.
14880 * script/lua/lopcodes.h: Likewise.
14881 * script/lua/loslib.c: Likewise.
14882 * script/lua/lparser.c: Likewise.
14883 * script/lua/lparser.h: Likewise.
14884 * script/lua/lstate.c: Likewise.
14885 * script/lua/lstate.h: Likewise.
14886 * script/lua/lstring.c: Likewise.
14887 * script/lua/lstring.h: Likewise.
14888 * script/lua/lstrlib.c: Likewise.
14889 * script/lua/ltable.c: Likewise.
14890 * script/lua/ltable.h: Likewise.
14891 * script/lua/ltablib.c: Likewise.
14892 * script/lua/ltm.c: Likewise.
14893 * script/lua/ltm.h: Likewise.
14894 * script/lua/lua.h: Likewise.
14895 * script/lua/luaconf.h: Likewise.
14896 * script/lua/lualib.h: Likewise.
14897 * script/lua/lundump.c: Likewise.
14898 * script/lua/lundump.h: Likewise.
14899 * script/lua/lvm.c: Likewise.
14900 * script/lua/lvm.h: Likewise.
14901 * script/lua/lzio.c: Likewise.
14902 * script/lua/lzio.h: Likewise.
14903
5e898c9d 149042009-05-16 Bean <bean123ch@gmail.com>
14905
14906 * include/grub/kernel.h (grub_module_header_types): Add type
14907 OBJ_TYPE_CONFIG.
14908
14909 * kern/main.c (grub_load_config): New function.
14910 (grub_main): Call grub_load_config to read boot config.
14911
14912 * grub-mkimage (generate_image): New parameter config_path.
14913 (options): New option --config.
14914 (main): Parse --config option, and pass it to generate_image.
14915
cf353a47 149162009-05-14 Christian Franke <franke@computer.org>
14917
14918 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
14919 This fixes build on Cygwin.
14920
3834887f 149212009-05-14 Pavel Roskin <proski@gnu.org>
14922
14923 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
14924 jump. This saves two bytes, so the typical case of 2 swapped
14925 drives would fit 32 bytes.
14926
8090fc01 149272009-05-13 Pavel Roskin <proski@gnu.org>
14928
ac963883 14929 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
14930 grub_uint32_t to avoid a warning.
14931
8090fc01 14932 * loader/i386/linux.c (allocate_pages): When assigning
14933 real_mode_mem, cast through grub_size_t to fix a warning. The
14934 code already makes sure that the value would fit a pointer.
14935 (grub_linux_setup_video): Cast render_target->data to
14936 grub_size_t to fix a warning.
14937
18f547ad 149382009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 14939
14940 * commands/i386/pc/drivemap.c: New file - implement drivemap
14941 command.
14942 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
14943 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
14944
6f6a8b28 149452009-05-13 Pavel Roskin <proski@gnu.org>
14946
14947 * util/i386/pc/grub-setup.c (setup): Remove unused variable
14948 embedding_area_exists.
14949
15fbf4c4 149502009-05-13 Robert Millan <rmh.grub@aybabtu.com>
14951
14952 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
14953 it easier to understand / work with.
59978c8a 14954 Improve warning messages for cases where there's no embedding area,
14955 or when it is too small (or core.img too large).
15fbf4c4 14956
238e871f 149572009-05-13 Pavel Roskin <proski@gnu.org>
14958
0ab3a9a4 14959 * loader/i386/pc/multiboot2.c: Add necessary includes for
14960 grub_multiboot2_real_boot().
14961
a2c8c5f8 14962 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
14963 PX record is always little-endian. We only need the lower 2
14964 bytes of the mode.
14965
faec96af 14966 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
14967 facilitate code reuse.
14968 (grub_cpio_mount): Use "struct head", not a char buffer. This
14969 fixes a warning reported by gcc 4.4.
14970
238e871f 14971 * kernel/disk.c (grub_disk_read): Use void pointer for the
14972 buffer.
14973 (grub_disk_write): Use const void pointer for the buffer.
14974 Adjust all callers. Remove unnecessary casts.
14975
901d2f0c 149762009-05-10 Robert Millan <rmh.grub@aybabtu.com>
14977
14978 * util/i386/pc/grub-install.in: Update copyright year.
14979
18f547ad 149802009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 14981
14982 gptsync
14983
14984 * commands/gptsync.c: new file
14985 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
14986 (gptsync_mod_SOURCES): new variable
14987 (gptsync_mod_CFLAGS): likewise
14988 (gptsync_mod_LDFLAGS): likewise
18f547ad 14989 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 14990 new definition
14991 (GRUB_PC_PARTITION_TYPE_HFS): likewise
14992 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
14993 * conf/i386-ieee1275.rmk: likewise
14994 * conf/i386-pc.rmk: likewise
14995 * conf/powerpc-ieee1275.rmk: likewise
14996
b4ba690a 149972009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14998
14999 Fixed grub-emu
15000
15001 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
15002 (grub_dl_ref): likewise
15003
317e1a44 150042009-05-08 Robert Millan <rmh.grub@aybabtu.com>
15005
15006 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
15007 split in two functions (one for msdos and one for gpt).
15008
041b8094 150092009-05-08 Pavel Roskin <proski@gnu.org>
15010
752473c2 15011 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
15012 not modified.
15013
041b8094 15014 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
15015 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
15016 Initialize them with -1. Add sanity check for bad1. Eliminate
15017 nerr variable.
15018
172800ce 150192009-05-08 David S. Miller <davem@davemloft.net>
15020
15021 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
15022
29aa5e81 150232009-05-06 Robert Millan <rmh.grub@aybabtu.com>
15024
15025 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 15026 existence.
29aa5e81 15027
96613b62 150282009-05-05 Felix Zielcke <fzielcke@z-51.de>
15029
15030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 15031 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 15032
eef73c8a 150332009-05-05 David S. Miller <davem@davemloft.net>
15034
15035 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
15036
119494b5 150372009-05-05 Pavel Roskin <proski@gnu.org>
15038
15039 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
15040 of grub_dl_ref() and grub_dl_unref().
15041 * commands/parttool.c: Remove preprocessor conditionals around
15042 grub_dl_ref() and grub_dl_unref().
15043 * fs/affs.c: Likewise.
15044 * fs/afs.c: Likewise.
15045 * fs/cpio.c: Likewise.
15046 * fs/ext2.c: Likewise.
15047 * fs/fat.c: Likewise.
15048 * fs/hfs.c: Likewise.
15049 * fs/hfsplus.c: Likewise.
15050 * fs/iso9660.c: Likewise.
15051 * fs/jfs.c: Likewise.
15052 * fs/minix.c: Likewise.
15053 * fs/ntfs.c: Likewise.
15054 * fs/reiserfs.c: Likewise.
15055 * fs/sfs.c: Likewise.
15056 * fs/udf.c: Likewise.
15057 * fs/ufs.c: Likewise.
15058 * fs/xfs.c: Likewise.
15059 * include/grub/dl.h: Likewise.
15060 * loader/xnu.c: Likewise.
15061
de5fd76e 150622009-05-04 Pavel Roskin <proski@gnu.org>
15063
15064 * commands/acpi.c: Remove unused variable my_mod.
15065 * partmap/amiga.c: Likewise.
15066 * partmap/apple.c: Likewise.
15067 * partmap/gpt.c: Likewise.
15068 * partmap/pc.c: Likewise.
15069 * partmap/sun.c: Likewise.
15070 * term/gfxterm.c: Likewise.
15071 * term/i386/pc/vesafb.c: Likewise.
15072 * term/i386/pc/vga.c: Likewise.
15073
983598ad 150742009-05-04 David S. Miller <davem@davemloft.net>
15075
15076 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
15077 pointer args to grub_ieee1275_get_property().
15078
8aadec43 15079 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
15080
9554b15e 15081 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
15082 devices, and do not traverse down under controller nodes.
15083
67e23c90 15084 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
15085 (grub_ofdisk_open): Use it to un-escape "," characters.
15086 * kern/disk.c (find_part_sep): New.
15087 (grub_disk_open): Use it to find the first non-escaped ','
15088 character in the disk name.
15089 * util/ieee1275/devicemap.c (escape_of_path): New.
15090 (grub_util_emit_devicemap_entry): Use it.
15091 * util/sparc64/ieee1275/grub-install.in: Update script to
15092 strip partition specifiers properly by not triggering on
15093 '\' escaped ',' characters.
15094
74bfdd2f 150952009-05-04 Robert Millan <rmh.grub@aybabtu.com>
15096
15097 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
15098 to 0x300.
15099 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
15100 resolutions.
15101 (linux_vesafb_modes): Add a lot of additional modes to the list (based
15102 on documentation from Wikipedia).
15103
4241d2b1 151042009-05-04 Pavel Roskin <proski@gnu.org>
15105
15106 * disk/ata.c: Spelling fixes.
15107 * disk/raid.c: Likewise.
15108 * disk/usbms.c: Likewise.
15109 * disk/dmraid_nvidia.c: Likewise.
15110 * kern/ieee1275/openfw.c: Likewise.
15111 * kern/ieee1275/init.c: Likewise.
15112 * kern/ieee1275/cmain.c: Likewise.
15113 * boot/i386/pc/cdboot.S: Likewise.
15114 * video/readers/png.c: Likewise.
15115 * video/i386/pc/vbe.c: Likewise.
15116 * fs/udf.c: Likewise.
15117 * fs/hfs.c: Likewise.
15118 * fs/reiserfs.c: Likewise.
15119 * efiemu/runtime/efiemu.c: Likewise.
15120 * efiemu/main.c: Likewise.
15121 * efiemu/mm.c: Likewise.
15122 * include/grub/elf.h: Likewise.
15123 * include/grub/xnu.h: Likewise.
15124 * include/grub/usbdesc.h: Likewise.
15125 * include/grub/usb.h: Likewise.
15126 * include/grub/script_sh.h: Likewise.
15127 * include/grub/lib/LzmaEnc.h: Likewise.
15128 * include/grub/efiemu/efiemu.h: Likewise.
15129 * include/grub/command.h: Likewise.
15130 * normal/menu.c: Likewise.
15131 * normal/main.c: Likewise.
15132 * normal/datetime.c: Likewise.
15133 * bus/usb/uhci.c: Likewise.
15134 * mmap/i386/uppermem.c: Likewise.
15135 * mmap/mmap.c: Likewise.
15136 * commands/acpi.c: Likewise.
15137 * commands/test.c: Likewise.
15138 * partmap/apple.c: Likewise.
15139 * font/font.c: Likewise.
15140 * loader/sparc64/ieee1275/linux.c: Likewise.
15141 * loader/macho.c: Likewise.
15142 * loader/i386/bsd_trampoline.S: Likewise.
15143 * loader/i386/bsd.c: Likewise.
15144 * loader/xnu.c: Likewise.
15145 * term/i386/pc/vesafb.c: Likewise.
15146 * term/usb_keyboard.c: Likewise.
15147 * util/resolve.c: Likewise.
15148 * util/getroot.c: Likewise.
15149
0cfc0083 151502009-05-04 Felix Zielcke <fzielcke@z-51.de>
15151
15152 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
15153
7c1d00cd 151542009-05-04 Robert Millan <rmh.grub@aybabtu.com>
15155
15156 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
15157 build error.
15158
b01f0548 151592009-05-04 Robert Millan <rmh.grub@aybabtu.com>
15160
15161 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
15162 parameter only available on BIOS.
15163
ecc3eb22 151642009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 Removed wrong semicolon in declaration
15167
15168 * grub/misc.h (grub_dprintf): remove semicolon
15169
112972a9 151702009-05-04 Robert Millan <rmh.grub@aybabtu.com>
15171
15172 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
15173 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
15174 is done by grub_cmd_linux() now).
15175 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
15176 restore video to text mode.
15177 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
15178 indicates lack of "vga=" parameter. "vga=0" is mapped to
15179 `GRUB_LINUX_VID_MODE_NORMAL'.
15180
afd5c115 151812009-05-04 Felix Zielcke <fzielcke@z-51.de>
15182
15183 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
15184 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
15185 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 15186 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 15187 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
15188 `grub_script.tab.c'.
15189
15190 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15191 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15192 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15193 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15194 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15195
faa517ce 15196 * Makefile.in: Remove duplicated 2008 in Copyright line.
15197
ae0c0bdc 151982009-05-04 Robert Millan <rmh.grub@aybabtu.com>
15199
473d1e45 15200 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 15201 unconditionally.
15202 * include/grub/util/misc.h (grub_util_warn): New declaration.
15203
15204 * util/i386/pc/grub-install.in: Understand --force and pass it down
15205 to grub-setup.
15206
15207 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
15208 down to setup().
15209 (setup): Improve error messages and add warnings when requested to
15210 install in odd layouts. Refuse to install using blocklists unless
15211 --force was set.
15212
18f547ad 152132009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 15214
15215 * disk/raid.c (grub_raid_scan_device): Improve debug message.
15216
6d260daa 152172009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
15218
15219 Updated copyright year
15220
15221 * fs/hfsplus.c: updated copyright year
18f547ad 15222
69f853f8 152232009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
15224
15225 HFS+ UUID
15226
18f547ad 15227 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 15228 in the space previously used by unused3
15229 (grub_hfsplus_uuid): new function
15230 (grub_hfsplus_fs): added uuid field
15231
4c402e73 152322009-05-03 Pavel Roskin <proski@gnu.org>
15233
15234 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
15235 suppress warnings. It's no longer needed.
15236 * disk/host.c: Likewise.
15237 * disk/ata_pthru.c: Likewise.
15238 * disk/loopback.c: Likewise.
15239 * hook/datehook.c: Likewise.
15240 * parttool/pcpart.c: Likewise.
15241 * fs/i386/pc/pxe.c: Likewise.
15242 * fs/ntfscomp.c: Likewise.
15243 * efiemu/main.c: Likewise.
15244 * mmap/mmap.c: Likewise.
15245 * commands/crc.c: Likewise.
15246 * commands/hexdump.c: Likewise.
15247 * commands/hdparm.c: Likewise.
15248 * commands/acpi.c: Likewise.
15249 * commands/echo.c: Likewise.
15250 * commands/minicmd.c: Likewise.
15251 * commands/blocklist.c: Likewise.
15252 * commands/memrw.c: Likewise.
15253 * commands/loadenv.c: Likewise.
15254 * commands/usbtest.c: Likewise.
15255 * commands/lsmmap.c: Likewise.
15256 * commands/boot.c: Likewise.
15257 * commands/parttool.c: Likewise.
15258 * commands/configfile.c: Likewise.
15259 * commands/search.c: Likewise.
15260 * commands/ieee1275/suspend.c: Likewise.
15261 * commands/cat.c: Likewise.
15262 * commands/i386/pc/pxecmd.c: Likewise.
15263 * commands/i386/pc/play.c: Likewise.
15264 * commands/i386/pc/halt.c: Likewise.
15265 * commands/i386/pc/vbeinfo.c: Likewise.
15266 * commands/i386/pc/vbetest.c: Likewise.
15267 * commands/lspci.c: Likewise.
15268 * commands/date.c: Likewise.
15269 * commands/handler.c: Likewise.
15270 * commands/ls.c: Likewise.
15271 * commands/test.c: Likewise.
15272 * commands/cmp.c: Likewise.
15273 * commands/efi/loadbios.c: Likewise.
15274 * commands/efi/fixvideo.c: Likewise.
15275 * commands/halt.c: Likewise.
15276 * commands/help.c: Likewise.
15277 * commands/reboot.c: Likewise.
15278 * hello/hello.c: Likewise.
15279 * script/sh/main.c: Likewise.
15280 * loader/xnu.c: Likewise.
15281 * term/terminfo.c: Likewise.
15282 * term/i386/pc/serial.c: Likewise.
15283 * term/usb_keyboard.c: Likewise.
15284
515b5079 152852009-05-03 David S. Miller <davem@davemloft.net>
15286
15287 * normal/menu.c: Include grub/parser.h
15288
dfc31a22 152892009-05-03 Pavel Roskin <proski@gnu.org>
15290
2fee74f1 15291 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
15292 not char*.
15293 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
15294 Suggested by Javier Martín <lordhabbit@gmail.com>
15295
dfc31a22 15296 * util/i386/pc/grub-mkrescue.in: Allow for the case when
15297 efiemu??.o doesn't exist.
15298 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
15299 copying.
15300
18f547ad 153012009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 15302
15303 FreeBSD 64-bit support
15304
18f547ad 15305 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 15306 and loader/i386/bsd_trampoline.S
15307 (bsd_mod_ASFLAGS): new variable
15308 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
15309 (FREEBSD_MODTYPE_KERNEL64): likewise
15310 (grub_bsd64_trampoline_start): likewise
15311 (grub_bsd64_trampoline_end): likewise
15312 (grub_bsd64_trampoline_selfjump): likewise
15313 (grub_bsd64_trampoline_gdt): likewise
15314 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
15315 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
15316 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
15317 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 15318 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 15319 of "attrib" member
15320 * loader/i386/bsd_pagetable.c: new file
15321 * loader/i386/bsd_trampoline.S: likewise
15322 * loader/i386/bsd.c (ALIGN_QWORD): new macro
15323 (ALIGN_VAR): likewise
15324 (entry_hi): new variable
15325 (kern_end_mdofs): likewise
15326 (is_64bit): likewise
15327 (grub_freebsd_add_meta): use ALIGN_VAR
15328 (grub_e820_mmap): new declaration
15329 (grub_freebsd_add_mmap): new function
15330 (grub_freebsd_add_meta_module): support 64 bit kernels
15331 (grub_freebsd_list_modules): use ALIGN_VAR
15332 (gdt_descriptor): new declaration
15333 (grub_freebsd_boot): support 64 bit kernels
15334 (grub_bsd_elf64_hook): new function
15335 (grub_bsd_load_elf): support elf64
15336
038c5720 153372009-05-03 Bean <bean123ch@gmail.com>
15338
15339 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
15340 after we get the result of if statement.
15341
fc45fb58 153422009-05-03 Bean <bean123ch@gmail.com>
15343
15344 * Makefile.in (enable_efiemu): New variable.
15345
15346 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
15347 set.
15348 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
15349 path.
15350 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
15351 path, add -mno-red-zone option.
15352 (efiemu64_s.o): Likewise.
15353 (efiemu64.o): Use macro $^ for source file.
15354
15355 * configure.ac (--enable-efiemu): New option.
15356
bbee0f2b 153572009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
15358
15359 xnu support
15360
15361 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
15362 (pkglib_MODULES): add xnu.mod
15363 (xnu_mod_SOURCES): new variable
15364 (xnu_mod_CFLAGS): likewise
15365 (xnu_mod_LDFLAGS): likewise
15366 (xnu_mod_ASFLAGS): likewise
15367 * conf/i386-pc.rmk: likewise
15368 * conf/x86_64-efi.rmk: likewise
7dd4a573 15369 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 15370 new declaration
15371 * include/grub/i386/macho.h: new file
15372 * include/grub/i386/xnu.h: likewise
15373 * include/grub/macho.h: likewise
15374 * include/grub/machoload.h: likewise
15375 * include/grub/x86_64/macho.h: likewise
15376 * include/grub/x86_64/xnu.h: likewise
15377 * include/grub/xnu.h: likewise
15378 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
15379 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
15380 * loader/i386/efi/xnu.c: new file
15381 * loader/i386/pc/xnu.c: likewise
15382 * loader/i386/xnu.c: likewise
15383 * loader/i386/xnu_helper.S: likewise
15384 * loader/macho.c: likewise
15385 * loader/xnu.c: likewise
15386 * loader/xnu_resume.c: likewise
15387 * util/grub-dumpdevtree: likewise
15388 * include/grub/i386/pit.h: include grub/err.h
15389 (grub_pit_wait): export
15390 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 15391
5caf964d 153922009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
15393
15394 Efiemu
7dd4a573 15395
5caf964d 15396 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 15397 _linux_efi, linux_efi.
15398 new files in grub-emu
5caf964d 15399 new targets efiemu32.o and efiemu64.o
15400 * loader/linux_normal_efiemu.c: likewise
15401 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 15402 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 15403 files to copy
15404 * include/grub/autoefi.h: new file
7dd4a573 15405 * include/grub/i386/efiemu.h: likewise
5caf964d 15406 * include/grub/i386/pc/efiemu.h: likewise
15407 * include/grub/efi/api.h: add LL suffix when necessary
15408 new definitions relating to tables
15409 * include/grub/efiemu/efiemu.h: new file
15410 * include/grub/efiemu/runtime.h: likewise
15411 * efiemu/prepare.c: likewise
15412 * efiemu/loadcore_common.c: likewise
15413 * efiemu/loadcore64.c: likewise
15414 * efiemu/runtime/efiemu.sh: likewise
15415 * efiemu/runtime/efiemu.S: likewise
15416 * efiemu/runtime/efiemu.c: likewise
15417 * efiemu/runtime/config.h: likewise
15418 * efiemu/prepare32.c: likewise
15419 * efiemu/main.c: likewise
15420 * efiemu/modules/pnvram.c: likewise
15421 * efiemu/modules/i386: likewise
15422 * efiemu/modules/i386/pc: likewise
15423 * efiemu/modules/acpi.c: likewise
15424 * efiemu/i386/pc/cfgtables.c: likewise
15425 * efiemu/i386/loadcore64.c: likewise
15426 * efiemu/i386/loadcore32.c: likewise
15427 * efiemu/prepare64.c: likewise
15428 * efiemu/loadcore.c: likewise
15429 * efiemu/symbols.c: likewise
15430 * efiemu/mm.c: likewise
15431 * efiemu/loadcore32.c: likewise
7dd4a573 15432
154332009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 15434
15435 ACPI spoofing
15436
15437 * commands/acpi.c: new file
15438 * commands/i386/pc/acpi.c: likewise
15439 * commands/efi/acpi.c: likewise
15440 * include/grub/acpi.h: likewise
15441 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
15442 (acpi_mod_SOURCES): new variable
15443 (acpi_mod_CFLAGS): likewise
15444 (acpi_mod_LDFLAGS): likewise
15445 * conf/i386-efi.rmk: likewise
15446 * conf/x86_64-efi.rmk: likewise
15447
7dd4a573 154482009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 15449
15450 Missing part from mmap patch
15451
15452 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
15453 (grub_mmap_unregister)
15454 (grub_mmap_free_and_unregister): use grub_mmap_register
15455
7dd4a573 154562009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 15457
15458 Mmap services
15459
15460 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
15461 * loader/i386/linux.c (find_mmap_size): likewise
15462 (allocate_pages): likewise
15463 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
15464 (grub_fill_multiboot_mmap): likewise
15465 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
15466 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
15467 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
15468 (OPENBSD_MMAP_RESERVED): likewise
15469 * include/grub/i386/pc/memory.h: include grub/memory.h
15470 (grub_lower_mem): removed
15471 (grub_upper_mem): likewise
15472 (GRUB_MACHINE_MEMORY_ACPI): new definition
15473 (GRUB_MACHINE_MEMORY_NVS): likewise
15474 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
15475 (GRUB_MACHINE_MEMORY_HOLE): likewise
15476 (grub_machine_mmap_register): likewise
15477 (grub_machine_mmap_unregister): likewise
15478 (grub_machine_get_upper): likewise
15479 (grub_machine_get_lower): likewise
15480 (grub_machine_get_post64): likewise
15481 * include/grub/i386/efi/memory.h: new file
15482 * include/grub/x86_64/efi/memory.h: likewise
15483 * include/grub/efi/memory.h: likewise
15484 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
15485 (mmap_mod_SOURCES): new variable
15486 (mmap_mod_LDFLAGS): likewise
15487 (mmap_mod_ASFLAGS): likewise
15488 * conf/i386-coreboot.rmk: likewise
15489 * conf/i386-ieee1275.rmk: likewise
15490 * conf/i386-efi.rmk: likewise
15491 * conf/x86_64-efi.rmk: likewise
15492 * include/grub/types.h (UINT_TO_PTR): new macro
15493 (PTR_TO_UINT32): likewise
15494 (PTR_TO_UINT64): likewise
15495 * include/grub/memory.h: new file
15496 * mmap/i386/pc/mmap.c: likewise
15497 * mmap/i386/pc/mmap_helper.S: likewise
15498 * mmap/i386/uppermem.c: likewise
15499 * mmap/mmap.c: likewise
15500 * mmap/efi/mmap.c: likewise
7dd4a573 15501 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 15502 grub_upper_mem
15503 * kern/i386/pc/init.c (grub_lower_mem): removed variable
15504 (grub_upper_mem): likewise
15505 (grub_machine_init): don't use grub_upper_mem,
15506 make grub_lower_mem local
15507 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
15508 grub_mmap_iterate and grub_mmap_get_upper
15509 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
15510
d558e6b5 155112009-05-02 Bean <bean123ch@gmail.com>
15512
15513 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
15514 script/sh/parser.y.
15515 (pkglib_MODULES): Add normal.mod and sh.mod.
15516 (normal_SOURCES): New variable.
15517 (normal_mod_CFLAGS): Likewise.
15518 (normal_mod_LDFLAGS): Likewise.
15519 (sh_mod_SOURCES): Likewise.
15520 (sh_mod_CFLAGS): Likewise.
15521 (sh_mod_LDFLAGS): Likewise.
15522
15523 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
15524 script/sh/lexer.c_DEPENDENCIES.
15525 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
15526 kern/rescue_reader.c and kern/rescue_parser.c.
15527 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
15528 (grub_emu_SOURCES): Change source files.
15529 (pkglib_MODULES): Remove normal.mod.
15530 (normal_SOURCES): Removed.
15531 (normal_mod_CFLAGS): Likewise.
15532 (normal_mod_LDFLAGS): Likewise.
15533 * conf/i386-coreboot.rmk: Likewise.
15534 * conf/i386-efi.rmk: Likewise.
15535 * conf/i386-ieee1276.rmk: Likewise.
15536 * conf/powerpc-ieee1275.rmk: Likewise.
15537 * conf/sparc64-ieee1275.rmk: Likewise.
15538 * conf/x86_64-efi.rmk: Likewise.
15539
15540 * include/grub/command.h (grub_command_execute): New inline function.
15541
15542 * include/grub/menu.h (grub_menu_entry): Removed commands field.
15543
15544 * include/grub/normal.h: Remove <grub/setjmp.h>.
15545 (grub_fs_module_list): Moved to normal/autofs.c.
15546 (grub_exit_env): Removed.
15547 (grub_command_execute): Likewise.
15548 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
15549 parameter script.
15550 (read_command_list): New function declaration.
15551 (read_fs_list): Likewise.
15552
15553 * include/parser.h: Include <grub/reader.h>.
15554 (grub_parser_split_cmdline): Change type of getline parameter.
15555 (grub_parser): New structure.
15556 (grub_parser_class): New variable.
15557 (grub_parser_execute): New function declaration.
15558 (grub_register_rescue_parser): Likewise.
15559 (grub_parser_register): New inline function.
15560 (grub_parser_unregister): Likewise.
15561 (grub_parser_get_current): Likewise.
15562 (grub_parser_set_current): Likewise.
15563
15564 * include/grub/reader.h: New file.
15565 * kern/reader.c: Likewise.
15566 * kern/rescue_parser.c: Likewise.
15567 * kern/rescue_reader.c: Likewise.
15568 * normal/autofs.c: Likewise.
15569 * normal/dyncmd.c: Likewise.
15570
15571 * include/grub/rescue.h: Removed.
15572 * normal/command.h: Likewise.
15573
15574 * include/grub/script.h: Moved to ...
15575 * include/grub/script_sh.h: ... Moved here.
15576 * normal/execute.c: Moved to ...
15577 * script/sh/execute.c: ... Moved here.
15578 * normal/function.c: Moved to ...
15579 * script/sh/function.c: ... Moved here.
15580 * normal/lexer.c: Moved to ...
15581 * script/sh/lexer.c: ... Moved here.
15582 * normal/parser.y: Moved to ...
15583 * script/sh/parser.y: ... Moved here.
15584 * normal/script.c: Moved to ...
15585 * script/sh/script.c: ... Moved here.
15586
15587 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
15588 <grub/reader.h>.
15589 (grub_exit_env): Removed.
15590 (fs_module_list): Moved to normal/autofs.c.
15591 (grub_file_getline): Don't handle comment here.
15592 (free_menu): Skip removed field entry->commands.
15593 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
15594 script parameter.
15595 (read_config_file): Removed nested parameter, change getline function.
15596 (grub_enter_normal_mode): Removed.
15597 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
15598 (read_command_list): Likewise.
15599 (autoload_fs_module): Moved to normal/autofs.c.
15600 (read_fs_list): Likewise.
15601 (reader_nested): New variable.
15602 (grub_normal_execute): Run parser.sh to switch to sh parser.
15603 (grub_cmd_rescue): Removed.
15604 (cmd_normal): Removed.
15605 (grub_cmd_normal): Unregister itself at the beginning. Don't register
15606 rescue command.
15607 (grub_cmdline_run): New function.
15608 (grub_normal_reader_init): Likewise.
15609 (grub_normal_read_line): Likewise.
15610 (grub_env_write_pager): Likewise.
15611 (cmdline): New variable.
15612 (grub_normal_reader): Likewise.
15613 (GRUB_MOD_INIT): Register normal reader and set as current, register
15614 pager hook, register normal command with grub_register_command_prio,
15615 so that it won't show up in command.lst.
15616 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
15617 grub_fs_autoload_hook.
15618
15619 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
15620 (grub_menu_execute_entry): Replace grub_script_execute with
15621 grub_parser_execute, change parameter to grub_command_execute.
15622
15623 * normal/menu_text.c: Remove <grub/script.h>.
15624
15625 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
15626 and <grub/parser.h>.
15627 (run): Change editor_getline to use new parser interface. Change
15628 parameter to grub_command_execute.
15629
15630 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
15631 <grub/reader.h> and <grub/parser.h>.
15632 (grub_load_normal_mode): Execute normal command.
15633 (grub_main): Call grub_register_core_commands,
15634 grub_register_rescue_parser and grub_register_rescue_reader, use
15635 grub_reader_loop to enter input loop.
15636
7dd4a573 15637 * kern/parser.c (grub_parser_split_cmdline): Change type of
15638 getline parameter.
d558e6b5 15639 (grub_parser_class): New variable.
15640 (grub_parser_execute): New function.
15641
15642 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
15643 * loader/multiboot2.c: Likewise.
15644 * loader/sparc64/ieee1275/linux.c: Likewise.
15645
15646 * util/grub-emu.c (read_command_list): New dummy function.
15647
18db813d 156482009-05-02 Robert Millan <rmh.grub@aybabtu.com>
15649
15650 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
15651 count to 16 for CCISS and IDA.
15652
6c67de15 156532009-05-02 Robert Millan <rmh.grub@aybabtu.com>
15654
15655 * normal/menu_text.c (grub_wait_after_message): Print a newline
15656 after waiting for user input.
15657
15658 * loader/i386/linux.c: Include `<grub/normal.h>'.
15659 (grub_cmd_linux): Improve the error message about `ask' mode, by
15660 waiting for user input so it's not missed (we can do this, since
15661 user requested interaction).
15662
d9dc87b0 156632009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
15664
15665 Added missing lst to grub-mkrescue
15666
15667 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
15668 and ${input_dir}/parttool.lst
15669
ac8a2baa 156702009-04-30 David S. Miller <davem@davemloft.net>
15671
ad22a610 15672 * util/hostdisk.c (device_is_wholedisk): New function.
15673 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
15674 zero only if device_is_wholedisk() returns true.
15675
6966215d 15676 * util/hostdisk.c (convert_system_partition_to_system_disk):
15677 Handle virtual disk devices named /dev/vdiskX as found on sparc
15678 and powerpc.
15679
ac8a2baa 15680 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
15681 lettered partition specifier is found, convert to numbered.
15682
979b4fb4 156832009-04-29 David S. Miller <davem@davemloft.net>
15684
e2bf39b2 15685 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
15686 * include/grub/sparc64/ieee1275/memory.h: Likewise.
15687
3c64e104 15688 * normal/command.c: Add missing newline at end of file.
15689
979b4fb4 15690 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
15691 warnings.
15692 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
15693 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
15694 grub_ofdisk_read): Likewise, and deal similarly with the fact that
15695 ihandles have a 32-bit type but need to be stored in a "void *".
15696
136d9f82 156972009-04-28 Pavel Roskin <proski@gnu.org>
15698
9459c306 15699 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
15700 not disk. Adjust all dependencies.
2e08a26a 15701 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 15702 grub_disk_close().
15703
136d9f82 15704 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
15705 parent's partition, don't copy it by reference, as it gets freed
15706 on close.
15707
7dd4a573 157082009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 15709
15710 Preboot hooks support
15711
15712 * commands/boot.c (struct grub_preboot_t): new declaration
15713 (preboots_head): new variable
15714 (preboots_tail): likewise
15715 (grub_loader_register_preboot_hook): new function
15716 (grub_loader_unregister_preboot_hook): likewise
15717 (grub_loader_set): launch preboot hooks
15718 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
15719 (grub_loader_register_preboot_hook): new declaration
15720 (grub_loader_unregister_preboot_hook): likewise
15721
5af922b5 157222009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 Warning fix
15725
7dd4a573 15726 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 15727 calling grub_dprintf
15728
a5562c30 157292009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
15730
15731 Bug and warning fixes
15732
7dd4a573 15733 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 15734 declaration
15735 * commands/test.c (test_parse): fixed bug with file tests and corrected
15736 declaration of find_file
15737
4006f85c 157382009-04-26 Pavel Roskin <proski@gnu.org>
15739
15740 * Makefile.in: Don't install empty manual pages if help2man is
15741 missing. Use help2man option for output, not shell redirection.
15742
5c77c3de 157432009-04-26 David S. Miller <davem@davemloft.net>
15744
15745 * util/grub-mkdevicemap.c (make_device_map): Add missing
15746 NESTED_FUNC_ATTR to process_device().
15747
033b10a8 157482009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15749
15750 Test command
15751
15752 * commands/test.c: rewritten to use bash-like test
15753
e4343593 157542009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15755
15756 Parttool autoloading and improvements
15757
7dd4a573 15758 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 15759 (parttool.lst): new target
15760 * genmk.rb: generate parttool-*
15761 (CLEANFILES): add #{parttool}
15762 (PARTTOOLFILES): new variable
15763 * genparttoollist.sh: new file
7dd4a573 15764 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 15765 (grub_pcpart_type): likewise
15766 * commands/parttool.c (helpmsg): new variable
15767 (grub_cmd_parttool): output help if not enough arguments are supplied
15768 autoload modules
15769 (GRUB_MOD_INIT(parttool)): use helpmsg
15770
0d312500 157712009-04-24 David S. Miller <davem@davemloft.net>
15772
7dd4a573 15773 Avoiding opening same device multiple times in device iterator.
0d312500 15774
15775 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 15776 and use it to build a list of partitions in iterate_disk() and
0d312500 15777 iterate_partition().
15778
ac20caff 15779 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
15780 on disk->data.
15781
0dcf7495 15782 * disk/ieee1275/nand.c (grub_nand_iterate): Return
15783 grub_devalias_iterate() result instead of unconditional 0.
15784 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
15785 Also, capture hook return value, either directly or via
15786 grub_children_iterate(), and propagate to caller.
15787 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
15788 grub_children_iterate): Return value is now 'int' instead of
15789 'grub_err_t'.
15790 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
15791 like a proper iterator, stopping when hooks return non-zero.
15792 (grub_devalias_iterate): Likewise.
15793
c8c08833 157942009-04-23 David S. Miller <davem@davemloft.net>
15795
15796 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
15797
f01005a8 157982009-04-22 David S. Miller <davem@davemloft.net>
15799
15800 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
15801 is larger than address_cells, use that value for address_cells too.
15802
4e8269da 15803 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
15804 IEEE1275_MAX_PATH_LEN): Define.
15805 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
15806 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
15807 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
15808 'devtype'. Explicitly NULL terminate devalias expansion.
15809
a1447506 15810 * util/sparc64/ieee1275/misc.c: New file.
15811 * util/sparc64/ieee1275/grub-setup.c: New file.
15812 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
15813 * util/sparc64/ieee1275/grub-mkimage.c: New file.
15814 * util/sparc64/ieee1275/grub-install.in: New file.
15815 * util/ieee1275/ofpath.c: New file.
15816 * util/ieee1275/devicemap.c: New file.
15817 * util/devicemap.c: New file.
15818 * util/deviceiter.c: New file.
15819 * kern/sparc64/ieee1275/init.c: New file.
15820 * include/grub/util/ofpath.h: New file.
15821 * include/grub/util/deviceiter.h: New file.
15822 * util/grub-mkdevicemap.c: Include deviceiter.h.
15823 Implement using grub_util_emit_devicemap_entry and
15824 grub_util_iterate_devices.
15825 * conf/i386-corebook.rmk: Build util/deviceiter.c and
15826 util/devicemap.c into grub-mkdevicemap
15827 * conf/i386-efi.rmk: Likewise.
15828 * conf/i386-ieee1275.rmk: Likewise.
15829 * conf/i386-pc.rmk: Likewise.
15830 * conf/powerpc-ieee1275.rmk: Likewise.
15831 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
15832 images and installation utilities. Build kernel as image
15833 instead of as elf binary. Use common rules as much as possible.
15834
7dd4a573 158352009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 15836
15837 Correct GPT definition
15838
7dd4a573 15839 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 15840 of "attrib" member
15841
c6c5219f 158422009-04-19 Felix Zielcke <fzielcke@z-51.de>
15843
15844 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
15845
0552ff9f 158462009-04-19 David S. Miller <davem@davemloft.net>
15847
15848 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
15849 (grub_rescue_cmd_linux): Rename to...
15850 (grub_cmd_linux): and fix prototype.
15851 (grub_rescue_cmd_initrd): Rename to...
15852 (grub_cmd_initrd): and fix prototype.
15853 (cmd_linux, cmd_initrd): New.
15854 (GRUB_MOD_INIT(linux)): Use grub_register_command().
15855 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
15856
d1a282fc 158572009-04-17 Pavel Roskin <proski@gnu.org>
15858
07c5039f 15859 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
15860 format.
15861 (grub_ohci_transfer): Likewise.
15862
b012002d 15863 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
15864
1bc09c35 15865 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
15866 return without a value. Fix inconsistent indentation.
15867
e0ff9126 15868 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
15869 match struct grub_fs.
15870
d1a282fc 15871 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
15872 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
15873 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
15874 * commands/lspci.c (grub_lspci_iter): Likewise.
15875
a96df3f2 158762009-04-16 Bean <bean123ch@gmail.com>
15877
15878 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
15879 value.
15880
41bb0fe9 158812009-04-15 Pavel Roskin <proski@gnu.org>
15882
15883 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
15884 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
15885 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
15886 definitions.
15887
596c6970 158882009-04-15 Felix Zielcke <fzielcke@z-51.de>
15889
15890 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 15891 that no multiple data or metadata areas are supported and `Unknown
596c6970 15892 metadata header'.
15893
7dd4a573 158942009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 15895
15896 Move loader out of the kernel
15897
15898 * kern/loader.c: moved to ...
15899 * commands/boot.c: ... moved here
15900 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
15901 * commands/boot.c (grub_cmd_boot): moved here. All users updated
15902 * include/grub/kernel.h (grub_machine_fini): export
15903 * include/grub/loader.h (grub_loader_is_loaded): update declaration
15904 (grub_loader_set): likewise
15905 (grub_loader_unset): likewise
15906 (grub_loader_boot): likewise
15907 * conf/common.rmk: new module boot.mod
15908 (pkglib_MODULES): add boot.mod
15909 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
15910 (grub_emu_SOURCES): likewise
15911 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
15912 (grub_emu_SOURCES): likewise
15913 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
15914 (grub_emu_SOURCES): likewise
15915 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
15916 (grub_emu_SOURCES): likewise
15917 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
15918 (grub_emu_SOURCES): likewise
7dd4a573 15919 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
15920 (grub_emu_SOURCES): likewise
0d5d5653 15921 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 15922 (grub_emu_SOURCES): likewise
0d5d5653 15923
7dd4a573 159242009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 15925
15926 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 15927
5999d619 15928 * kern/misc.c (grub_itoa): Removed function
15929 (grub_ltoa): likewise
15930 (grub_vsprintf): use grub_lltoa
15931
7dd4a573 159322009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 15933
15934 Restore grub-emu
15935
15936 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
15937 * conf/i386-coreboot.rmk: likewise
15938 * conf/i386-ieee1275.rmk: likewise
15939 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 15940
20318222 159412009-04-15 Felix Zielcke <fzielcke@z-51.de>
15942
15943 * INSTALL: Add that `./autogen.sh' needs to be run before
15944 `./configure.'.
15945
d05f0df3 159462009-04-14 Bean <bean123ch@gmail.com>
15947
15948 * Makefile.in (pkglib_DATA): Add handler.lst.
15949 (handler.lst): New rule.
15950
15951 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
15952 * conf/i386-coreboot.rmk: Likewise.
15953 * conf/i386-ieee1275.rmk: Likewise.
15954 * conf/i386-efi.rmk: Likewise.
15955 * conf/x86_64-efi.rmk: Likewise.
15956 * conf/powerpc-ieee1275.rmk: Likewise.
15957 * conf/sparc64-ieee1275.rmk: Likewise.
15958
15959 * genhandlerlist.sh: New file.
15960
15961 * genmk.rb: Add rules to generate handler.lst.
15962
15963 * include/grub/normal.h (grub_file_getline): New function definition.
15964 (read_handler_list): Likewise.
15965 (free_handler_list): Likewise.
15966
15967 * include/grub/term.h (grub_term_register_input): Add name parameter
15968 for auto generation of handler.lst.
15969 (grub_term_register_output): Likewise.
15970
15971 * normal/handler.c: New file.
15972
15973 * normal/main.c (get_line): Renamed to grub_file_getline.
15974 (read_config_file): Use the newly renamed grub_file_getline.
15975 (read_command_list): Likewise.
15976 (read_fs_list): Likewise.
15977 (grub_normal_execute): Call read_handler_list to parse handler.lst.
15978 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
15979
15980 * term/efi/console.c (grub_console_init): Add name parameter for auto
15981 generation of handler.lst.
15982 * term/gfxterm.c: Likewise.
15983 * term/i386/pc/at_keyboard.c: Likewise.
15984 * term/i386/pc/console.c: Likewise.
15985 * term/i386/pc/serial.c: Likewise.
15986 * term/i386/pc/vesafb.c: Likewise.
15987 * term/i386/pc/vga.c: Likewise.
15988 * term/i386/pc/vga_text.c: Likewise.
15989 * term/ieee1275/ofconsole.c: Likewise.
15990 * term/usb_keyboard.c: Likewise.
15991
33c846be 159922009-04-14 Bean <bean123ch@gmail.com>
15993
15994 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
15995 properly with null character.
15996
4484e01e 159972009-04-14 Felix Zielcke <fzielcke@z-51.de>
15998
15999 * configure: Remove.
16000 * config.h.in: Likewise.
f93d668e 16001 * stamp-h.in: Likewise.
4484e01e 16002 * DISTLIST: Likewise.
16003 * conf/common.mk: Likewise.
16004 * conf/i386-coreboot.mk: Likewise.
16005 * conf/i386-efi.mk: Likewise.
16006 * conf/i386-ieee1275.mk: Likewise.
16007 * conf/i386.mk: Likewise.
16008 * conf/i386-pc.mk: Likewise.
16009 * conf/powerpc-ieee1275.mk: Likewise.
16010 * conf/sparc64-ieee1275.mk: Likewise.
16011 * conf/x86_64-efi.mk: Likewise.
16012
16013 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
16014 develop on GRUB.
16015
7dd4a573 160162009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 16017 David S. Miller <davem@davemloft.net>
16018
16019 * util/hostdisk.c (make_device_name): Fix buffer length
16020 calculations.
16021
e25b5a8c 160222009-04-14 Felix Zielcke <fzielcke@z-51.de>
16023
16024 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
16025 <sys/param.h> and <sys/sysctl.h>.
16026 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
16027 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
16028 opening the device and reset them afterwards.
16029
1f1f580c 160302009-04-13 Pavel Roskin <proski@gnu.org>
16031
16032 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
16033 Reported by John Stanley <jpsinthemix@verizon.net>
16034
7ebc2d6b 160352009-04-13 Robert Millan <rmh@aybabtu.com>
16036
16037 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 16038 that name for menuentries when appropriate.
7ebc2d6b 16039
d8ba3667 160402009-04-13 Felix Zielcke <fzielcke@z-51.de>
16041
16042 * util/grub.d/10_freebsd.in: Add a missing `fi'.
16043
cba416eb 160442009-04-13 Robert Millan <rmh@aybabtu.com>
16045
16046 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
16047 to Linux, simply abort telling the user it's no longer supported.
16048
a547a745 160492009-04-13 Felix Zielcke <fzielcke@z-51.de>
16050
16051 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 16052 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 16053 `freebsd_loadenv' only when devices.hints exist.
16054
232a769c 160552009-04-13 Pavel Roskin <proski@gnu.org>
16056
16057 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
16058
c3012039 160592009-04-13 Felix Zielcke <fzielcke@z-51.de>
16060
16061 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
16062 partition number.
16063 (grub_drive): Likewise.
16064
234022fe 160652009-04-13 David S. Miller <davem@davemloft.net>
16066
16067 * kern/sparc64/ieee1275/ieee1275.c: New file.
16068 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
16069 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
16070 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
16071 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
16072 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
16073 grub_ieee1275_alloc_physmem): Declare new exported functions.
16074
d8e1836c 16075 * include/grub/sparc64/ieee1275/loader.h: New file.
16076 * include/grub/sparc64/ieee1275/memory.h: Likewise.
16077 * include/grub/sparc64/kernel.h: Likewise.
16078 * loader/sparc64/ieee1275/linux.c: Likewise.
16079
96bd81ec 16080 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
16081 (grub_fstest_SOURCES): Likewise.
16082
6a4737e5 16083 * util/hostdisk.c (make_device_name): Do not make any assumptions
16084 about the length of drive names.
16085
1d7a72fd 16086 * kern/dl.c (grub_dl_load_file): Close file immediately when
16087 we are done using it.
16088
56bc2471 160892009-04-12 David S. Miller <davem@davemloft.net>
16090
16091 * kern/misc.c (grub_ltoa): Fix cast when handling negative
16092 values. Noticed by Pavel Roskin.
16093
df38d0bb 16094 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
16095 target compiler.
7dd4a573 16096
e382e93a 16097 * genmk.rb: Add more flexible image type specification, also
16098 pass --strip-unneeded to objcopy.
16099 * conf/i386-pc.rmk: Use *_FORMAT.
16100 * conf/i386-pc.mk: Rebuilt.
16101
f5dbbca9 16102 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
16103 (OFDISK_HASH_SZ): Define.
16104 (ofdisk_hash): New hash table.
16105 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
16106 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
16107 instead of device phandle which is not unique.
16108
91c88b12 16109 * kern/sparc64/ieee1275/init.c: Delete, replace with...
16110 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
16111 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
16112 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
16113 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
16114 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
16115 GRUB_KERNEL_MACHINE_DATA_END): Define.
16116 (grub_kernel_image_size, grub_total_module_size): Declare.
16117
5b5d4aa5 161182009-04-12 Pavel Roskin <proski@gnu.org>
16119
7dd4a573 16120 * configure.ac: Change the logic when we check for target tools.
16121 Do it when the target is specified and it's different from the
16122 specified value of the host.
5b5d4aa5 16123
c91e1793 161242009-04-11 Felix Zielcke <fzielcke@z-51.de>
16125
16126 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
16127 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
16128 GNU/kFreeBSD. Check if a device is a character device. Use
16129 DIOCGMEDIASIZE to get the size.
16130 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
16131 support for GNU/kFreeBSD.
16132 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
16133 is a character device instead of a block device. Add support for
16134 FreeBSD device names.
16135
16136 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
16137 is a character device instead of a block device.
16138
16139 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
16140 is a character device instead of a block device.
16141
b1ac8644 161422009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
16143
16144 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
16145 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
16146 FreeBSD. Check if a device is a character device. Use
16147 DIOCGMEDIASIZE to get the size.
16148 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
16149 support for FreeBSD.
16150 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
16151 is a character device instead of a block device. Add support for
16152 FreeBSD device names.
16153
16154 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
16155 a character device instead of a block device.
16156 (grub_util_check_char_device): New function.
16157
16158 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
16159 a character device instead of a block device.
16160
16161 * include/grub/util/getroot.h (grub_util_check_char_device): New
16162 prototype.
16163
a3f7515a 161642009-04-11 David S. Miller <davem@davemloft.net>
16165
16166 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
16167 static libgcc.
16168 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
16169 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
16170 function, if present.
16171 (__bswapdi2): Likewise.
16172
0d44993d 16173 * include/grub/sparc64/ieee1275/boot.h: New file.
16174 * boot/sparc64/ieee1275/boot.S: Likewise.
16175 * boot/sparc64/ieee1275/diskboot.S: Likewise.
16176
ed3d2bc2 16177 * kern/misc.c (grub_ltoa): New function.
16178 (grub_vsprintf): Use it to format 'long' integers.
16179
d3bfb59c 161802009-04-10 David S. Miller <davem@davemloft.net>
16181
16182 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
16183 slots are of type grub_ieee1275_cell_t.
16184 (grub_nand_read): Likewise.
16185 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
16186 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
16187 macros are used to compare values in arg/ret block of the call.
16188 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
16189 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
16190 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
16191 grub_ieee1275_instance_to_path, grub_ieee1275_write,
16192 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
16193 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
16194 grub_ieee1275_close, grub_ieee1275_set_property,
16195 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
16196 grub_ieee1275_cell_t.
16197 * kern/ieee1275/openfw.c (grub_map): Likewise.
16198 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
16199 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
16200
450e2238 16201 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
16202 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
16203 (grub_devalias_iterate): Likewise.
16204
7dd4a573 162052009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 16206
16207 UFS improvements
16208
16209 * fs/ufs.c (INODE_NBLOCKS): new definition
16210 (struct grub_ufs_dirent): added fields for non-BSD dirents
16211 (grub_ufs_get_file_block): fixed double indirect handling
16212 (grub_ufs_lookup_symlink): use more robust way to determine whether
16213 symlink is inline
16214 (grub_ufs_find_file): support for non-BSD dirents
16215 (grub_ufs_dir): support for non-BSD dirents
16216
e7e6862a 162172009-04-10 Bean <bean123ch@gnail.com>
16218
16219 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
16220 attribute, otherwise the size would be wrong for i386 platform.
16221
16222 * include/grub/pci.h (grub_pci_read_word): New inline function.
16223 (grub_pci_read_byte): Likewise.
16224 (grub_pci_write): Likewise.
16225 (grub_pci_write_word): Likewise.
16226 (grub_pci_write_byte): Likewise.
16227
16228 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
16229
16230 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
16231 (find_framebuf): Scan pci to locate the frame buffer address.
16232
16233 * commands/efi/fixvideo.c: New file.
16234
16235 * commands/efi/loadbios.c: Likewise.
16236
16237 * commands/memrw.c: Likewise.
16238
16239 * util/grub-dumpbios.in: Likewise.
16240
16241 * conf/common.rmk (grub-dumpbios): New utility.
16242 (pkglib_MODULES): New module memrw.mod.
16243 (memrw_mod_SOURCE): New macro.
16244 (memrw_mod_CFLAGS): Likewise.
16245 (memrw_mod_LDFLAGS): Likewise.
16246
7dd4a573 16247 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 16248 fixvideo.mod.
16249 (loadbios_mod_SOURCE): New macro.
16250 (loadbios_mod_CFLAGS): Likewise.
16251 (loadbios_mod_LDFLAGS): Likewise.
16252 (fixvideo_mod_SOURCE): Likewise.
16253 (fixvideo_mod_CFLAGS): Likewise.
16254 (fixvideo_mod_LDFLAGS): Likewise.
16255
7dd4a573 16256 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 16257 fixvideo.mod.
16258 (loadbios_mod_SOURCE): New macro.
16259 (loadbios_mod_CFLAGS): Likewise.
16260 (loadbios_mod_LDFLAGS): Likewise.
16261 (fixvideo_mod_SOURCE): Likewise.
16262 (fixvideo_mod_CFLAGS): Likewise.
16263 (fixvideo_mod_LDFLAGS): Likewise.
16264
af63ada2 162652009-04-08 Felix Zielcke <fzielcke@z-51.de>
16266
16267 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
16268
c2cdde70 162692009-04-07 David S. Miller <davem@davemloft.net>
16270
16271 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
16272 support for R_SPARC_OLO10 relocations. Fix compile warning for
16273 R_SPARC_WDISP30 case.
ea3f72cf 16274 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 16275
761319cf 162762009-04-06 Pavel Roskin <proski@gnu.org>
16277
1007d1f5 16278 * include/grub/misc.h (ARRAY_SIZE): New macro.
16279 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
16280 New macro.
16281 * loader/i386/linux.c (allocate_pages): Use free_pages().
16282 (grub_linux_unload): Don't use free_pages().
16283 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
16284 wrong index. Treat all other modes as text modes.
16285 (grub_cmd_linux): Initialize vid_mode unconditionally to
16286 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
16287
761319cf 16288 * commands/help.c (print_command_help): Use cmd->prio, not
16289 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
16290
ea761d40 162912009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 16292
ea761d40 16293 Parttool
16294
16295 * parttool/pcpart.c: new file
16296 * commands/parttool.c: likewise
16297 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
16298 (parttool_mod_SOURCES): new variable
16299 (parttool_mod_CFLAGS): likewise
16300 (parttool_mod_LDFLAGS): likewise
16301 (pcpart_mod_SOURCES): likewise
16302 (pcpart_mod_CFLAGS): likewise
16303 (pcpart_mod_LDFLAGS): likewise
7dd4a573 16304 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 16305 and parttool/pcpart.c
16306 * conf/i386-efi.rmk: likewise
16307 * conf/i386-ieee1275.rmk: likewise
16308 * conf/i386-pc.rmk: likewise
16309 * conf/powerpc-ieee1275.rmk: likewise
16310 * conf/sparc64-ieee1275.rmk: likewise
16311 * conf/x86_64-ieee1275.rmk: likewise
16312
05aaebfb 163132009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16314
16315 Support for mtime and further expandability of dir command
16316
16317 * include/grub/lib/datetime.h: moved to ...
7dd4a573 16318 * include/grub/datetime.h: ... moved here and added
05aaebfb 16319 declaration of grub_unixtime2datetime. All users updated
7dd4a573 16320 * include/grub/fs.h: new syntax for dir and mtime functions in
16321 struct grub_fs
05aaebfb 16322 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
16323 and GRUB_FSHELP_FLAGS_MASK
16324 * commands/ls.c (grub_ls_list_files): Write mtime in long format
16325 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
16326 (grub_ext2_mtime): new function
16327 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
16328 (grub_hfsplus_mtime): new function
16329 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
16330 (GRUB_UFS_ATTR_FILE): likewise
16331 (GRUB_UFS_ATTR_LNK): likewise
16332 (struct grub_ufs_sblock): new fields mtime
16333 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
16334 all users updated
16335 (grub_ufs_dir): mtime support
16336 (grub_ufs_mtime): new function
16337 * fs/affs.c (grub_affs_dir): use new dir syntax
16338 * fs/afs.c (grub_afs_dir): likewise
16339 * fs/cpio.c (grub_cpio_dir): likewise
16340 * fs/fat.c (grub_fat_find_dir): likewise
16341 * fs/hfs.c (grub_hfs_dir): likewise
16342 * fs/iso9660.c (grub_iso9660_dir): likewise
16343 * fs/jfs.c (grub_jfs_dir): likewise
16344 * fs/minix.c (grub_minix_dir): likewise
16345 * fs/ntfs.c (grub_ntfs_dir): likewise
16346 * fs/reiserfs.c (grub_reiserfs_dir): likewise
16347 * fs/sfs.c (grub_sfs_dir): likewise
16348 * fs/xfs.c (grub_xfs_dir): likewise
16349 * util/hostfs.c (grub_hostfs_dir): likewise
16350 * lib/datetime.c: moved to ...
16351 * normal/datetime.c: ... moved here
16352 (grub_unixtime2datetime): new function
16353 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 16354 * normal/completion.c (iterate_dir): use new dir syntax
16355 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 16356 last modification time of a volume
7dd4a573 16357 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 16358 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 16359 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 16360 (normal_mod_SOURCES): likewise
16361 (datetime_mod_SOURCES): Removed lib/datetime.c
16362 * conf/i386-efi.rmk: likewise
7dd4a573 16363 * conf/i386-ieee1275.rmk: likewise
05aaebfb 16364 * conf/i386-pc.rmk: likewise
16365 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 16366 * conf/sparc64-ieee1275.rmk: likewise
16367 * conf/x86_64-efi.rmk: likewise
05aaebfb 16368
8a7e1a14 163692009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 16372
16373 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 16374 on grub_fat_find_dir
16375 (grub_fat_find_dir): use grub_fat_iterate_dir
16376 (grub_fat_label): likewise
16377
04186a9c 163782009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
16379
7dd4a573 16380 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 16381 and command.h
16382 remove extraneous kernel_elf_HEADERS
16383
da4c0bb6 163842009-04-04 Bean <bean123ch@gnail.com>
16385
16386 * include/grub/util/misc.h: Add dummy function fsync for mingw.
16387
16388 * util/misc.c: Likewise.
16389
54ad9555 163902009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
16391
16392 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
16393 instead of grub_printf.
16394
7a6bf9f2 163952009-04-03 Robert Millan <rmh@aybabtu.com>
16396
16397 * loader/i386/linux.c (grub_linux_setup_video): Fill
16398 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
16399 values from `mode info' structure instead of hardcoded
16400 values.
16401
3fcc2083 164022009-04-01 Pavel Roskin <proski@gnu.org>
16403
16404 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
16405 unused now.
16406 * genmk.rb: Likewise.
16407 * configure.ac: Likewise.
16408
5ec9740b 164092009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
16410
16411 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
16412 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
16413
5270cec8 164142009-04-01 David S. Miller <davem@davemloft.net>
16415
16416 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 16417 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 16418 (grub_setjmp): Mark with 'returns_twice' attribute.
16419 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
16420 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
16421 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
16422
9c3dd854 164232009-04-01 Robert Millan <rmh@aybabtu.com>
16424
16425 Reapply fix from 2008-07-28 which was accidentally reverted; also
16426 perform the same fix to a similar check in same function.
16427
16428 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
16429 with the same number are found, just use issue a warning with
16430 grub_dprintf(), as this error has been reported to be non-fatal.
16431
0d818b7e 164322009-03-31 Pavel Roskin <proski@gnu.org>
16433
16434 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
16435 for cross-compilation.
16436
95646d92 164372009-03-30 Robert Millan <rmh@aybabtu.com>
16438
16439 Fix i386-ieee1275 build.
16440
16441 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
16442 Remove declaration.
16443
6a003ed1 164442009-03-30 Pavel Roskin <proski@gnu.org>
16445
16446 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
16447 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
16448 zero-terminated, rely only on the strlen value. Fix comparison
16449 of strings differing in length.
16450
92f33540 164512009-03-30 Robert Millan <rmh@aybabtu.com>
16452
16453 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
16454 checking for abi version. Improve error messages on BIOS to notify
16455 user about `linux16' command.
16456
a8c48fd5 164572009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16458
f968172e 16459 Leak fixes
a8c48fd5 16460
f968172e 16461 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
16462 in case of collision
16463 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 16464
9c323f09 164652009-03-29 Robert Millan <rmh@aybabtu.com>
16466
16467 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
16468 set `vid_mode' accordingly.
16469 (grub_linux_boot): Process `vid_mode' and set video mode.
16470
ae68f423 164712009-03-29 Robert Millan <rmh@aybabtu.com>
16472
16473 * util/grub.d/10_linux.in (linux_entry): New function.
16474 Factorize generation of Linux boot entries.
16475
5709cfc4 164762009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
16477
16478 Make the format of Environment Block plain text. The boot loader
16479 part is not tested well yet.
7dd4a573 16480
5709cfc4 16481 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
16482 (buffer): Removed.
16483 (envblk): Likewise.
16484 (usage): Remove "info" and "clear". Add "unset". Update the
16485 description of "set", as this does not delete variables any
16486 longer.
16487 (create_envblk_file): Complete rewrite.
16488 (open_envblk_file): Likewise.
16489 (cmd_info): Removed.
16490 (cmd_list): Likewise.
16491 (cmd_set): Likewise.
16492 (cmd_clear): Likewise.
16493 (list_variables): New function.
16494 (write_envblk): Likewise.
16495 (set_variables): Likewise.
16496 (unset_variables): Likewise.
16497 (main): Complete rewrite.
16498
16499 * commands/loadenv.c (buffer): Removed.
16500 (envblk): Likewise.
16501 (open_envblk_file): New function.
16502 (read_envblk_file): Complete rewrite.
16503 (grub_cmd_load_env): Likewise.
16504 (grub_cmd_list_env): Likewise.
16505 (struct blocklist): New struct.
16506 (free_blocklists): New function.
16507 (check_blocklists): Likewise.
16508 (write_blocklists): Likewise.
16509 (grub_cmd_save_env): Complete rewrite.
16510
16511 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
16512 a plain text signature.
16513 (GRUB_ENVBLK_MAXLEN): Removed.
16514 (struct grub_envblk): Complete rewrite.
16515 (grub_envblk_find): Removed.
16516 (grub_envblk_insert): Likewise.
16517 (grub_envblk_open): New prototype.
16518 (grub_envblk_set): Likewise.
16519 (grub_envblk_delete): Put const to VALUE.
16520 (grub_envblk_iterate): Put const to NAME and VALUE.
16521 (grub_envblk_close): New prototype.
16522 (grub_envblk_buffer): New inline function.
16523 (grub_envblk_size): Likewise.
16524
16525 * lib/envblk.c: Include grub/mm.h.
16526 (grub_env_find): Removed.
16527 (grub_envblk_open): New function.
16528 (grub_envblk_close): Likewise.
16529 (escaped_value_len): Likewise.
16530 (find_next_line): Likewise.
16531 (grub_envblk_insert): Removed.
16532 (grub_envblk_set): New function.
16533 (grub_envblk_delete): Complete rewrite.
16534 (grub_envblk_iterate): Likewise.
16535
a9368fd3 165362009-03-28 Robert Millan <rmh@aybabtu.com>
16537
16538 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
16539 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
16540 variables. Use 16-bit loader.
16541 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
16542 loader.
16543 * kern/i386/loader.S (grub_linux_boot): Rename to ...
16544 (grub_linux16_boot): ... this. Update all users.
16545 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
16546 (grub_linux_boot): ... this. Update all users.
16547
16548 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
16549 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
16550 commands to `linux16' and `initrd16'.
16551 (GRUB_MOD_FINI(linux)): Rename to ...
16552 (GRUB_MOD_FINI(linux16)): ... this.
16553
e4dd5a7e 165542009-03-24 Pavel Roskin <proski@gnu.org>
16555
16556 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
16557 not just for compilation.
16558
c04d6e05 165592009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
16560
16561 Move multiboot helper out of kernel
16562
16563 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
16564 `loader/i386/multiboot_helper.S'.
16565 * conf/i386-coreboot.rmk: Likewise
16566 * conf/i386-ieee1275.rmk: Likewise
16567
16568 * kern/i386/loader.S: Move multiboot helpers from here...
16569 * loader/i386/multiboot_helper.S: ...moved here
16570 * include/grub/i386/loader.h: Move declarations of multiboot
16571 helpers from here...
16572 * include/grub/i386/multiboot.h: ...moved here
16573 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
16574
42a5b3fc 165752009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
16576
16577 * kern/env.c (grub_env_context_open): Added an argument to specify
16578 whether a new context inherits exported variables from current
16579 one. This is useful when making a sandbox to interpret a config
16580 file.
16581 All callers updated.
16582
16583 * include/grub/env.h (grub_env_context_open): Updated the prototype.
16584
b28bbc4e 165852009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
16586
16587 * kern/env.c (grub_env_context_close): Fix memory leaks.
16588
f04f02e4 165892009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
16590
16591 * normal/main.c (grub_normal_execute): Added an argument
16592 BATCH to specify if an interactive interface should be provided
16593 after reading a config file.
16594 All callers updated.
16595 (read_command_list): Prevent being executed twice.
16596 (read_fs_list): Likewise.
16597
42a5b3fc 16598 * include/grub/normal.h (grub_normal_execute): Updated the
16599 prototype.
f04f02e4 16600
41473ac2 166012009-03-22 Pavel Roskin <proski@gno.org>
16602
fbc00b0c 16603 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
16604 _start.
16605 * kern/i386/pc/startup.S: Likewise.
16606 * kern/i386/efi/startup.S: Likewise.
16607 * kern/i386/ieee1275/startup.S: Likewise.
16608 * kern/i386/coreboot/startup.S: Likewise.
16609 * kern/x86_64/efi/startup.S: Likewise.
16610
41473ac2 16611 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
16612 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
16613 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
16614
2274cc8f 166152009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 Bugfixes in multiboot for bugs uncovered by solaris kernel.
16618
16619 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
16620 limit detection.
16621 Use vaddr of correct segment for entry_point.
16622
b1b797cb 166232009-03-21 Bean <bean123ch@gmail.com>
16624
16625 * commands/blocklist.c: Add include file <grub/command.h>, remove
16626 <grub/normal.h> and <grub/arg.h>.
16627 (grub_cmd_blocklist): Use the new command interface.
16628 (GRUB_MOD_INIT): Likewise.
16629 (GRUB_MOD_FINI): Likewise.
16630 * commands/boot.c: Likewise.
16631 * commands/cat.c: Likewise.
16632 * commands/cmp.c: Likewise.
16633 * commands/configfile.c: Likewise.
16634 * commands/crc.c: Likewise.
16635 * commands/echo.c: Likewise.
16636 * commands/halt.c: Likewise.
16637 * commands/handler.c: Likewise.
16638 * commands/hdparm.c: Likewise.
16639 * commands/help.c: Likewise.
16640 * commands/hexdump.c: Likewise.
16641 * commands/loadenv.c: Likewise.
16642 * commands/ls.c: Likewise.
16643 * commands/lsmmap.c: Likewise.
16644 * commands/lspci.c: Likewise.
16645 * commands/loadenv.c: Likewise.
16646 * commands/read.c: Likewise.
16647 * commands/reboot.c: Likewise.
16648 * commands/search.c: Likewise.
16649 * commands/sleep.c: Likewise.
16650 * commands/test.c: Likewise.
16651 * commands/usbtest.c: Likewise.
16652 * commands/videotest.c: Likewise.
16653 * commands/i386/cpuid.c: Likewise.
16654 * commands/i386/pc/halt.c: Likewise.
16655 * commands/i386/pc/play.c: Likewise.
16656 * commands/i386/pc/pxecmd.c: Likewise.
16657 * commands/i386/pc/vbeinfo.c: Likewise.
16658 * commands/i386/pc/vbetest.c: Likewise.
16659 * commands/ieee1275/suspend.c: Likewise.
16660 * disk/loopback.c: Likewise.
16661 * font/font_cmd.c: Likewise.
16662 * hello/hello.c: Likewise.
16663 * loader/efi/appleloader.c: Likewise.
16664 * loader/efi/chainloader.c: Likewise.
16665 * loader/i386/bsd.c: Likewise.
16666 * loader/i386/efi/linux.c: Likewise.
16667 * loader/i386/ieee1275/linux.c: Likewise.
16668 * loader/i386/linux.c: Likewise.
16669 * loader/i386/pc/chainloader.c: Likewise.
16670 * loader/i386/pc/linux.c: Likewise.
16671 * loader/powerpc/ieee1275/linux.c: Likewise.
16672 * loader/multiboot_loader.c: Likewise.
16673 * term/gfxterm.c: Likewise.
16674 * term/i386/pc/serial.c: Likewise.
16675 * term/terminfo.c: Likewise.
16676
16677 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
16678 * term/i386/pc/vga.c: Likewise.
16679 * video/readers/jpeg.c: Likewise.
16680 * video/readers/png.c: Likewise.
16681 * video/readers/tga.c: Likewise.
16682
16683 * util/grub-fstest (cmd_loopback): Removed.
16684 (cmd_blocklist): Likewise.
16685 (cmd_ls): Likewise.
16686 (grub_register_command): Likewise.
16687 (grub_unregister_command): Likewise.
16688 (execute_command): Use grub_command_find to locate command and execute
16689 it.
16690
16691 * include/grub/efi/chainloader.h: Removed.
16692 * loader/efi/chainloader_normal.c: Likewise.
16693 * loader/i386/bsd_normal.c: Likewise.
16694 * loader/i386/pc/chainloader_normal.c: Likewise.
16695 * loader/i386/pc/multiboot_normal.c: Likewise.
16696 * loader/linux_normal.c: Likewise.
16697 * loader/multiboot_loader_normal.c: Likewise.
16698 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
16699
16700 * gencmdlist.sh: Scan new registration command grub_register_extcmd
16701 and grub_register_command_p1.
16702
16703 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
16704 kern/command.c, lib/arg.c and commands/extcmd.c.
16705 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
16706 (minicmd_mod_SOURCES): New variable.
16707 (minicmd_mod_CFLAGS): Likewise.
16708 (minicmd_mod_LDFLAGS): Likewise.
16709 (extcmd_mod_SOURCES): Likewise.
16710 (extcmd_mod_CFLAGS): Likewise.
16711 (extcmd_mod_LDFLAGS): Likewise.
16712 (boot_mod_SOURCES): Removed.
16713 (boot_mod_CFLAGS): Likewise.
16714 (boot_mod_LDFLAGS): Likewise.
16715
16716 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
16717 kern/corecmd.c.
16718 (kernel_img_HEADERS): Add command.h.
16719 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
16720 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
16721 and lib/arg.c.
16722 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
16723 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
16724 remove the corresponding normal mode command.
16725 (normal_mod_SOURCES): Remove normal/arg.c.
16726 * conf/i386-coreboot.rmk: Likewise.
16727 * conf/i386-efi.rmk: Likewise.
16728 * conf/i386-ieee1275.rmk: Likewise.
16729 * conf/powerpc-ieee1275.rmk: Likewise.
16730 * conf/x86_64-efi.rmk: Likewise.
16731
16732 * include/grub/arg.h: Move from here ...
16733 * include/grub/lib/arg.h: ... to here.
16734
16735 * normal/arg.c: Move from here ...
16736 * lib/arg.c: ... to here.
16737
16738 * commands/extcmd.c: New file.
16739 * commands/minicmd.c: Likewise.
16740 * include/grub/command.h: Likewise.
16741 * include/grub/extcmd.h: Likewise.
16742 * kern/command.c: Likewise.
16743 * kern/corecmd.c: Likewise.
16744
16745 * kern/list.c (grub_list_iterate): Return int instead of void.
16746 (grub_list_insert): New function.
16747 (grub_prio_list_insert): Likewise.
16748
16749 * kern/rescue.c (grub_rescue_command): Removed.
16750 (grub_rescue_command_list): Likewise.
16751 (grub_rescue_register_command): Likewise.
16752 (grub_rescue_unregister_command): Likewise.
16753 (grub_rescue_cmd_boot): Move to minicmd.c
16754 (grub_rescue_cmd_help): Likewise.
16755 (grub_rescue_cmd_info): Likewise.
16756 (grub_rescue_cmd_boot): Likewise.
16757 (grub_rescue_cmd_testload): Likewise.
16758 (grub_rescue_cmd_dump): Likewise.
16759 (grub_rescue_cmd_rmmod): Likewise.
16760 (grub_rescue_cmd_lsmod): Likewise.
16761 (grub_rescue_cmd_exit): Likewise.
16762 (grub_rescue_print_devices): Moved to corecmd.c.
16763 (grub_rescue_print_files): Likewise.
16764 (grub_rescue_cmd_ls): Likewise.
16765 (grub_rescue_cmd_insmod): Likewise.
16766 (grub_rescue_cmd_set): Likewise.
16767 (grub_rescue_cmd_unset): Likewise.
7d074e3c 16768 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 16769 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 16770 commands, remove grub_rescue_register_command calls.
b1b797cb 16771
7d074e3c 16772 * normal/command.c (grub_register_command): Removed.
b1b797cb 16773 (grub_unregister_command): Likewise.
16774 (grub_command_find): Likewise.
16775 (grub_iterate_commands): Likewise.
16776 (rescue_command): Likewise.
16777 (export_command): Moved to corecmd.c.
16778 (set_command): Removed.
16779 (unset_command): Likewise.
16780 (insmod_command): Likewise.
16781 (rmmod_command): Likewise.
16782 (lsmod_command): Likewise.
16783 (grub_command_init): Likewise.
16784
16785 * normal/completion.c (iterate_command): Use cmd->prio to check for
16786 active command.
16787 (complete_arguments): Use grub_extcmd_t structure to find options.
16788 (grub_normal_do_completion): Change function grub_iterate_commands to
16789 grub_command_iterate.
16790
16791 * normal/execute.c (grub_script_execute_cmd): No need to parse
16792 argument here.
16793
16794 * normal/main.c (grub_dyncmd_dispatcher): New function.
16795 (read_command_list): Register unload commands as dyncmd.
16796 (grub_cmd_normal): Use new command interface, register rescue,
16797 unregister normal at entry, register normal, unregister rescue at exit.
16798
16799 * include/grub/list.h (grub_list_test_t): New type.
16800 (grub_list_iterate): Return int instead of void.
16801 (grub_list_insert): New function.
16802 (GRUB_AS_NAMED_LIST_P): New macro.
16803 (GRUB_AS_PRIO_LIST): Likewise.
16804 (GRUB_AS_PRIO_LIST_P): Likewise.
16805 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
16806 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
16807 (grub_prio_list): New structure.
16808 (grub_prio_list_insert): New function.
16809 (grub_prio_list_remove): New inline function.
16810
16811 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
16812 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
16813 (GRUB_COMMAND_FLAG_MENU): Likewise.
16814 (GRUB_COMMAND_FLAG_BOTH): Likewise.
16815 (GRUB_COMMAND_FLAG_TITLE): Likewise.
16816 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
16817 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
16818 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
16819 (grub_command): Likewise.
16820 (grub_register_command): Likewise.
16821 (grub_command_find): Likewise.
16822 (grub_iterate_commands): Likewise.
16823 (grub_command_init): Likewise.
16824 (grub_arg_parse): Likewise.
16825 (grub_arg_show_help): Likewise.
16826
16827 * include/grub/rescue.h (grub_rescue_register_command): Removed.
16828 (grub_rescue_unregister_command): Likewise.
16829
16830 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
16831 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
16832 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
16833
16834 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
16835 grub_rescue_cmd_initrd.
16836 * include/grub/i386/loader.h: Likewise.
16837 * include/grub/x86_64/loader.h: Likewise.
16838
16839 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
16840
1f4147aa 168412009-03-21 Bean <bean123ch@gmail.com>
16842
16843 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
16844 instead of stat in mingw environment.
16845
16846 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
16847
16848 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
16849
16850 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
16851 AC_CONFIG_LINKS.
16852
2156d5ba 168532009-03-21 Bean <bean123ch@gmail.com>
16854
16855 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
16856 out of range error.
16857
177b82ca 168582009-03-18 Michel Dänzer <michel@daenzer.net>
16859
16860 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
16861 checking inode flags for EXT4_EXTENTS_FLAG.
16862
14aad807 168632009-03-18 Robert Millan <rmh@aybabtu.com>
16864
16865 * loader/i386/linux.c: Include `<grub/video.h>' and
16866 `<grub/i386/pc/vbe.h>'..
16867 (grub_linux_setup_video): New function. Loosely based on the EFI one.
16868 (grub_linux32_boot): Attempt to configure video settings with
16869 grub_linux_setup_video().
16870 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
16871 to avoid grub_console_fini() which would step out of graphical mode
16872 unconditionally.
16873
8cf83a27 168742009-03-14 Robert Millan <rmh@aybabtu.com>
16875
16876 Fix build on powerpc.
16877 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
16878
40164e75 168792009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
16880
16881 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
16882 background image command.
16883
c58bc32a 168842009-03-12 Colin D Bennett <colin@gibibit.com>
16885
16886 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
16887 (grub_gfxterm_putchar): Extract pairs of identical calls to
16888 draw_cursor out of conditional blocks.
16889
5415144a 168902009-03-11 Pavel Roskin <proski@gnu.org>
16891
16892 * fs/hfs.c (grub_hfs_strncasecmp): New function.
16893 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
16894
6394042e 168952009-03-11 Robert Millan <rmh@aybabtu.com>
16896
16897 * loader/i386/multiboot_elfxx.c
16898 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
16899
b7b50e5f 169002009-03-11 Felix Zielcke <fzielcke@z-51.de>
16901
16902 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
16903 `kern/handler.c'.
16904
1ca7fc96 169052009-03-11 Robert Millan <rmh@aybabtu.com>
16906
16907 * loader/i386/multiboot.c (code_size): New variable.
16908 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 16909 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 16910 4-byte alignment to MBI and others by increasing
7d074e3c 16911 `boot_loader_name_length' appropriately.
1ca7fc96 16912
16913 * loader/i386/multiboot_elfxx.c
16914 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
16915
a83ea1d2 169162009-03-09 Felix Zielcke <fzielcke@z-51.de>
16917
16918 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
16919 `fs/ext2.c'.
16920
aa9f3bff 169212009-03-08 Robert Millan <rmh@aybabtu.com>
16922
16923 Make loader/i386/linux.c usable on i386-pc again.
16924
16925 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
16926 memory to heap.
16927 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
16928 `#error' stanza.
16929
d8b3b60e 169302009-03-07 Bean <bean123ch@gmail.com>
16931
16932 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
16933 allocation.
16934
b362c9e9 169352009-03-06 Robert Millan <rmh@aybabtu.com>
16936
16937 Fix display issue on terminals with screen size other than 80x25
16938 (e.g. gfxterm with resolution higher than 640x480).
16939
16940 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 16941 position relative to the center of the terminal instead of relying
b362c9e9 16942 on a hardcoded offset.
16943
9304eef1 169442009-03-04 Robert Millan <rmh@aybabtu.com>
16945
16946 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
16947 installed.
16948
16949 * Makefile.in (host_kernel): New variable.
16950 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
16951 scripts instead of just the windows one.
16952 * configure.ac: Initialize and AC_SUBST `host_kernel'.
16953
eabc95fb 169542009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 16955
16956 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
16957 `kern/handler.c'.
16958 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16959 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16960 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16962 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16963 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16964
ceb1223c 169652009-03-04 Felix Zielcke <fzielcke@z-51.de>
16966
16967 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
16968 or if there's no space for the disk label and print the partition number on a
16969 invalid magic.
16970
4910684a 169712009-03-04 Felix Zielcke <fzielcke@z-51.de>
16972
16973 * util/misc.c: Include <time.h>.
16974 (grub_millisleep): New function.
16975
7e9ca17a 169762009-03-04 Bean <bean123ch@gmail.com>
16977
16978 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
16979 another option -mno-red-zone.
16980
16981 * commands/handler.c: Change module description.
16982
16983 * kern/handler.c: Add missing space at the end of description line.
16984
16985 * kern/list.c: Likewise.
16986
f501677c 169872009-03-03 Robert Millan <rmh@aybabtu.com>
16988
16989 Move more components to the relocation area, and fix mbi pointer
16990 handling to use the destination rather than the origin (thanks to
16991 Vladimir Serbinenko for spotting).
16992
16993 * loader/i386/multiboot.c (mbi_dest): New variable.
16994 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
16995 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
16996 relocation area.
16997
9902d047 169982009-03-01 Bean <bean123ch@gmail.com>
16999
50fb7002 17000 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 17001 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
17002 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
17003 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
17004
17005 * loader/i386/efi/linux.c (acpi_guid): New variable.
17006 (acpi_guid): Likewise.
17007 (EBDA_SEG_ADDR): New constant.
17008 (LOW_MEM_ADDR): Likewise.
17009 (FAKE_EBDA_SEG): Likewise.
17010 (fake_bios_data): New function.
17011 (grub_linux_boot): Call fake_bios_data.
17012
71b9f361 170132009-03-01 Bean <bean123ch@gmail.com>
17014
17015 * commands/terminal.c: Removed.
17016
17017 * commands/handler.c: New file.
17018
17019 * include/grub/list.h: Likewise.
17020
17021 * include/grub/handler.h: Likewise.
17022
17023 * kern/list.c: Likewise.
17024
17025 * kern/handler.c: Likewise.
17026
17027 * kern/term.h: Include header file <grub/handler.h>.
17028 (grub_term_input): Move next field to the beginning.
17029 (grub_term_output): Likewise.
17030 (grub_term_input_class): New variable.
17031 (grub_term_output_class): Likewise.
17032 (grub_term_register_input): Changed to inline function.
17033 (grub_term_register_output): Likewise.
17034 (grub_term_unregister_input): Likewise.
17035 (grub_term_unregister_output): Likewise.
17036 (grub_term_set_current_input): Likewise.
17037 (grub_term_set_current_output): Likewise.
17038 (grub_term_get_current_input): Likewise.
17039 (grub_term_get_current_output): Likewise.
17040 (grub_term_iterate_input): Removed.
17041 (grub_term_iterate_output): Likewise.
17042
17043 * kern/term.c (grub_term_list_input): Removed.
17044 (grub_term_list_output): Likewise.
17045 (grub_term_input_class): New variable.
17046 (grub_term_output_class): Likewise.
50fb7002 17047 (grub_cur_term_input): Change variable as macro.
71b9f361 17048 (grub_cur_term_output): Likewise.
17049 (grub_term_register_input): Removed.
17050 (grub_term_register_output): Likewise.
17051 (grub_term_unregister_input): Likewise.
17052 (grub_term_unregister_output): Likewise.
17053 (grub_term_set_current_input): Likewise.
17054 (grub_term_set_current_output): Likewise.
17055 (grub_term_iterate_input): Likewise.
17056 (grub_term_iterate_output): Likewise.
17057 (grub_term_get_current_input): Likewise.
17058 (grub_term_get_current_output): Likewise.
17059
17060 * util/grub-editenv.c: Include header file <grub/handler.h>.
17061 (grub_term_get_current_input): Removed.
17062 (grub_term_get_current_output): Likewise.
17063 (grub_term_input_class): New variable.
50fb7002 17064 (grub_term_output_class): Likewise.
71b9f361 17065
17066 * util/grub-fstest.c (grub_term_get_current_input): Removed.
17067 (grub_term_get_current_output): Likewise.
17068 (grub_term_input_class): New variable.
50fb7002 17069 (grub_term_output_class): Likewise.
71b9f361 17070
17071 * util/grub-probe.c (grub_term_get_current_input): Removed.
17072 (grub_term_get_current_output): Likewise.
17073 (grub_term_input_class): New variable.
50fb7002 17074 (grub_term_output_class): Likewise.
71b9f361 17075
17076 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
17077 (grub_term_get_current_output): Likewise.
17078 (grub_term_input_class): New variable.
50fb7002 17079 (grub_term_output_class): Likewise.
71b9f361 17080
17081 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
17082 (terminal_mod_SOURCES): Likewise.
17083 (terminal_mod_CFLAGS): Likewise.
17084 (terminal_mod_LDFLAGS): Likewise.
17085
17086 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
17087 handler.c.
17088 (kernel_img_SOURCES): Add list.c and handler.c.
17089 (kernel_img_HEADERS): Add list.h and handler.h.
17090
17091 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
17092 handler.c.
17093 (kernel_mod_SOURCES): Add list.c and handler.c.
17094 (kernel_mod_HEADERS): Add list.h and handler.h.
17095
17096 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
17097 handler.c.
17098 (kernel_elf_SOURCES): Add list.c and handler.c.
17099 (kernel_elf_HEADERS): Add list.h and handler.h.
17100
17101 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
17102 handler.c.
17103 (kernel_elf_SOURCES): Add list.c and handler.c.
17104 (kernel_elf_HEADERS): Add list.h and handler.h.
17105
17106 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
17107 handler.c.
17108 (kernel_mod_SOURCES): Add list.c and handler.c.
17109 (kernel_mod_HEADERS): Add list.h and handler.h.
17110
17111 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
17112 handler.c.
17113 (kernel_elf_SOURCES): Add list.c and handler.c.
17114 (kernel_elf_HEADERS): Add list.h and handler.h.
17115
8a31787f 171162009-02-27 Robert Millan <rmh@aybabtu.com>
17117
17118 Factorize elf32 / elf64 code in Multiboot loader. This will
17119 prevent it from getting out of sync again.
17120
17121 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
17122 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
17123 grub_multiboot_load_elf64): Move from here ...
17124 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
17125 grub_multiboot_load_elf): ... to here (new file).
17126
51cd3dfc 171272009-02-27 Robert Millan <rmh@aybabtu.com>
17128
17129 * util/grub.d/10_linux.in: Rename "single-user mode" to
17130 "recovery mode".
17131
6e8c9c3a 171322009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
17133
17134 Don't leak in SCSI code.
17135 * disk/scsi.c (grub_scsi_close): free `scsi'.
17136
4b6bf4f9 171372009-02-27 Robert Millan <rmh@aybabtu.com>
17138
17139 * loader/i386/pc/multiboot.c: Move from here ...
17140 * loader/i386/multiboot.c: ... to here. Update all users.
17141
b9413424 171422009-02-27 Robert Millan <rmh@aybabtu.com>
17143
17144 Patch from Alexandre Bique <bique.alexandre@gmail.com>
17145 * util/i386/pc/grub-setup.c (setup): Fix directory path.
17146
50fb7002 171472009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 17148
17149 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
17150 b-tree.
17151
8cc50345 171522009-02-27 Robert Millan <rmh@aybabtu.com>
17153
17154 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
17155 `0x' qualifier as 0 when base is specified as parameter).
17156
6e09b8b7 171572009-02-24 Bean <bean123ch@gmail.com>
17158
17159 * configure.ac: Check for -mcmodel=large in x86_64 target.
17160
17161 * include/grub/efi/api.h (efi_call_10): New macro.
17162 (efi_wrap_10): New function.
17163
17164 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
17165 (GRUB_PE32_REL_BASED_HIGH): Likewise.
17166 (GRUB_PE32_REL_BASED_LOW): Likewise.
17167 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
17168 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
17169 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
17170 (GRUB_PE32_REL_BASED_SECTION): Likewise.
17171 (GRUB_PE32_REL_BASED_REL): Likewise.
17172 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
17173 (GRUB_PE32_REL_BASED_DIR64): Likewise.
17174 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
17175
17176 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
17177 issue.
17178
17179 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
17180 (efi_wrap_10): New function.
17181
17182 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
17183
17184 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
17185 MB/MBP model (NV chipset).
17186 (devdata_devs): Add devpath_5 to the list.
17187
17188 * load/i386/efi/linux.c (video_base): Remove variable.
17189 (RGB_MASK): New macro.
17190 (RGB_MAGIC): Likewise.
17191 (LINE_MIN): Likewise.
17192 (LINE_MAX): Likewise.
17193 (FBTEST_STEP): Likewise.
17194 (FBTEST_COUNT): Likewise.
17195 (fb_list): New variable.
17196 (grub_find_video_card): Remove function.
17197 (find_framebuf): New function.
17198 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
17199 line length.
17200
17201 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
17202 problem for x86_64.
17203
74b21bee 172042009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
17205
17206 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
17207
17208 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
17209 coding tool name.
17210
a455f472 172112009-02-22 Robert Millan <rmh@aybabtu.com>
17212
17213 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
17214 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
17215 in our relocation, instead of using it directly from heap. Also
17216 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
17217
6374daf3 172182009-02-21 Robert Millan <rmh@aybabtu.com>
17219
17220 Implement USB keyboard support (based on patch by Marco Gerards)
17221
17222 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
17223 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
17224 (usb_keyboard_mod_LDFLAGS): New variables.
17225
17226 * term/usb_keyboard.c: New file.
17227
8fa4ea70 172282009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17229
17230 Corrected wrong declaration
17231
17232 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
17233
353976ac 172342009-02-14 Christian Franke <franke@computer.org>
17235
17236 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
17237 (grub_lspci_iter): Print class code and programming interface byte.
17238
6aa1169b 172392009-02-14 Christian Franke <franke@computer.org>
17240
17241 * gendistlist.sh: Ignore `.svn' directories.
17242
265372ca 172432009-02-14 Felix Zielcke <fzielcke@z-51.de>
17244
17245 * fs/fat.c: Add 2009 to Copyright line.
17246
9ff516f3 172472009-02-14 Christian Franke <franke@computer.org>
17248
17249 * commands/hdparm.c: New file. Provides `hdparm' command
17250 which sends ATA commands via grub_disk_ata_pass_through ().
17251
17252 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
17253
17254 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
17255 and <grub/cpu/io.h> to include/grub/ata.h.
17256 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
17257 (GRUB_CDROM_SECTOR_SIZE): Remove.
17258 (GRUB_ATA_*): Move to include/grub/ata.h.
17259 (GRUB_ATAPI_*): Likewise.
17260 (enum grub_ata_commands): Likewise.
17261 (enum grub_ata_timeout_milliseconds): Likewise.
17262 (struct grub_ata_device): Likewise.
17263 (grub_ata_regset): Likewise.
17264 (grub_ata_regget): Likewise.
17265 (grub_ata_regset2): Likewise.
17266 (grub_ata_regget2): Likewise.
17267 (grub_ata_check_ready): Likewise.
17268 (grub_ata_wait_not_busy): Remove static, exported in
17269 include/grub/ata.h.
17270 (grub_ata_wait_drq): Likewise.
17271 (grub_ata_pio_read): Likewise.
17272
17273 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
17274 function for hdparm.mod.
17275
17276 * include/grub/ata.h: New file, contains declarations from
17277 disk/ata.c.
17278 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
17279
17280 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
17281 (grub_disk_ata_pass_through): New exported variable.
17282
17283 * kern/disk.c (grub_disk_ata_pass_through): New variable.
17284
772e23da 172852009-02-13 Colin D Bennett <colin@gibibit.com>
17286
17287 Support multiple fallback entries, and provide an API to support
17288 executing default+fallback menu entries. Renamed the `terminal' menu
17289 viewer to `text'.
17290
17291 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
17292 variable declaration.
17293 (grub_menu_execute_callback): New structure declaration.
17294 (grub_menu_execute_callback_t): New typedef.
17295 (grub_menu_execute_with_fallback): New function declaration.
17296 (grub_menu_get_entry): Likewise.
17297 (grub_menu_get_timeout): Likewise.
17298 (grub_menu_set_timeout): Likewise.
17299
17300 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
17301
17302 * normal/menu.c (grub_wait_after_message): Moved to
17303 `normal/menu_text.c'.
17304 (draw_border): Likewise.
17305 (print_message): Likewise.
17306 (print_entry): Likewise.
17307 (print_entries): Likewise.
17308 (grub_menu_init_page): Likewise.
17309 (get_entry_number): Likewise.
17310 (print_timeout): Likewise.
17311 (run_menu): Likewise.
17312 (grub_menu_execute_entry): Likewise.
17313 (show_text_menu): Likewise.
17314 (get_and_remove_first_entry_number): New function.
17315 (grub_menu_execute_with_fallback): Likewise.
17316 (get_entry): Renamed to ...
17317 (grub_menu_get_entry): .. this and made it global.
17318 (get_timeout): Renamed to ...
17319 (grub_menu_get_timeout): ... this and made it global.
17320 (set_timeout): Renamed to ...
17321 (grub_menu_set_timeout): ... this and made it global.
17322 (grub_normal_terminal_menu_viewer): Renamed to ...
17323 (grub_normal_text_menu_viewer): ... this.
17324
17325 * normal/menu_text.c: New file. Extracted text-menu-specific code
17326 from normal/menu.c.
17327
17328 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
17329 (normal_mod_SOURCES): Likewise.
17330
17331 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17332 (normal_mod_SOURCES): Likewise.
17333
17334 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17335 (normal_mod_SOURCES): Likewise.
17336
17337 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
17338 (normal_mod_SOURCES): Likewise.
17339
17340 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17341 (normal_mod_SOURCES): Likewise.
17342
17343 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17344 (normal_mod_SOURCES): Likewise.
17345
17346 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17347 (normal_mod_SOURCES): Likewise.
17348
16ac430e 173492009-02-11 Robert Millan <rmh@aybabtu.com>
17350
17351 * util/grub.d/00_header.in: Update old reference to `font' command.
17352
06ff20fc 173532009-02-10 Felix Zielcke <fzielcke@z-51.de>
17354
17355 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
17356
17357 Based on patch from Javier Martín.
17358
96da9407 173592009-02-09 Felix Zielcke <fzielcke@z-51.de>
17360
17361 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 17362 to avoid false positives with FAT.
96da9407 17363 (grub_fstest_SOURCES): Likewise.
17364 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17365 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17366 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17367 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
17368 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17369 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17370
6dca6fe4 173712009-02-09 Felix Zielcke <fzielcke@z-51.de>
17372
06ff20fc 17373 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 17374 bpb.version_specific.fat12_or_fat16.fstype and
17375 bpb.version_specific.fat32.fstype.
17376
2550c62f 173772009-02-08 Robert Millan <rmh@aybabtu.com>
17378
be110b30 17379 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 17380
56978920 173812009-02-08 Robert Millan <rmh@aybabtu.com>
17382
17383 * Makefile.in (host_os, host_cpu): New variables.
17384 (target_os): Remove. Update all users.
17385
d64399b5 173862009-02-08 Marco Gerards <marco@gnu.org>
17387
17388 * Makefile.in (enable_grub_emu_usb): New variable.
17389 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
17390 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
17391 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
17392 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
17393 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
17394 `usbtest.mod' and `usbms.mod'.
17395 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
17396 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
17397 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
17398 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
17399 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
17400 variables.
17401
17402 * disk/usbms.c: New file.
17403
17404 * include/grub/usb.h: Likewise.
17405
17406 * include/grub/usbtrans.h: Likewise.
17407
17408 * include/grub/usbdesc.h: Likewise.
17409
17410 * bus/usb/usbtrans.c: Likewise.
17411
17412 * bus/usb/ohci.c: Likewise.
17413
17414 * bus/usb/uhci.c: Likewise.
17415
17416 * bus/usb/usbhub.c: Likewise.
17417
17418 * bus/usb/usb.c: Likewise.
17419
17420 * commands/usbtest.c: Likewise.
17421
17422 * util/usb.c: Likewise.
50fb7002 17423
d64399b5 17424 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
17425
17426 * configure.ac: Test for libusb presence.
50fb7002 17427
d64399b5 17428 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
17429
2b40d6bb 174302009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
17431
17432 * kern/mm.c: Add more comments.
17433
73a4ce81 174342009-02-08 Robert Millan <rmh@aybabtu.com>
17435
17436 Patch from Javier Martín.
17437 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
17438 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
17439
f821ce59 174402009-02-08 Robert Millan <rmh@aybabtu.com>
17441
17442 * fs/cpio.c: Split tar functionality to ...
17443 * fs/tar.c: ... here (new file). Update all users.
17444
aebfc4b0 174452009-02-07 Robert Millan <rmh@aybabtu.com>
17446
17447 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
17448 backward-incompatible features.
17449
17450 Based on patch from Javier Martín, with some adjustments.
17451
50fb7002 174522009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 17453
17454 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
17455
0bb5115e 174562009-02-07 Robert Millan <rmh@aybabtu.com>
17457
17458 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
17459 position of `disk/lvm.c' to ensure grub_init_all() always picks it
17460 after the RAID stuff.
17461
38a0f8e7 174622009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
17463
50fb7002 17464 Fixes problem when running vbetest command as reported by
38a0f8e7 17465 Vladimir Serbinenko <phcoder@gmail.com>.
17466
17467 * (grub_vbe_set_video_mode): Fixed problem with text modes.
17468
3143cc1c 174692009-02-04 Felix Zielcke <fzielcke@z-51.de>
17470
17471 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
17472 /dev/md/NpN style mdraid devices.
17473
9cba6fce 174742009-02-03 Felix Zielcke <fzielcke@z-51.de>
17475
17476 * util/unifont2pff.rb: Remove.
17477
e507a2c1 174782009-02-03 Felix Zielcke <fzielcke@z-51.de>
17479
17480 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
17481 `#'.
17482
d2c2b4cd 174832009-02-03 Felix Zielcke <fzielcke@z-51.de>
17484
17485 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
17486 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17487 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17488 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
17489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17490 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17491 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17492
b4315fb0 174932009-02-02 Christian Franke <franke@computer.org>
17494
17495 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
17496
de3aa260 174972009-02-01 Felix Zielcke <fzielcke@z-51.de>
17498
7c3ff286 17499 * INSTALL: Note that we now require at least autoconf 2.59 and
17500 that LZO is optional.
de3aa260 17501
825a182b 175022009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
17503
17504 Base on patch on bug #24154 created by Tomas Tintera
17505 <trosos@seznam.cz>.
17506
17507 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
17508
a69ef770 175092009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
17510
7c3ff286 17511 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 17512 <bero@arklinux.org>.
17513
17514 * normal/parser.y (script_init): Add missing semicolon.
17515
6fa42fa6 175162009-01-31 Colin D Bennett <colin@gibibit.com>
17517
7c3ff286 17518 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 17519 (free_menu_entry_classes): Added.
17520 (grub_normal_menu_addentry): Added class property handling.
17521 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
17522 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
17523
17524 * normal/menu_viewer.c: New file.
17525
17526 * normal/menu.c (run_menu_entry): Renamed to ...
17527 (grub_menu_execute_entry): ... this and made it as global.
17528 (grub_menu_run): Renamed to ...
17529 (show_text_menu): ... this and made it local.
17530 (show_text_menu): Adapt to new function names.
17531 (grub_normal_terminal_menu_viewer): New global variable.
17532
17533 * include/grub/menu.h: New file.
17534
17535 * include/grub/menu_viewer.h: New file.
17536
17537 * include/grub/normal.h: Added include to grub/menu.h.
17538 (grub_menu_entry): Moved to include/grub/menu.h.
17539 (grub_menu_entry_t): Likewise.
17540 (grub_menu): Likewise.
17541 (grub_menu_t): Likewise.
17542 (grub_normal_terminal_menu_viewer): Added.
17543 (grub_menu_execute_entry): Likewise.
17544 (grub_menu_run): Removed.
17545
17546 * DISTLIST: Added include/grub/menu.h.
17547 Added include/grub/menu_viewer.h.
17548 Added normal/menu_viewer.c.
17549
175502009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
17551
17552 * normal/execute.c (grub_script_execute_menuentry): Changed to use
17553 arglist for menutitle arguments.
17554
17555 * normal/main.c (grub_normal_menu_addentry): Likewise.
17556
17557 * normal/parser.y (menuentry): Likewise.
17558
17559 * normal/script.c (grub_script_create_cmdmenu): Likewise.
17560
17561 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
17562 (grub_script_create_cmdmenu): Likewise.
17563
17564 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
17565
17566 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
17567 changes.
17568
17569 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
17570
17571 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
17572
17573 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
17574
17575 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
17576
17577 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
17578
17579 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
17580
56192c23 175812009-01-30 Christian Franke <franke@computer.org>
17582
17583 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
17584 in option help text.
17585
d72521b3 175862009-01-27 Pavel Roskin <proski@gnu.org>
17587
17588 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
17589
994b5e84 175902009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
17591
17592 * commands/lsmmap.c: Add include to grub/machine/memory.h.
17593
17594 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
17595
17596 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
17597 unregister function.
17598
6a7eab2c 175992009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
17600
17601 * disk/scsi.c (grub_scsi_read): Fix sign problem.
17602
17603 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
17604
17605 * util/grub-mkfont.c (usage): Fix typo.
17606
17607 * util/elf/grub-mkimage.c (load_modules): Fix warning.
17608
1806b56e 176092009-01-26 Daniel Mierswa <impulze@impulze.org>
17610
3fb18f09 17611 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
17612
336e1fb9 17613 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
17614
1806b56e 17615 * kern/misc.c (grub_strcasecmp): New function.
17616 (grub_strcasecmp): Use grub_size_t instead of int for length.
17617 Fix return value.
17618 * include/grub/misc.h: Update function prototypes.
17619
580b2a0f 176202009-01-26 Robert Millan <rmh@aybabtu.com>
17621
17622 * configure.ac: Fix cross-compilation check.
ef257b36 17623
d31c24f1 176242009-01-22 Christian Franke <franke@computer.org>
17625
17626 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
17627 (precision) digit string. Allow `.format2' without `format1' (width).
17628 Limit input chars for `%s' output to `format2' if specified. This is
17629 compatible with standard printf ().
17630
3138b44c 176312009-01-22 Christian Franke <franke@computer.org>
17632
17633 * disk/ata.c (grub_ata_wait_status): Replace by ...
17634 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
17635 other status bits may be invalid while BSY is asserted.
17636 (grub_ata_check_ready): New function.
17637 (grub_ata_cmd): Removed.
17638 (grub_ata_wait_drq): New function.
17639 (grub_ata_strncpy): Remove inline.
17640 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
17641 and error check now done by grub_ata_wait_drq ().
17642 (grub_ata_pio_write): Likewise.
17643 (grub_atapi_identify): Set DEV before check for !BSY. Use
17644 grub_ata_wait_drq () to wait for data.
17645 (grub_ata_device_initialize): Add status register check to
17646 detect missing SATA slave devices. Add debug messages.
17647 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
17648 (grub_atapi_packet): Set DEV before check for !BSY. Replace
17649 transfer loop by grub_ata_pio_write ().
17650 (grub_ata_identify): Set DEV before check for !BSY. Use
17651 grub_ata_wait_drq () to wait for data.
ef257b36 17652 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 17653 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
17654 read/write in one loop. Fix invalid command on write. Fix incomplete
17655 command on (size % batch) == 0. Add missing error check after write of
17656 last block. Add debug messages.
17657 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
17658
59a64ef6 176592009-01-19 Christian Franke <franke@computer.org>
17660
17661 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
17662 (GRUB_ATAPI_IREASON_*): Likewise.
17663 (grub_ata_pio_write): Fix timeout error return.
17664 (grub_atapi_identify): Add grub_ata_wait () after cmd.
17665 (grub_atapi_wait_drq): New function.
17666 (grub_atapi_packet): New parameter `size'.
17667 Use grub_atapi_wait_drq () and direct write instead of
17668 grub_ata_pio_write ().
17669 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
17670 reads the number of bytes requested by the device for each DRQ
17671 assertion.
17672 (grub_atapi_write): Remove old implementation, return not
17673 implemented instead.
17674
1cfe20b3 176752009-01-19 Christian Franke <franke@computer.org>
17676
17677 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
17678 of 512 to calculate data size.
17679 (grub_scsi_read12): Likewise.
17680 (grub_scsi_write10): Likewise.
17681 (grub_scsi_write12): Likewise.
17682 (grub_scsi_read): Adjust size according to blocksize.
17683 Add checks for invalid blocksize and unaligned transfer.
17684
bee5fe5d 176852009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
17686
17687 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
17688
ef257b36 17689 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 17690 width glyphs.
17691
3e643f8c 176922009-01-19 Robert Millan <rmh@aybabtu.com>
17693
17694 * config.guess: Update to latest version from config git.
17695 * config.sub: Likewise.
17696
4fa80998 176972009-01-17 Felix Zielcke <fzielcke@z-51.de>
17698
17699 * Makefile.in: Change font compilation to use new grub-mkfont instead
17700 of java version.
17701
17702 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
17703 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
17704 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
17705 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
17706 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
17707 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
17708 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
17709 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
17710 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
17711
7086085b 177122009-01-16 Christian Franke <franke@computer.org>
17713
17714 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
17715 (enum grub_ata_timeout_milliseconds): New enum.
17716 (grub_ata_wait_status): Add parameter milliseconds.
17717 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
17718 recovery from timed-out commands.
17719 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
17720 return grub_errno instead of REG_ERROR.
17721 (grub_ata_pio_write): Add parameter milliseconds.
17722 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
17723 Pass milliseconds to grub_ata_wait_status () and
17724 grub_ata_pio_read ().
17725 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
17726 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
17727 grub_ata_wait_status (). Fix IDENTIFY timeout check.
17728 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
17729 It is not suitable for device detection, because DEV bit is ignored,
17730 the command may run too long, and not all devices set the signature
17731 properly.
17732 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
17733 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
17734 Fix device selection, DEV bit must be set first to address the registers
17735 of the correct device.
17736 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
17737 grub_ata_pio_read/write ().
17738 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
17739 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
17740
4a412913 177412009-01-13 Carles Pina i Estany <carles@pina.cat>
17742
17743 * util/grub-editenv.c (main): Use fseeko(), not fseek().
17744
7795c55e 177452009-01-13 Bean <bean123ch@gmail.com>
d913988c 17746
17747 * util/grub-mkfont.c (write_font): forget to remove some debug code.
17748
7795c55e 177492009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 17750
17751 * Makefile.in: (enable_grub_mkfont): New variable.
17752 (freetype_cflags): Likewise.
17753 (freetype_libs): Likewise.
17754
17755 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
17756 (grub_mkfont_SOURCES): New variable.
17757 (grub_mkfont_CFLAGS): Likewise.
17758 (grub_mkfont_LDFLAGS): Likewise.
17759
17760 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
17761 library if `--enable-grub-mkfont' is requested.
17762 (enable_grub_mkfont): New variable.
17763 (freetype_cflags): Likewise.
17764 (freetype_libs): Likewise.
17765
17766 * util/grub-mkfont.c: New file.
17767
093af1fe 177682009-01-12 Christian Franke <franke@computer.org>
17769
17770 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
17771 mode check. Fix setting of compat_use[].
17772
f36cc108 177732009-01-10 Robert Millan <rmh@aybabtu.com>
17774
17775 Update a few copyright years which we forgot to do in 2008 (only for
17776 files whose changes made in 2008 were copyright-significant)
17777
17778 * Makefile.in: Add 2008 to Copyright line.
17779 * disk/ieee1275/ofdisk.c: Likewise.
17780 * disk/efi/efidisk.c: Likewise.
17781 * kern/dl.c: Likewise.
17782 * kern/sparc64/ieee1275/init.c: Likewise.
17783 * kern/mm.c: Likewise.
17784 * kern/efi/mm.c: Likewise.
17785 * boot/i386/pc/boot.S: Likewise.
17786 * genfslist.sh: Likewise.
17787 * fs/iso9660.c: Likewise.
17788 * fs/hfs.c: Likewise.
17789 * fs/jfs.c: Likewise.
17790 * fs/minix.c: Likewise.
17791 * fs/ufs.c: Likewise.
17792 * gensymlist.sh.in: Likewise.
17793 * genkernsyms.sh.in: Likewise.
17794 * include/grub/misc.h: Likewise.
17795 * include/grub/types.h: Likewise.
17796 * include/grub/symbol.h: Likewise.
17797 * include/grub/elf.h: Likewise.
17798 * include/grub/kernel.h: Likewise.
17799 * include/grub/disk.h: Likewise.
17800 * include/grub/dl.h: Likewise.
17801 * include/grub/i386/linux.h: Likewise.
17802 * include/grub/i386/pc/biosdisk.h: Likewise.
17803 * include/grub/efi/api.h: Likewise.
17804 * include/grub/efi/pe32.h: Likewise.
17805 * include/grub/util/misc.h: Likewise.
17806 * normal/execute.c: Likewise.
17807 * normal/arg.c: Likewise.
17808 * normal/completion.c: Likewise.
17809 * normal/lexer.c: Likewise.
17810 * normal/parser.y: Likewise.
17811 * normal/misc.c: Likewise.
17812 * commands/i386/pc/vbeinfo.c: Likewise.
17813 * commands/hexdump.c: Likewise.
17814 * commands/terminal.c: Likewise.
17815 * commands/ls.c: Likewise.
17816 * commands/help.c: Likewise.
17817 * partmap/pc.c: Likewise.
17818 * loader/efi/chainloader.c: Likewise.
17819 * loader/multiboot_loader.c: Likewise.
17820 * loader/i386/pc/multiboot2.c: Likewise.
17821 * term/efi/console.c: Likewise.
17822 * term/i386/pc/serial.c: Likewise.
17823 * util/lvm.c: Likewise.
17824 * util/console.c: Likewise.
17825 * util/i386/efi/grub-mkimage.c: Likewise.
17826 * util/raid.c: Likewise.
17827
7f02114b 178282009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
17829
17830 * commands/videotest.c: Removed include to grub/machine/memory.h.
17831
17832 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
17833 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
17834 (video_mod_SOURCES): Removed.
17835 (video_mod_CFLAGS): Likewise.
17836 (video_mod_LDFLAGS): Likewise.
17837 (gfxterm_mod_SOURCES): Likewise.
17838 (gfxterm_mod_CFLAGS): Likewise.
17839 (gfxterm_mod_LDFLAGS): Likewise.
17840 (videotest_mod_SOURCES): Likewise.
17841 (videotest_mod_CFLAGS): Likewise.
17842 (videotest_mod_LDFLAGS): Likewise.
17843 (bitmap_mod_SOURCES): Likewise.
17844 (bitmap_mod_CFLAGS): Likewise.
17845 (bitmap_mod_LDFLAGS): Likewise.
17846 (tga_mod_SOURCES): Likewise.
17847 (tga_mod_CFLAGS): Likewise.
17848 (tga_mod_LDFLAGS): Likewise.
17849 (jpeg_mod_SOURCES): Likewise.
17850 (jpeg_mod_CFLAGS): Likewise.
17851 (jpeg_mod_LDFLAGS): Likewise.
17852 (png_mod_SOURCES): Likewise.
17853 (png_mod_CFLAGS): Likewise.
17854 (png_mod_LDFLAGS): Likewise.
17855
17856 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
17857 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
17858 (video_mod_SOURCES): Added.
17859 (video_mod_CFLAGS): Likewise.
17860 (video_mod_LDFLAGS): Likewise.
17861 (videotest_mod_SOURCES): Likewise.
17862 (videotest_mod_CFLAGS): Likewise.
17863 (videotest_mod_LDFLAGS): Likewise.
17864 (bitmap_mod_SOURCES): Likewise.
17865 (bitmap_mod_CFLAGS): Likewise.
17866 (bitmap_mod_LDFLAGS): Likewise.
17867 (tga_mod_SOURCES): Likewise.
17868 (tga_mod_CFLAGS): Likewise.
17869 (tga_mod_LDFLAGS): Likewise.
17870 (jpeg_mod_SOURCES): Likewise.
17871 (jpeg_mod_CFLAGS): Likewise.
17872 (jpeg_mod_LDFLAGS): Likewise.
17873 (png_mod_SOURCES): Likewise.
17874 (png_mod_CFLAGS): Likewise.
17875 (png_mod_LDFLAGS): Likewise.
17876 (gfxterm_mod_SOURCES): Likewise.
17877 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 17878 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 17879
17880 * term/gfxterm.c: Removed include to grub/machine/memory.h,
17881 grub/machine/console.h.
17882
644fff97 178832009-01-04 Jerone Young <jerone@gmail.com>
17884
17885 Make on screen instructions clearer
17886
17887 Based on patch created by Jidanni <jidanni@jidanni.org>
17888
17889 * normal/menu.c: print clearer instructions on the screen
17890
1e901a75 178912009-01-02 Colin D Bennett <colin@gibibit.com>
17892
17893 New font engine.
34c44600 17894
1e901a75 17895 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
17896 build system and fixed gfxterm.c to work with different sized fonts.
17897
17898 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 17899
1e901a75 17900 * configure: Re-generated.
34c44600 17901
1e901a75 17902 * DISTLIST: Removed font/manager.c.
17903 Added font/font.c.
17904 Added font/font_cmd.c.
34c44600 17905
1e901a75 17906 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
17907 compilation.
34c44600 17908
1e901a75 17909 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 17910
17911 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 17912
17913 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 17914
1e901a75 17915 * normal/menu.c: Likewise.
34c44600 17916
1e901a75 17917 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
17918 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 17919
1e901a75 17920 * include/grub/font.h: Replaced with new file.
34c44600 17921
1e901a75 17922 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
17923 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
17924 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
17925 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
17926 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 17927 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 17928 fg_red, fg_green, fg_blue, fg_alpha.
17929 (grub_video_adapter): Removed blit_glyph.
34c44600 17930 (grub_video_blit_glyph): Removed.
17931
1e901a75 17932 * font/manager.c: Removed file.
34c44600 17933
17934 * font/font.c: New file.
17935
1e901a75 17936 * font/font_cmd.c: Likewise.
34c44600 17937
1e901a75 17938 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 17939
1e901a75 17940 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
17941 (grub_video_vbe_map_rgba): Likewise.
17942 (grub_video_vbe_unmap_color_int): Likewise.
17943 (grub_video_vbe_blit_glyph): Removed.
17944 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 17945
1e901a75 17946 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
17947 (get_pixel): Likewise.
34c44600 17948 (set_pixel): Likewise.
17949
1e901a75 17950 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 17951
1e901a75 17952 * term/gfxterm.c: Adapted to new font engine.
34c44600 17953
1e901a75 17954 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 17955
1e901a75 17956 * term/i386/pc/vga.c: Likewise.
34c44600 17957
1e901a75 17958 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 17959
1e901a75 17960 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 17961
1e901a75 17962 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 17963
1e901a75 17964 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 17965
1e901a75 17966 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 17967
1e901a75 17968 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 17969
1e901a75 17970 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 17971
1e901a75 17972 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 17973
1e901a75 17974 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
17975
17976 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 17977
1e901a75 17978 * util/grub-mkconfig_lib.in: Changed font extension.
17979
278922e8 179802008-12-28 Felix Zielcke <fzielcke@z-51.de>
17981
17982 * util/getroot.c (grub_util_get_grub_dev): Add support for
17983 /dev/md/dNNpNN style partitionable mdraid devices.
17984
3ced05cf 179852008-12-12 Alex Smith <alex@alex-smith.me.uk>
17986
17987 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
17988 at a time limit of the PXE TFTP API correctly.
17989 (grub_pxefs_close): Likewise.
17990
7fd0ee30 179912008-11-29 Robert Millan <rmh@aybabtu.com>
17992
34c44600 17993 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 17994 grub_ata_device_initialize() calls.
17995
34c44600 179962008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 17997
17998 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
17999 iteration failed.
18000 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
18001
89313780 180022008-11-28 Robert Millan <rmh@aybabtu.com>
18003
18004 Fix build on powerpc-ieee1275. Based on patch created by
18005 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
18006 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
18007 `kern/ieee1275/mmap.c'.
18008 * include/grub/powerpc/ieee1275/memory.h: New file.
18009
15257703 18010 Provide grub-install on coreboot.
18011 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
18012 (grub_install_SOURCES): New variable.
18013 * util/i386/pc/grub-install.in: Add a few condition checks to make it
18014 usable on coreboot.
18015
9fc5388a 180162008-11-25 Felix Zielcke <fzielcke@z-51.de>
18017
18018 * util/grub-fstest.c (grub_term_get_current_input): Change return type
18019 to `grub_term_input_t'.
18020 (grub_term_get_current_output): Change return type to
18021 `grub_term_output_t'.
18022
bc3a2f31 180232008-11-22 Robert Millan <rmh@aybabtu.com>
18024
34c44600 18025 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 18026 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
18027 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
18028 grub_vga_text_cls().
18029
80fc88f2 18030 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 18031 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 18032
cbf36fd3 18033 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
18034 to 0x200000 (avoids trouble with some OFW implementations, and matches
18035 with the one in Yaboot).
18036 Reported by Manoel Abranches
18037
73e8e268 180382008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 18039
18040 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
18041 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
18042
73e8e268 18043 * util/grub-mkconfig_lib.in (grub_warn): New function.
18044 (convert_system_path_to_grub_path): Use grub_warn() when issuing
18045 warnings, to obtain consistent formatting.
18046 * util/grub.d/00_header.in: Likewise.
18047 * util/update-grub_lib.in: Likewise.
18048
e94045a1 18049 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 18050 Move comment text to `#error' stanza.
e94045a1 18051
79d29fd7 18052 Harmonize ieee1275's grub_available_iterate() with the generic
18053 grub_machine_mmap_iterate() interface (fixes a recently-introduced
18054 build problem on i386-ieee1275):
18055 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
18056 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
18057 parameter `type'. Update all users of this function.
18058 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
18059 `kern/ieee1275/mmap.c'.
18060 * kern/ieee1275/init.c
18061 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
18062 with ...
18063 (grub_machine_mmap_iterate): ... this.
18064 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
18065 return type to `grub_err_t'. Update all implementations of this
18066 function prototype.
18067 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
18068 Likewise.
18069
60d6b16e 18070 Add `lsmmap' command (lists firmware-provided memory map):
18071 * commands/lsmmap.c: New file.
18072 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
18073 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
18074 variables.
18075 * conf/powerpc-ieee1275.rmk: Likewise.
18076 * conf/i386-coreboot.rmk: Likewise.
18077 * conf/i386-ieee1275.rmk: Likewise.
18078
ebaaf49b 180792008-11-19 Robert Millan <rmh@aybabtu.com>
18080
18081 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 18082 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
18083 constraints to initrd allocation (based on code from
18084 loader/i386/pc/linux.c). Without them, initrd was allocated too high
18085 for Linux to find it.
ebaaf49b 18086
dfab719f 180872008-11-14 Robert Millan <rmh@aybabtu.com>
18088
18089 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
18090 order to cope with duplicate slashes.
18091
10fc3eb9 180922008-11-14 Robert Millan <rmh@aybabtu.com>
18093
18094 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
18095 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
18096 don't want to mess with lower memory, because it is used in the Linux
18097 loader.
18098
18099 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 18100 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 18101 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
18102 is in our heap (probably as a result of it being corrupted during
2f2a3442 18103 decompression). Add #error instance with comment to explain why this
18104 loader isn't currently usable on PC/BIOS.
10fc3eb9 18105
e2e07847 181062008-11-14 Robert Millan <rmh@aybabtu.com>
18107
18108 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 18109 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 18110
fe8e8d69 181112008-11-12 Robert Millan <rmh@aybabtu.com>
18112
18113 Make loader/i386/linux.c buildable on i386-pc (although disabled).
18114
18115 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
18116 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
18117 from here ...
18118 * include/grub/i386/pc/memory.h: ... to here.
18119
976b07d0 181202008-11-12 Robert Millan <rmh@aybabtu.com>
18121
18122 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
18123 split).
18124
18125 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
18126 (grub_console_cur_color, grub_console_real_putchar)
18127 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
18128 (grub_console_setcolorstate, grub_console_setcolor)
18129 (grub_console_getcolor): Move from here ...
18130 * include/grub/i386/vga_common.h: ... to here (new file).
18131
18132 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
18133 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
18134 `<grub/i386/io.h>'.
18135 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
18136 `<grub/i386/vga_common.h>'.
18137
76679cd3 181382008-11-12 Robert Millan <rmh@aybabtu.com>
18139
18140 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
18141 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
18142 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
18143 variables.
18144 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
18145 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
18146
18147 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
18148 grub_console_init() with call to grub_vga_text_init().
18149 (grub_machine_fini): Replace call to
18150 grub_console_fini() with call to grub_vga_text_fini() and
18151 grub_at_keyboard_fini().
18152
18153 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
18154 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
18155 (grub_console_setcolorstate, grub_console_setcolor)
18156 (grub_console_getcolor): New function prototypes.
18157
18158 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
18159 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
18160 (grub_vga_text_setcursor): Static-ize.
18161 (grub_vga_text_term): New structure.
18162 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
18163
18164 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
18165 (grub_console_cur_color, grub_console_standard_color)
18166 (grub_console_normal_color, grub_console_highlight_color)
18167 (map_char, grub_console_putchar, grub_console_getcharwidth)
18168 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
18169 (grub_console_getcolor): Move from here ...
18170 * term/i386/vga_common.c: ... to here (same function names).
18171
95b841d3 181722008-11-12 Robert Millan <rmh@aybabtu.com>
18173
18174 Use newly-added Multiboot support in coreboot.
18175
18176 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
18177 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
18178
18179 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
18180 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
18181 (codestart): Store the MBI in `startup_multiboot_info' when we're
18182 being loaded using Multiboot.
18183
18184 * kern/i386/coreboot/init.c (grub_machine_init): Move
18185 grub_at_keyboard_init() call to beginning of function (useful for
18186 debugging). Call grub_machine_mmap_init() before attempting to use
18187 grub_machine_mmap_iterate().
18188 (grub_lower_mem, grub_upper_mem): Move from here ...
18189 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
18190 here (new file).
18191
18192 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
18193 function prototype.
18194
761ca975 181952008-11-12 Robert Millan <rmh@aybabtu.com>
18196
18197 Fix a regression introduced by the at_keyboard.mod split. Because
18198 some terminals are default on some platforms and non-default on
18199 others, the first terminal being registered determines which is
18200 going to be default.
18201
18202 * kern/term.c (grub_term_register_input): If this is the first
18203 terminal being registered, set it as the current one.
18204 (grub_term_register_output): Likewise.
18205
18206 * term/efi/console.c (grub_console_init): Do not call
18207 grub_term_set_current_output() or grub_term_set_current_input().
18208 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
18209 * term/i386/pc/console.c (grub_console_init): Likewise.
18210 (grub_console_fini): Do not call grub_term_set_current_input()
18211 (but leave grub_term_set_current_output() to restore text mode).
18212
6c529df7 182132008-11-10 Robert Millan <rmh@aybabtu.com>
18214
18215 * util/grub.d/00_header.in: Add backward compatibility check for
18216 versions of terminal.mod that don't understand `terminal_input' or
18217 `terminal_output'.
18218
132e4113 182192008-11-09 Robert Millan <rmh@aybabtu.com>
18220
18221 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
18222 `terminal_input' / `terminal_output', not `terminal'.
18223
ac293d50 182242008-11-08 Robert Millan <rmh@aybabtu.com>
18225
18226 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 18227 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 18228
0025933a 182292008-11-08 Robert Millan <rmh@aybabtu.com>
18230
18231 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 18232 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 18233 members. Update all users.
18234 * util/console.c (grub_ncurses_term): Split in ...
18235 (grub_ncurses_term_input): ... this, and ...
18236 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 18237 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 18238
37c86336 182392008-11-08 Robert Millan <rmh@aybabtu.com>
18240
18241 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
18242 (PKGDATA): Add $(pkgdata_SRCDIR).
18243 (pkglib_BUILDDIR): New variable.
18244 (pkgdata_SRCDIR): New variable.
18245 (build_env.mk): New target.
18246 (include_DATA): New variable.
18247 (install-local): Install $(include_DATA) files in $(includedir).
18248
b6c15a2d 182492008-11-07 Pavel Roskin <proski@gnu.org>
18250
d99d46f1 18251 * gendistlist.sh: Use C locale for sorting to ensure consistent
18252 output on all systems.
18253
b6c15a2d 18254 * util/grub.d/00_header.in: Remove incorrect space before
18255 "serial".
18256
c32ee8c9 182572008-11-07 Robert Millan <rmh@aybabtu.com>
18258
18259 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
18260 per specification.
18261 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
18262 * loader/multiboot_loader.c (find_multi_boot2_header): New function
18263 (based on find_multi_boot1_header).
18264 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
18265 using find_multi_boot2_header(), and abort if neither Multiboot or
18266 Multiboot headers were found.
18267
651c29b7 182682008-11-07 Robert Millan <rmh@aybabtu.com>
18269
18270 Modularize at_keyboard.mod:
18271
18272 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
18273 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
18274 (at_keyboard_mod_LDFLAGS): New variables.
18275
18276 Actual terminal split:
18277
18278 * include/grub/term.h (struct grub_term): Split in ...
18279 (struct grub_term_input): ... this, and ...
18280 (struct grub_term_output): ... this. Update all users.
18281 (grub_term_set_current): Split in ...
18282 (grub_term_set_current_input): ... this, and ...
18283 (grub_term_set_current_output): ... this.
18284 (grub_term_get_current): Split in ...
18285 (grub_term_get_current_input): ... this, and ...
18286 (grub_term_get_current_output): ... this.
18287 (grub_term_register): Split in ...
18288 (grub_term_register_input): ... this, and ...
18289 (grub_term_register_output): ... this.
18290 (grub_term_unregister): Split in ...
18291 (grub_term_unregister_input): ... this, and ...
18292 (grub_term_unregister_output): ... this.
18293 (grub_term_iterate): Split in ...
18294 (grub_term_iterate_input): ... this, and ...
18295 (grub_term_iterate_output): ... this.
18296
18297 * kern/term.c (grub_term_list): Split in ...
18298 (grub_term_list_input): ... this, and ...
18299 (grub_term_list_output): ... this. Update all users.
18300 (grub_cur_term): Split in ...
18301 (grub_cur_term_input): ... this, and ...
18302 (grub_cur_term_output): ... this. Update all users.
18303 (grub_term_set_current): Split in ...
18304 (grub_term_set_current_input): ... this, and ...
18305 (grub_term_set_current_output): ... this.
18306 (grub_term_get_current): Split in ...
18307 (grub_term_get_current_input): ... this, and ...
18308 (grub_term_get_current_output): ... this.
18309 (grub_term_register): Split in ...
18310 (grub_term_register_input): ... this, and ...
18311 (grub_term_register_output): ... this.
18312 (grub_term_unregister): Split in ...
18313 (grub_term_unregister_input): ... this, and ...
18314 (grub_term_unregister_output): ... this.
18315 (grub_term_iterate): Split in ...
18316 (grub_term_iterate_input): ... this, and ...
18317 (grub_term_iterate_output): ... this.
18318
18319 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
18320 a check for input and one for output (and only attempt to get keys
18321 from user when input works).
18322
18323 * util/grub-probe.c (grub_term_get_current): Split in ...
18324 (grub_term_get_current_input): ... this, and ...
18325 (grub_term_get_current_output): ... this.
18326 * util/grub-fstest.c: Likewise.
18327 * util/i386/pc/grub-setup.c: Likewise.
18328 * util/grub-editenv.c: Likewise.
18329
18330 Portability adjustments:
18331
18332 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
18333 `term/i386/pc/at_keyboard.c'.
18334 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
18335 grub_keyboard_controller_init() (now handled by terminal .init).
18336 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
18337 grub_at_keyboard_init().
18338 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
18339 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
18340 at_keyboard.mod via input terminal interface).
18341 * include/grub/i386/coreboot/console.h: Convert into a stub for
18342 `<grub/i386/pc/console.h>'.
18343
18344 Migrate full terminals to new API:
18345
18346 * term/efi/console.c (grub_console_term): Split into ...
18347 (grub_console_term_input): ... this, and ...
18348 (grub_console_term_output): ... this. Update all users.
18349 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
18350 (grub_ofconsole_init): Split into ...
18351 (grub_ofconsole_init_input): ... this, and ...
18352 (grub_ofconsole_init_output): ... this.
18353 (grub_ofconsole_term): Split into ...
18354 (grub_ofconsole_term_input): ... this, and ...
18355 (grub_ofconsole_term_output): ... this. Update all users.
18356 * term/i386/pc/serial.c (grub_serial_term): Split into ...
18357 (grub_serial_term_input): ... this, and ...
18358 (grub_serial_term_output): ... this. Update all users.
18359 * term/i386/pc/console.c (grub_console_term): Split into ...
18360 (grub_console_term_input): ... this, and ...
18361 (grub_console_term_output): ... this. Update all users.
18362 (grub_console_term_input): Only enable it on PC/BIOS platform.
18363 (grub_console_init): Remove grub_keyboard_controller_init() call.
18364
18365 Migrate input terminals to new API:
18366
18367 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
18368 `i386' and `i386/pc' to enable build on x86_64 (this driver is
18369 i386-specific anyway).
18370 (grub_console_checkkey): Rename to ...
18371 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
18372 users.
18373 (grub_keyboard_controller_orig): New variable.
18374 (grub_console_getkey): Rename to ...
18375 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
18376 users.
18377 (grub_keyboard_controller_init): Static-ize. Save original
18378 controller value so that it can be restored ...
18379 (grub_keyboard_controller_fini): ... here (new function).
18380 (grub_at_keyboard_term): New structure.
18381 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
18382 functions.
18383
18384 Migrate output terminals to new API:
18385
18386 * term/i386/pc/vga.c (grub_vga_term): Change type to
18387 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
18388 members. Update all users.
18389 * term/gfxterm.c (grub_video_term): Change type to
18390 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
18391 members. Update all users.
18392 * include/grub/i386/pc/console.h (grub_console_checkkey)
18393 (grub_console_getkey): Do not export (no longer needed by gfxterm,
18394 etc).
18395
18396 Migrate `terminal' command and userland tools to new API:
18397
18398 * commands/terminal.c (grub_cmd_terminal): Split into ...
18399 (grub_cmd_terminal_input): ... this, and ...
18400 (grub_cmd_terminal_output): ... this.
18401 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
18402 `terminal_input' and `terminal_output'.
18403 * util/grub.d/00_header.in: Adjust `terminal' calls to new
18404 `terminal_input' / `terminal_output' API.
18405 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
18406 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
18407 provided ${GRUB_TERMINAL}, convert it).
18408
96e5d876 184092008-11-04 Robert Millan <rmh@aybabtu.com>
18410
18411 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
18412 for FreeBSD.
18413 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
18414
556f3775 184152008-11-03 Bean <bean123ch@gmail.com>
18416
18417 * kern/elf.c (grub_elf32_load): Revert to previous code.
18418 (grub_elf64_load): Likewise.
18419
18420 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
18421
926b9823 184222008-11-01 Robert Millan <rmh@aybabtu.com>
18423
18424 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
18425 (TARGET_CPPFLAGS): Likewise.
18426 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
18427
1432e958 184282008-11-01 Carles Pina i Estany <carles@pina.cat>
18429
18430 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
18431
dba3f844 184322008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 18433
18434 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
18435 addition of objects until the code is not going to be able to fail.
18436
dba3f844 184372008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 18438
18439 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
18440 (add a missing NULL check, and correct them by moving the pointer
18441 operations after the actual check).
18442
7ab28c21 184432008-10-29 Robert Millan <rmh@aybabtu.com>
18444
18445 * util/i386/pc/grub-install.in: Handle empty string as output from
18446 make_system_path_relative_to_its_root().
18447
1b7748eb 184482008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
18449
18450 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
18451 circular metadata worst case scenario. If the metadata is circular
18452 then copy the wrap in place.
18453 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
18454 project lib/format_text/layout.h
18455 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
18456
c9618ab2 184572008-10-03 Felix Zielcke <fzielcke@z-51.de>
18458
7a36edca 18459 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 18460
bf981c62 184612008-10-03 Felix Zielcke <fzielcke@z-51.de>
18462
18463 * util/update-grub_lib.in: Mention filename in warning message.
18464
6d994591 184652008-09-29 Felix Zielcke <fzielcke@z-51.de>
18466
18467 * NEWS: Update for rename of update-grub to grub-mkconfig.
18468
18ade780 184692008-09-29 Felix Zielcke <fzielcke@z-51.de>
18470
18471 * util/update-grub_lib.in: Copy to ...
18472 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 18473 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 18474 * util/update-grub.in: Rename to ...
18475 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
18476 option. Add `--output' option to allow users to specify the generated
18477 configuration file. Default to stdout.
18478 (update_grub_dir): Rename to ...
18479 (grub_mkconfig_dir): ... this.
18480 (grub_cfg): Default to an empty string.
18481 * conf/common.rmk (update-grub): Rename to ...
18482 (grub-mkconfig): ... this.
18483 (update-grub_lib): Copy to ...
18484 (grub-mkconfig_lib): ... this.
18485 (update-grub_SCRIPTS): Copy to ...
18486 (grub-mkconfig_SCRIPTS): ... this. Update all users.
18487 (update-grub_DATA): Rename to ...
18488 (grub-mkconfig_DATA): ... this.
18489
556ce6ac 184902008-09-28 Robert Millan <rmh@aybabtu.com>
18491
18492 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
18493 to `modified'. Add the real `created' field.
18494 (grub_iso9660_uuid): Use `modified' rather than `created' for
18495 constructing the UUID.
18496
184972008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 18498
18499 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
18500 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
18501
92274e85 185022008-09-28 Bean <bean123ch@gmail.com>
18503
18504 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
18505 Thanks to Christian Franke for finding this bug.
18506
add6f17a 185072008-09-25 Robert Millan <rmh@aybabtu.com>
18508
18509 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
18510 instances of grub_util_get_disk_name() (see previous commit).
18511
d2a367b8 185122008-09-25 Robert Millan <rmh@aybabtu.com>
18513
18514 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
18515 `util/i386/get_disk_name.c'.
18516 * conf/i386-efi.rmk: Likewise.
18517 * conf/x86_64-efi.rmk: Likewise.
18518 * conf/i386-coreboot.rmk: Likewise.
18519 * conf/i386-ieee1275.rmk: Likewise.
18520 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
18521 `util/ieee1275/get_disk_name.c'.
18522 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
18523 * util/ieee1275/get_disk_name.c: Remove file.
18524 * util/i386/get_disk_name.c: Remove file.
18525 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
18526 "hd%d" for device.map entries, rather than using
18527 grub_util_get_disk_name().
18528
81a06771 185292008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 18530
18531 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
18532 warning.
18533 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
18534
5a004279 185352008-09-24 Carles Pina i Estany <carles@pina.cat>
18536
18537 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
18538 Changed to 0x5100.
18539 (GRUB_TERM_PPAGE): Changed to 0x4900.
18540
397093d3 185412008-09-24 Robert Millan <rmh@aybabtu.com>
18542
18543 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
18544 macros (they were i386-pc specific).
18545 * include/grub/sparc64/ieee1275/console.h: Likewise.
18546 * include/grub/efi/console.h: Likewise.
18547
a91b6c7c 185482008-09-22 Bean <bean123ch@gmail.com>
18549
18550 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
18551 resident and in attribute list.
18552
18553 * include/grub/ntfs.h (BMP_LEN): Removed.
18554
c40fd116 185552008-09-22 Bean <bean123ch@gmail.com>
18556
81a06771 18557 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 18558 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
18559
18560 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
18561 error occurs, as grub_disk_open will call grub_disk_close, which will
18562 call p->close (scsi).
18563
81a06771 185642008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 18565
18566 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
18567 (AC_PREREQ): Bumped to 2.59.
18568 (AC_TRY_COMPILE): Replace obsolete macro with ...
18569 (AC_COMPILE_IFELSE): ... this.
18570 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
18571 (AC_LINK_IFELSE): ... this.
18572
5dc43410 185732008-09-21 Felix Zielcke <fzielcke@z-51.de>
18574
18575 * autogen.sh: Add a call to `gendistlist.sh'.
18576
9035dce4 185772008-09-19 Christian Franke <franke@computer.org>
18578
18579 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
18580 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
18581 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
18582 Export __enable_execute_stack() to modules.
18583 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
18584 New function.
18585
7fd75377 185862008-09-09 Felix Zielcke <fzielcke@z-51.de>
18587
040030b3 18588 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
18589 Sort the list.
18590
185912008-09-09 Felix Zielcke <fzielcke@z-51.de>
18592
18593 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 18594 #include <grub/util/hostdisk.h>.
18595
89d5ffcf 185962008-09-08 Robert Millan <rmh@aybabtu.com>
18597
18598 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
18599 segments when their filesz is zero (grub_file_read() interprets
81a06771 18600 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 18601 Use `lowest_segment' rather than 0 for calculating the current
18602 segment load address.
18603
40da438f 186042008-09-08 Robert Millan <rmh@aybabtu.com>
18605
18606 * util/hostdisk.c (open_device): Replace a grub_util_info() call
18607 with grub_dprintf("hostdisk", ...), as it was so verbose that it
18608 clobbered useful information.
18609
ddbf5556 186102008-09-08 Robert Millan <rmh@aybabtu.com>
18611
18612 * include/grub/util/biosdisk.h: Move to ...
18613 * include/grub/util/hostdisk.h: ... here. Update all users.
18614 * util/biosdisk.c: Move to ...
18615 * util/hostdisk.c: ... here. Update all users.
18616
783d0f48 186172008-09-07 Robert Millan <rmh@aybabtu.com>
18618
18619 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
18620 variables.
18621 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
18622 and length can be stored directly in the `mbi->mmap_addr' and
18623 `mbi->mmap_length' struct fields.
18624
548e2ea5 186252008-09-07 Robert Millan <rmh@aybabtu.com>
18626
18627 * conf/i386.rmk: New file. Provides declaration for building
18628 `cpuid.mod'.
18629 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
18630 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
18631 variables.
18632 Include `conf/i386.mk'.
18633 * conf/i386-efi.rmk: Likewise.
18634 * conf/x86_64-efi.rmk: Likewise.
18635 * conf/i386-coreboot.rmk: Likewise.
18636 * conf/i386-ieee1275.rmk: Likewise.
18637
0ea85a37 186382008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
18639
18640 Based on patch created by Colin D Bennett <colin@gibibit.com>.
18641 Adds optimization support for BGR based modes.
18642
18643 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
18644 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
18645 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
18646 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
18647 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
18648 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
18649 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
18650 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
18651 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
18652 (grub_video_i386_vbeblit_index_index): Likewise.
18653 (grub_video_i386_vbeblit_replace_directN): Added.
18654 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
18655 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
18656 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
18657 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
18658 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
18659 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 18660 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 18661 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
18662 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
18663 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
18664 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
18665 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
18666 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
18667
18668 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
18669 (grub_video_i386_vbefill_R8G8B8): Likewise.
18670 (grub_video_i386_vbefill_index): Likewise.
18671 (grub_video_i386_vbefill_direct32): Added.
18672 (grub_video_i386_vbefill_direct24): Likewise.
18673 (grub_video_i386_vbefill_direct16): Likewise.
18674 (grub_video_i386_vbefill_direct8): Likewise.
18675
81a06771 18676 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 18677 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
18678 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
18679 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
18680 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
18681 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 18682
0ea85a37 18683 * video/video.c (grub_video_get_blit_format): Updated to use new
18684 blit formats. Added handling for 16 bit color modes.
81a06771 18685
18686 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 18687 fillers.
18688 (common_blitter): Updated to use new blitters.
18689
18690 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
18691 Removed.
18692 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
18693 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
18694 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
18695 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
18696 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
18697 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
18698 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
18699 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
18700 (grub_video_i386_vbeblit_index_index): Likewise.
18701 (grub_video_i386_vbeblit_replace_directN): Added.
18702 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
18703 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
18704 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
18705 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
18706 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
18707 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
18708 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
18709 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
18710 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
18711 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
18712 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
18713 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
18714 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 18715
0ea85a37 18716 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
18717 (grub_video_i386_vbefill_R8G8B8): Likewise.
18718 (grub_video_i386_vbefill_index): Likewise.
18719 (grub_video_i386_vbefill_direct32): Added.
18720 (grub_video_i386_vbefill_direct24): Likewise.
18721 (grub_video_i386_vbefill_direct16): Likewise.
18722 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 18723
0ea85a37 18724 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
18725 types.
81a06771 18726
0ea85a37 18727 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
18728 types.
81a06771 18729
0ea85a37 18730 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
18731 blitter types.
81a06771 18732
0ea85a37 18733 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
18734 types.
18735
e8a83df6 187362008-09-06 Felix Zielcke <fzielcke@z-51.de>
18737
18738 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
18739 RAID level 1.
18740
6bcd8ee5 187412008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 18742
6bcd8ee5 18743 * fs/iso9660.c (grub_iso9660_date): New structure.
18744 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
18745 (grub_iso9660_uuid): New function.
c375ae58 18746
59261157 187472008-09-05 Bean <bean123ch@gmail.com>
18748
18749 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
18750
18751 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
18752 insensitive bit for names in Win32 and Win32 & DOS namespace.
18753
18754 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
18755
18756 * include/grub/types.h (LONG_MAX): Likewise.
18757
58b6645a 187582008-09-04 Felix Zielcke <fzielcke@z-51.de>
18759
4ee55921 18760 * util/getroot.c: Include <config.h>.
18761 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
18762 add support for /dev/md/N devices and handle LVM double dash escaping.
18763
187642008-09-04 Felix Zielcke <fzielcke@z-51.de>
18765
18766 * config.guess: Update to latest version from config git.
18767 * config.sub: Likewise.
58b6645a 18768
9124f65d 187692008-09-03 Robert Millan <rmh@aybabtu.com>
18770
18771 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
18772 `disk->total_sectors'.
18773
81a06771 187742008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 18775
18776 * include/grub/normal.h: Fixed incorrect comment for
18777 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
18778
81a06771 187792008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 18780
18781 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
18782 values with defines.
18783
18784 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
18785 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
18786 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
18787 (GRUB_VBE_MODEATTR_COLOR): Likewise.
18788 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
18789 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
18790 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
18791 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
18792 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
18793 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
18794 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
18795 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
18796 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
18797 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
18798 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
18799 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
18800 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
18801 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
18802 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
18803
93d5cbf8 188042008-08-31 Robert Millan <rmh@aybabtu.com>
18805
18806 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
18807 declaration.
18808 (grub_multiboot): Fix a few warnings.
18809
21751d50 188102008-08-31 Robert Millan <rmh@aybabtu.com>
18811
18812 * loader/i386/pc/multiboot.c: Update comment not to say that
18813 boot_device support is unimplemented.
18814
e27a75c5 188152008-08-31 Robert Millan <rmh@aybabtu.com>
18816
18817 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
18818 or memory map support are unimplemented.
18819
81a06771 188202008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 18821
18822 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
18823
81a06771 188242008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 18825
18826 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
18827 total video memory in 'vbeinfo' output; show color format details for
18828 each video mode.
18829
7c5d8d95 188302008-08-30 Pavel Roskin <proski@gnu.org>
18831
18832 * util/genmoddep.c: Remove for real this time.
18833 * DISTLIST: Remove util/genmoddep.c.
18834
4cebd25a 188352008-08-30 Robert Millan <rmh@aybabtu.com>
18836
18837 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
18838 as required by Multiboot spec (it was already 4-byte aligned, but
18839 only by chance).
18840
b497a269 188412008-08-29 Pavel Roskin <proski@gnu.org>
18842
e3925185 18843 * kern/powerpc/ieee1275/crt0.S: Rename to ...
18844 * kern/powerpc/ieee1275/startup.S: ... this.
18845 * conf/powerpc-ieee1275.rmk: Adjust for the above.
18846 * DISTLIST: Likewise.
18847
b497a269 18848 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
18849 grub/cpu/kernel.h. Add start label for consistency with other
18850 platforms. Add grub_prefix immediately after start. Add jump
18851 to the code after grub_prefix.
18852 * include/grub/powerpc/kernel.h: Provide valid values for
18853 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
18854
6e5a42fe 188552008-08-29 Bean <bean123ch@gmail.com>
18856
18857 * configure.ac: Change host_os to cygwin for mingw.
18858 (asprintf): New check for function.
18859
18860 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
18861 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
18862
18863 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 18864 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 18865 sync, sleep and grub_util_get_disk_size for mingw.
18866
18867 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
18868 to get size in mingw.
18869 (open_device): Use flag O_BINARY if it's defined.
18870 (find_root_device): Add dummy code for mingw.
18871
18872 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
18873 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
18874 (get_scsi_disk_name): Return 0 for mingw.
18875
18876 * util/hostfs.c: #include <grub/util/misc.h>.
18877 (grub_hostfs_open): Use "rb" flag to open file, use
18878 grub_util_get_disk_size to get disk size for mingw.
18879
18880 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
18881 (asprintf): New function if HAVE_ASPRINTF is not set.
18882 (sync): New function for mingw.
18883 (sleep): Likewise.
18884 (grub_util_get_disk_size): Likewise.
18885
ab3f2673 188862008-08-28 Pavel Roskin <proski@gnu.org>
18887
18888 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
18889 kern/time.c.
18890
1c282483 188912008-08-28 Robert Millan <rmh@aybabtu.com>
18892
18893 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
18894
678e849c 188952008-08-28 Robert Millan <rmh@aybabtu.com>
18896
18897 Change find_grub_drive() syntax so it doesn't prevent it from
18898 detecting NULL names as errors.
18899
18900 * util/biosdisk.c (find_grub_drive): Move free slot search code
18901 from here ...
18902 (find_free_slot): ... to here.
18903 (read_device_map): Use find_free_slot() to search for free slots.
18904
965c75ca 189052008-08-27 Marco Gerards <marco@gnu.org>
18906
18907 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
18908 (scsi_mod_SOURCES): New variable.
18909 (scsi_mod_CFLAGS): Likewise
18910 (scsi_mod_LDFLAGS): Likewise.
18911
18912 * disk/scsi.c: New file.
18913
18914 * include/grub/scsi.h: Likewise.
18915
18916 * include/grub/scsicmd.h: Likewise.
18917
18918 * disk/ata.c: Include <grub/scsi.h>.
18919 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
18920 instead.
18921 (grub_ata_iterate): Skip ATAPI devices.
18922 (grub_ata_open): Only handle ATAPI devices.
18923 (struct grub_atapi_read): Removed.
18924 (grub_atapi_readsector): Likewise.
18925 (grub_ata_read): No longer handle ATAPI devices.
18926 (grub_ata_write): Likewise.
18927 (grub_atapi_iterate): New function.
18928 (grub_atapi_read): Likewise.
18929 (grub_atapi_write): Likewise.
18930 (grub_atapi_open): Likewise.
18931 (grub_atapi_close): Likewise.
18932 (grub_atapi_dev): New variable.
18933 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
18934 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
18935
18936 * include/grub/disk.h (enum grub_disk_dev_id): Add
18937 `GRUB_DISK_DEVICE_SCSI_ID'.
18938
c07ae501 189392008-08-26 Robert Millan <rmh@aybabtu.com>
18940
18941 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
18942 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
18943 descriptive.
18944
5ed20adc 189452008-08-23 Bean <bean123ch@gmail.com>
18946
18947 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
18948 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
18949 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
18950 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
18951 dm_nv.mod.
18952 (raid5rec_mod_SOURCES): New macro.
18953 (raid5rec_mod_CFLAGS): Likewise.
18954 (raid5rec_mod_LDFLAGS): Likewise.
18955 (raid6rec_mod_SOURCES): Likewise.
18956 (raid6rec_mod_CFLAGS): Likewise.
18957 (raid6rec_mod_LDFLAGS): Likewise.
18958 (mdraid_mod_SOURCES): Likewise.
18959 (mdraid_mod_CFLAGS): Likewise.
18960 (mdraid_mod_LDFLAGS): Likewise.
18961 (dm_nv_mod_SOURCES): Likewise.
18962 (dm_nv_mod_CFLAGS): Likewise.
18963 (dm_nv_mod_LDFLAGS): Likewise.
18964
18965 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
18966 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
18967 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
18968
18969 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
18970 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
18971
18972 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18973
18974 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18975
18976 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18977
18978 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18979
18980 * disk/raid5_recover.c: New file.
18981
18982 * disk/raid6_recover.c: Likewise.
18983
18984 * disk/mdraid_linux.c: Likewise.
18985
18986 * disk/dmraid_nvidia.c: Likewise.
18987
18988 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
18989 ULONG_MAX.
18990
18991 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
18992 calculate the size of raid device.
18993 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
18994 different layout of raid5.
18995 (grub_raid_scan_device): Remove code specific to mdraid.
18996 (grub_raid_list): New variable.
18997 (free_array): New function.
18998 (grub_raid_register): Likewise.
18999 (grub_raid_unregister): Likewise.
19000 (grub_raid_rescan): Likewise.
19001 (GRUB_MOD_INIT): Don't iterate device here.
19002 (GRUB_MOD_FINI): Use free_array to release resource.
19003
19004 * include/grub/raid.h: Remove macro and structure specific to mdraid.
19005 (grub_raid5_recover_func_t): New function variable type.
19006 (grub_raid6_recover_func_t): Likewise.
19007 (grub_raid5_recover_func): New variable.
19008 (grub_raid6_recover_func): Likewise.
19009 (grub_raid_register): New function.
19010 (grub_raid_unregister): Likewise.
19011 (grub_raid_rescan): Likewise.
19012 (grub_raid_block_xor): Likewise.
19013
19014 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
19015 (CMD_CRC): New macro.
19016 (part): Removed.
19017 (read_file): Handle device as well as file.
19018 (cmd_crc): New function.
19019 (fstest): Handle multiple disks.
19020 (options): Remove part, raw and long, add root and diskcount.
19021 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 19022 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 19023 add handling for the new options, support multiple disks.
19024
19025 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
19026
29c18915 190272008-08-23 Bean <bean123ch@gmail.com>
19028
19029 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
19030
19031 * genfslist.sh: Ignore kernel.mod.
19032
19033 * genpartmaplist.sh: Likewise.
19034
8415f261 190352008-08-23 Robert Millan <rmh@aybabtu.com>
19036
19037 * util/getroot.c (find_root_device): Skip anything that starts with
19038 a dot, not just directories. This avoids things like /dev/.tmp.md0.
19039
d5a7dc5b 190402008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 19041
d5a7dc5b 19042 * util/update-grub.in (GRUB_GFXMODE): Export variable.
19043 * util/grub.d/00_header.in: Allow the administrator to change default
19044 gfxmode via ${GRUB_GFXMODE}.
19045
380cfbb4 190462008-08-21 Felix Zielcke <fzielcke@z-51.de>
19047
19048 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
19049
c9baafe7 190502008-08-21 Robert Millan <rmh@aybabtu.com>
19051
19052 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
19053 loader.
19054 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
19055 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
19056
e290bef2 190572008-08-20 Carles Pina i Estany <carles@pina.cat>
19058
19059 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
19060 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
19061
f9dbfc96 190622008-08-19 Robert Millan <rmh@aybabtu.com>
19063
19064 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
19065 (struct grub_virtual_screen): Remove `cursor_color'.
19066 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
19067 initialization.
19068 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
19069
dd6bd6ab 190702008-08-18 Robert Millan <rmh@aybabtu.com>
19071
19072 Unify (identical) linux_normal.c files.
19073 * loader/i386/efi/linux_normal.c: Move from here ...
19074 * loader/linux_normal.c: ... to here. Update all users.
19075 * loader/i386/pc/linux_normal.c: Delete. Update all users.
19076 * loader/i386/ieee1275/linux_normal.c: Likewise.
19077
7f42f83e 190782008-08-18 Robert Millan <rmh@aybabtu.com>
19079
19080 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
19081 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
19082 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
19083 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
19084 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
19085 New macros.
19086 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
19087 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
19088 (GRUB_LINUX_CL_END_OFFSET): ... to here.
19089 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
19090 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
19091 (GRUB_EFI_CL_END_OFFSET): Rename to ...
19092 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
19093 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
19094 Initialize `params->video_cursor_x' and `params->video_cursor_y'
19095 portably using grub_getxy().
19096 Replace `-EFI' with `-bzImage' in boot message.
19097
38487ddb 190982008-08-17 Robert Millan <rmh@aybabtu.com>
19099
19100 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
19101
deceb3ec 191022008-08-17 Robert Millan <rmh@aybabtu.com>
19103
19104 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
19105
19106 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
19107 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
19108 (grub_machine_mmap_iterate): New function declaration.
19109 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
19110 structure.
19111 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
19112 macros.
19113
19114 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
19115 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
19116 Move e820 parsing from here ...
19117 * kern/i386/pc/mmap.c: New file.
19118 (grub_machine_mmap_iterate): ... to here.
19119
19120 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
19121 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
19122 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
19123 (grub_available_iterate): Redeclare to return `void', and redeclare
19124 its hook to use grub_uint64_t as addr and size parameters, and rename
19125 to ...
19126 (grub_machine_mmap_iterate): ... this. Update all users.
19127
19128 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
19129 to make it more readable. Rename to ...
19130 (grub_machine_mmap_iterate): ... this.
19131
19132 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
19133 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
19134 (grub_multiboot): Allocate an extra region after the payload, and fill
19135 it with a Multiboot memory map. Adjust a.out loader to calculate size
19136 with the extra space.
19137 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
19138 with the extra space.
19139
f8aa0f43 191402008-08-17 Carles Pina i Estany <carles@pina.cat>
19141
9807deb9 19142 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 19143
605f5bb6 191442008-08-17 Felix Zielcke <fzielcke@z-51.de>
19145
19146 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
19147 mdate-sh to the list `find' searches for.
19148 * DISTLIST: Regenerated.
19149
210db6c6 191502008-08-16 Felix Zielcke <fzielcke@z-51.de>
19151
19152 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
19153 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 19154 genmoddep.awk, gensymlist.sh.in.
19155 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 19156 * DISTLIST: Regenerated.
48cdbfd4 19157 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 19158
1082b929 191592008-08-16 Robert Millan <rmh@aybabtu.com>
19160
19161 * disk/raid.c (grub_raid_init): Handle/report errors set by
19162 grub_device_iterate().
19163 * disk/lvm.c (grub_lvm_init): Likewise.
19164
42ce5170 191652008-08-15 Bean <bean123ch@gmail.com>
19166
19167 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
19168 and datehook.mod.
19169 (datetime_mod_SOURCES): New macro.
19170 (datetime_mod_CFLAGS): Likewise.
19171 (datetime_mod_LDFLAGS): Likewise.
19172 (date_mod_SOURCES): Likewise.
19173 (date_mod_CFLAGS): Likewise.
19174 (date_mod_LDFLAGS): Likewise.
19175 (datehook_mod_SOURCES): Likewise.
19176 (datehook_mod_CFLAGS): Likewise.
19177 (datehook_mod_LDFLAGS): Likewise.
19178
19179 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
19180 and datehook.mod.
19181 (datetime_mod_SOURCES): New macro.
19182 (datetime_mod_CFLAGS): Likewise.
19183 (datetime_mod_LDFLAGS): Likewise.
19184 (date_mod_SOURCES): Likewise.
19185 (date_mod_CFLAGS): Likewise.
19186 (date_mod_LDFLAGS): Likewise.
19187 (datehook_mod_SOURCES): Likewise.
19188 (datehook_mod_CFLAGS): Likewise.
19189 (datehook_mod_LDFLAGS): Likewise.
19190
19191 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
19192 and datehook.mod.
19193 (datetime_mod_SOURCES): New macro.
19194 (datetime_mod_CFLAGS): Likewise.
19195 (datetime_mod_LDFLAGS): Likewise.
19196 (date_mod_SOURCES): Likewise.
19197 (date_mod_CFLAGS): Likewise.
19198 (date_mod_LDFLAGS): Likewise.
19199 (datehook_mod_SOURCES): Likewise.
19200 (datehook_mod_CFLAGS): Likewise.
19201 (datehook_mod_LDFLAGS): Likewise.
19202
19203 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
19204 and datehook.mod.
19205 (datetime_mod_SOURCES): New macro.
19206 (datetime_mod_CFLAGS): Likewise.
19207 (datetime_mod_LDFLAGS): Likewise.
19208 (date_mod_SOURCES): Likewise.
19209 (date_mod_CFLAGS): Likewise.
19210 (date_mod_LDFLAGS): Likewise.
19211 (datehook_mod_SOURCES): Likewise.
19212 (datehook_mod_CFLAGS): Likewise.
19213 (datehook_mod_LDFLAGS): Likewise.
19214
19215 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
19216 and datehook.mod.
19217 (datetime_mod_SOURCES): New macro.
19218 (datetime_mod_CFLAGS): Likewise.
19219 (datetime_mod_LDFLAGS): Likewise.
19220 (date_mod_SOURCES): Likewise.
19221 (date_mod_CFLAGS): Likewise.
19222 (date_mod_LDFLAGS): Likewise.
19223 (datehook_mod_SOURCES): Likewise.
19224 (datehook_mod_CFLAGS): Likewise.
19225 (datehook_mod_LDFLAGS): Likewise.
19226
19227 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
19228
19229 * commands/date.c: New file.
19230
19231 * hook/datehook.c: Likewise.
19232
19233 * include/grub/lib/datetime.h: Likewise.
19234
19235 * include/grub/i386/cmos.h: Likewise.
19236
19237 * lib/datetime.c: Likewise.
19238
19239 * lib/i386/datetime.c: Likewise.
19240
19241 * lib/efi/datetime.c: Likewise.
19242
0e9242da 192432008-08-14 Robert Millan <rmh@aybabtu.com>
19244
19245 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
19246 (grub_mkelfimage_SOURCES): New variable.
19247 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
19248
19249 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
19250 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
19251 * conf/powerpc-ieee1275.rmk: Likewise.
19252 * conf/i386-ieee1275.rmk: Likewise.
19253
19254 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
19255 * kern/i386/coreboot/init.c: Likewise.
19256
19257 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
19258 with `<grub/cpu/kernel.h>'.
19259 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
19260 to ...
19261 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
19262 * kern/i386/coreboot/startup.S: Likewise.
19263
19264 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
19265 (GRUB_MOD_GAP): Remove.
19266 * include/grub/powerpc/kernel.h: New file.
19267 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
19268 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
19269 * include/grub/i386/kernel.h: New file.
19270 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
19271 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
19272 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
19273
19274 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
19275 `grub-mkelfimage'.
19276 Use --directory when invoking grub_mkimage.
19277
19278 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
19279 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
19280 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
19281 and GRUB_KERNEL_CPU_PREFIX.
19282
b86408f8 192832008-08-14 Felix Zielcke <fzielcke@z-51.de>
19284
d5e619ca 19285 * include/grub/err.h (grub_err_printf): New function prototype.
19286 * util/misc.c (grub_err_printf): New function.
19287 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
19288 grub_printf.
19289 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 19290
7161f0e0 192912008-08-13 Robert Millan <rmh@aybabtu.com>
19292
19293 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
19294
a1967522 192952008-08-13 Robert Millan <rmh@aybabtu.com>
19296
19297 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
19298 boot entry.
19299
371458b5 193002008-08-12 Robert Millan <rmh@aybabtu.com>
19301
19302 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
19303 of the relocation code from here ...
19304 (grub_multiboot): ... to here.
19305 (forward_relocator, backward_relocator): Move from here ...
19306 * kern/i386/loader.S (grub_multiboot_forward_relocator)
19307 (grub_multiboot_backward_relocator): ... to here.
19308 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
19309 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
19310 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
19311 (grub_multiboot_forward_relocator_end)
19312 (grub_multiboot_backward_relocator)
19313 (grub_multiboot_backward_relocator_end): New variables.
19314
05f9452b 193152008-08-12 Bean <bean123ch@gmail.com>
19316
19317 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
19318
20024ab0 193192008-08-11 Robert Millan <rmh@aybabtu.com>
19320
19321 * kern/i386/linuxbios/startup.S: Move from here ...
19322 * kern/i386/coreboot/startup.S: ... to here.
19323
19324 * kern/i386/linuxbios/init.c: Move from here ...
19325 * kern/i386/coreboot/init.c: ... to here.
19326
19327 * kern/i386/linuxbios/table.c: Move from here ...
19328 * kern/i386/coreboot/mmap.c: ... to here.
19329
19330 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
19331
e352e9cd 193322008-08-11 Robert Millan <rmh@aybabtu.com>
19333
19334 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
19335 errors. Leave it to the upper layer to handle them.
19336
2d05bc6a 193372008-08-09 Christian Franke <franke@computer.org>
19338
19339 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
19340 * conf/common.rmk: Install `grub-pe2elf' only if requested.
19341 Install `grub.d/10_windows' only on Cygwin.
19342 * configure.ac: Add subst of `target_os'.
19343 Check `target_os' also before setting TARGET_OBJ2ELF.
19344 Add `--enable-grub-pe2elf'.
19345
042bd419 193462008-08-08 Robert Millan <rmh@aybabtu.com>
19347
19348 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
19349 (grub_last_time): Change type to grub_uint64_t.
19350 (grub_disk_open): Migrate code from to using grub_get_time_ms().
19351 (grub_disk_close): Likewise.
19352
19353 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
19354 (run_menu): Migrate code from to using grub_get_time_ms().
19355
19356 * util/misc.c (grub_get_time_ms): New function.
19357
7f280db5 193582008-08-08 Marco Gerards <marco@gnu.org>
19359
19360 * disk/ata.c (grub_ata_regget): Change return type to
19361 `grub_uint8_t'.
19362 (grub_ata_regget2): Likewise.
19363 (grub_ata_wait_status): New function.
19364 (grub_ata_wait_busy): Removed function, updated all users to use
19365 `grub_ata_wait_status'.
19366 (grub_ata_wait_drq): Likewise.
19367 (grub_ata_cmd): New function.
19368 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
19369 error handling.
19370 (grub_ata_pio_write): Add error handling.
19371 (grub_atapi_identify): Likewise.
19372 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
19373 handling.
19374 (grub_ata_identify): Use `grub_ata_cmd' and improve error
19375 handling. Actually use the detected registers. Reorder the
19376 detection logic such that it is easier to read.
19377 (grub_ata_pciinit): Do not assign the same ID to each controller.
19378 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
19379 handling.
19380 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
19381
19382 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
19383
1fbc5e66 193842008-08-08 Marco Gerards <marco@gnu.org>
19385
19386 * NEWS: Update.
19387
819ce6c0 193882008-08-07 Bean <bean123ch@gmail.com>
19389
19390 * include/grub/x86_64/pci.h: New file.
19391
5c41d44d 193922008-08-07 Christian Franke <franke@computer.org>
19393
19394 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
19395 (TIMER2_GATE): Likewise.
19396 (grub_pit_wait): Add enable/disable of the timer2 gate
19397 bit of port 0x61. This fixes a possible infinite loop.
19398
5ebc275d 193992008-08-07 Bean <bean123ch@gmail.com>
19400
19401 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
19402 kern/i386/tsc.c and kern/i386/pit.c.
19403
19404 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
19405 x86_64 platform.
19406
19407 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
19408 <grub/i386/tsc.h>.
19409
19410 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
19411
e383b3d0 194122008-08-07 Bean <bean123ch@gmail.com>
19413
19414 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
19415
19416 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
19417
19418 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
19419 multiple inclusion. Add #include <grub/types.h>.
19420
1cbb58ac 194212008-08-06 Christian Franke <franke@computer.org>
19422
19423 * conf/common.rmk: Build and install `10_windows'.
19424 * util/grub.d/10_windows.in: New script.
19425
337f5a1e 194262008-08-06 Pavel Roskin <proski@gnu.org>
19427
19428 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
19429
057bc4ac 194302008-08-06 Robert Millan <rmh@aybabtu.com>
19431
19432 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
19433 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
19434
2b99f123 194352008-08-06 Bean <bean123ch@gmail.com>
19436
19437 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
19438 (grub_pxefs_fs_int): Remove dummy definition.
19439 (grub_pxefs_open): Use data->block_size to store the current block
19440 size setting.
19441 (grub_pxefs_read): Use block size stored in data->block_size. As the
19442 value of grub_pxe_blksize can be changed after the file is opened.
19443
9f0234cb 194442008-08-06 Bean <bean123ch@gmail.com>
19445
19446 * fs/i386/pc/pxe.c (curr_file): new variable.
19447 (grub_pxefs_open): Simply the handling of pxe file system. Don't
19448 require the dummy internal file system anymore.
19449 (grub_pxefs_read): Removed.
19450 (grub_pxefs_close): Likewise.
19451 (grub_pxefs_fs_int): Likewise.
19452 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
19453 connection when we switch file.
19454 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
19455
a55d42e0 194562008-08-06 Robert Millan <rmh@aybabtu.com>
19457
19458 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
19459 `halt.mod'.
19460 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
19461 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
19462
19463 * kern/i386/halt.c: New file.
19464 * kern/i386/reboot.c: Likewise.
19465 * include/grub/i386/reboot.h: Likewise.
19466 * include/grub/i386/halt.h: Likewise.
19467
19468 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
19469 Include `<grub/cpu/halt.h>'.
19470 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
19471 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
19472
19473 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
19474 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
19475 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
19476 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
19477 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
19478 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
19479 from here ...
19480 * include/grub/i386/at_keyboard.h: ... to here.
19481
24371d26 194822008-08-05 Robert Millan <rmh@aybabtu.com>
19483
19484 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
19485 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
19486 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
19487 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
19488 `kern/generic/millisleep.c'.
19489
19490 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
19491 instead of grub_get_rtc().
19492 (grub_tsc_init): Initialize `tsc_boot_time'.
19493
19494 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
19495 (grub_machine_init): Use grub_tsc_init() rather than
19496 installing an RTC-based handler via grub_install_get_time_ms().
19497
19498 * kern/i386/pit.c: New file.
19499 * include/grub/i386/pit.h: Likewise.
19500
9e7007b3 195012008-08-05 Bean <bean123ch@gmail.com>
19502
19503 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
19504
19505 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
19506 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
19507 (pxe_mod_SOURCES): New macro.
19508 (pxe_mod_CFLAGS): Likewise.
19509 (pxe_mod_LDFLAGS): Likewise.
19510 (pxecmd_mod_SOURCES): Likewise.
19511 (pxecmd_mod_CFLAGS): Likewise.
19512 (pxecmd_mod_LDFLAGS): Likewise.
19513
19514 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
19515 (grub_pxe_call): Likewise.
19516
19517 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
19518
19519 * commands/i386/pc/pxecmd.c: New file.
19520
9f0234cb 19521 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 19522
19523 * include/grub/i386/pc/pxe.h: Likewise.
19524
6977d49f 195252008-08-05 Bean <bean123ch@gmail.com>
19526
19527 * util/console.c (grub_console_cur_color): New variable.
19528 (grub_console_standard_color): Likewise.
19529 (grub_console_normal_color): Likewise.
19530 (grub_console_highlight_color): Likewise.
19531 (color_map): Likewise.
19532 (use_color): Likewise.
19533 (NUM_COLORS): New macro.
19534 (grub_ncurses_setcolorstate): Handle color properly.
19535 (grub_ncurses_setcolor): Don't change color here, just remember the
19536 settings, color will be set in grub_ncurses_setcolorstate.
19537 (grub_ncurses_getcolor): New function.
19538 (grub_ncurses_init): Initialize color pairs.
19539 (grub_ncurses_term): New member grub_ncurses_getcolor.
19540
9c2ff3ee 195412008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 19542
9c2ff3ee 19543 High resolution timer support. Implemented for x86 CPUs using TSC.
19544 Extracted generic grub_millisleep() so it's linked in only as needed.
19545 This requires a Pentium compatible CPU; if the RDTSC instruction is
19546 not supported, then it falls back on the generic grub_get_time_ms()
19547 implementation that uses the machine's RTC.
19548
19549 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
19550 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
19551 `kern/generic/millisleep.c'.
19552
19553 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
19554 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
19555
19556 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
19557 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
19558
19559 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
19560
19561 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
19562 `kern/generic/millisleep.c'.
19563
19564 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
19565
19566 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
19567
19568 * kern/generic/rtc_get_time_ms.c: New file.
19569
19570 * kern/generic/millisleep.c: New file.
337f5a1e 19571
9c2ff3ee 19572 * kern/misc.c: Don't include
19573 <kern/time.h> anymore.
19574 (grub_millisleep_generic): Removed.
19575
19576 * commands/sleep.c (grub_interruptible_millisleep): Uses
19577 grub_get_time_ms() instead of grub_get_rtc().
19578
19579 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
19580 function.
19581 (grub_cpu_is_cpuid_supported): New inline function.
19582 (grub_cpu_is_tsc_supported): New inline function.
19583 (grub_tsc_init): New function prototype.
19584 (grub_tsc_get_time_ms): New function prototype.
19585
19586 * kern/i386/tsc.c (grub_get_time_ms): New file.
19587
19588 * include/grub/time.h: Include <grub/types.h.
19589 (grub_millisleep_generic): Removed.
19590 (grub_get_time_ms): New prototype.
19591 (grub_install_get_time_ms): New prototype.
19592 (grub_rtc_get_time_ms): New prototype.
19593
19594 * kern/time.c (grub_get_time_ms): New function.
19595 (grub_install_get_time_ms): New function.
19596
19597 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
19598 <grub/time.h> anymore.
19599 (grub_millisleep): Removed.
19600 (grub_machine_init): Call grub_tsc_init.
19601
19602 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
19603 get_time_ms() implementation.
19604
19605 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
19606 (ieee1275_get_time_ms): New function.
19607 (grub_machine_init): Install get_time_ms() implementation.
19608
19609 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
19610 (grub_machine_init): Call grub_tsc_init().
19611 (grub_millisleep): Removed.
bf06a93f 19612
9c2ff3ee 19613 * kern/ieee1275/init.c (grub_millisleep): Removed.
19614 (grub_machine_init): Install ieee1275_get_time_ms()
19615 implementation.
19616 (ieee1275_get_time_ms): New function.
19617 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
19618 real work.
19619
9ec92aaf 196202008-08-05 Marco Gerards <marco@gnu.org>
19621
19622 * disk/ata.c: Include <grub/pci.h>.
19623 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
19624 (grub_ata_initialize): Rewritten.
19625 (grub_ata_device_initialize): New function.
19626
8d23f507 196272008-08-04 Pavel Roskin <proski@gnu.org>
19628
19629 * kern/main.c: Include grub/mm.h.
19630
5e15ee3d 196312008-08-04 Robert Millan <rmh@aybabtu.com>
19632
19633 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
19634 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
19635 corruption problem).
19636
a9053f8f 196372008-08-04 Robert Millan <rmh@aybabtu.com>
19638
19639 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
19640 warnings introduced in my last commit.
19641
dd19c7d7 196422008-08-03 Robert Millan <rmh@aybabtu.com>
19643
19644 Make PCI available on all i386 architectures.
19645
19646 * include/grub/i386/pc/pci.h: Move from here ...
19647 * include/grub/i386/pci.h: ... to here.
19648
19649 * include/grub/i386/pc/pci.h: Remove.
19650 * include/grub/i386/efi/pci.h: Remove.
19651 * include/grub/x86_64/efi/pci.h: Remove.
19652
19653 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
19654 `<grub/cpu/pci.h>'.
19655
19656 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
19657 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
19658 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
19659
19660 * conf/i386-ieee1275.rmk: Likewise.
19661
e14a6184 196622008-08-03 Robert Millan <rmh@aybabtu.com>
19663
19664 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
19665 (grub_console_setcursor): Make it possible to set cursor off.
19666
52768e37 196672008-08-03 Robert Millan <rmh@aybabtu.com>
19668
19669 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
19670 of modules instead of assuming which platform provides what.
19671 * util/update-grub.in: Likewise.
19672
2d52f57f 196732008-08-03 Robert Millan <rmh@aybabtu.com>
19674
19675 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
19676 instead of `grub_install_dos_part' to determine whether a drive needs
19677 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 19678 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 19679
2a5cd121 196802008-08-02 Robert Millan <rmh@aybabtu.com>
19681
19682 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
19683
93808428 196842008-08-02 Robert Millan <rmh@aybabtu.com>
19685
19686 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
19687 of informational grub_dprintf() calls.
19688
3bd0a12a 196892008-08-02 Robert Millan <rmh@aybabtu.com>
19690
19691 * disk/memdisk.c (memdisk_size): Don't initialize.
19692 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
19693
19694 * include/grub/i386/pc/kernel.h
19695 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
19696 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
19697 (grub_memdisk_image_size, grub_arch_memdisk_addr)
19698 (grub_arch_memdisk_size): Remove.
19699
19700 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
19701 field (was only used to transfer a constant). Add `type' field to
19702 support multiple module types.
19703 (grub_module_iterate): New function.
19704
19705 * kern/device.c (grub_device_open): Do not hide error messages
19706 when grub_disk_open() fails. Use grub_print_error() instead.
19707
19708 * kern/i386/pc/init.c (grub_arch_modules_addr)
19709 (grub_arch_memdisk_size): Remove functions.
19710 (grub_arch_modules_addr): Return the module address in high memory
19711 (now that it isn't copied anymore).
19712
19713 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
19714 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
19715 decompression routine (grub_total_module_size already includes that
19716 now). Don't copy modules back to low memory.
19717
19718 * kern/main.c: Include `<grub/mm.h>'.
19719 (grub_load_modules): Split out (and use) ...
19720 (grub_module_iterate): ... this function, which iterates through
19721 module objects and runs a hook.
19722 Comment out grub_mm_init_region() call, as it would cause non-ELF
19723 modules to be overwritten.
19724
19725 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
19726 the memdisk image in its own region, make it part of the module list.
19727 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
19728 (main): Parse --memdisk|-m option, and pass user-provided path as
19729 parameter to generate_image().
19730 (add_segments): Pass `memdisk_path' down to load_modules().
19731 (load_modules): Embed memdisk image in module section when requested.
19732 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
19733 `header.type' instead of `header.offset'.
19734
19735 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
19736 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
19737 (memdisk_mod_LDFLAGS): New variables.
19738 * conf/i386-coreboot.rmk: Likewise.
19739 * conf/i386-ieee1275.rmk: Likewise.
19740
a927cc73 197412008-08-02 Robert Millan <rmh@aybabtu.com>
19742
19743 * loader/i386/pc/multiboot.c (playground, forward_relocator)
19744 (backward_relocator): New variables. Used to allocate and relocate
19745 the payload, respectively.
19746 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 19747 address, install the appropriate relocator code in each bound of
a927cc73 19748 the payload, and set the entry point such that
19749 grub_multiboot_real_boot() will jump to one of them.
19750
19751 * kern/i386/loader.S (grub_multiboot_payload_size)
19752 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
19753 (grub_multiboot_payload_entry_offset): New variables.
19754 (grub_multiboot_real_boot): Set cpu context to what the relocator
19755 expects, and jump to the relocator instead of the payload.
19756
19757 * include/grub/i386/loader.h (grub_multiboot_payload_size)
19758 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
19759 (grub_multiboot_payload_entry_offset): Export.
19760
b15d8a0c 197612008-08-01 Bean <bean123ch@gmail.com>
19762
19763 * normal/menu_entry.c (editor_getline): Don't return the original
19764 string as result, as it will be released by lexer once it has done
19765 using it.
19766
cdfb3d22 197672008-08-01 Robert Millan <rmh@aybabtu.com>
19768
19769 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
19770 within menuentries, not before them.
19771 util/grub.d/10_hurd.in: Likewise.
19772
9175e93d 197732008-08-01 Bean <bean123ch@gmail.com>
19774
19775 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
19776 (bufio_mod_SOURCES): New macro.
19777 (bufio_mod_CFLAGS): Likewise.
19778 (bufio_mod_LDFLAGS): Likewise.
19779
19780 * include/grub/bufio.h: New file.
19781
19782 * io/bufio.c: Likewise.
19783
19784 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
19785 (grub_video_reader_png): Use grub_buffile_open to open file.
19786
19787 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
19788 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
19789
19790 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
19791 (grub_video_reader_tga): Use grub_buffile_open to open file.
19792
19793 * font/manager.c: Include <grub/bufio.h>.
19794 (add_font): Use grub_buffile_open to open file.
19795
3d8383e7 197962008-07-31 Robert Millan <rmh@aybabtu.com>
19797
19798 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
19799 ELF segments, use a macro for arbitrarily accessing any of them instead
19800 of preparing a pointer that allows access to one at a time.
19801 (grub_multiboot_load_elf64): Likewise.
19802
16e641b6 198032008-07-31 Bean <bean123ch@gmail.com>
19804
19805 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
19806 GRUB_KERNEL_MACHINE_DATA_END.
19807
59198b72 198082008-07-30 Robert Millan <rmh@aybabtu.com>
19809
19810 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
19811 Increase from 0x50 to 0x60.
19812 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
19813 use UUIDs to identify the root drive for them. If that's not
19814 possible, abort.
19815 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
19816 check, for cross-disk installs.
19817
ae88bca3 198182008-07-30 Robert Millan <rmh@aybabtu.com>
19819
19820 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
19821 is non-empty, use it to set the `prefix' environment variable instead
19822 of the usual approach.
19823 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
19824 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
19825 environment variable instead of dummy make_install_device().
19826
19827 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
19828 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 19829 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 19830
19831 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
19832 New variable reference.
19833 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
19834 New macro. Defines offset of `grub_prefix' within startup.S (relative
19835 to `start').
19836 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
19837 section within startup.S (relative to `start').
19838 * include/grub/i386/coreboot/kernel.h: Likewise.
19839
19840 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
19841 Overwrite grub_prefix with its contents, at the beginning of the
19842 first segment.
19843 (main): Understand -p|--prefix.
19844
14f41dd1 198452008-07-30 Robert Millan <rmh@aybabtu.com>
19846
19847 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
19848
4ca049a3 198492008-07-30 Robert Millan <rmh@aybabtu.com>
19850
19851 * term/i386/pc/vga_text.c (grub_console_cls): Use
19852 grub_console_gotoxy() to go back to beginning of the screen.
19853 Found by Patrick Georgi <patrick.georgi@coresystems.de>
19854
2921d337 198552008-07-29 Christian Franke <franke@computer.org>
19856
19857 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
19858 Add conversion of emulated mount points on Cygwin.
19859
b609876d 198602008-07-29 Christian Franke <franke@computer.org>
19861
19862 * util/update-grub.in: Add a check for admin
19863 group on Cygwin.
19864 Remove old `grub.cfg.new' before creation.
19865 Add `-f' to `mv' to handle the different filesystem
19866 semantics of Windows.
19867
e93e4679 198682008-07-29 Bean <bean123ch@gmail.com>
19869
19870 * normal/main.c (get_line): Fix buffer overflow bug.
19871
41694fd0 198722008-07-28 Robert Millan <rmh@aybabtu.com>
19873
19874 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
19875 (struct grub_apple_header): New struct. Describes the layout of
19876 the partmap header.
19877 (apple_partition_map_iterate): Check the header magic as well as the
19878 partition magic (which was already being checked).
19879
cfd0b4e6 198802008-07-28 Pavel Roskin <proski@gnu.org>
19881
19882 * genmk.rb: Add a warning to the beginning of the output that
19883 it's a generated file and should not be edited.
19884
93cce016 198852008-07-28 Robert Millan <rmh@aybabtu.com>
19886
19887 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
19888 with the same number are found, just use issue a warning with
19889 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 19890
cd1df915 198912008-07-27 Robert Millan <rmh@aybabtu.com>
19892
19893 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
19894 information.
19895
b70a8427 198962008-07-27 Bean <bean123ch@gmail.com>
19897
19898 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
19899 (grub_fat_find_dir): Ignore case when comparing filename.
19900
8f5e379f 199012008-07-27 Bean <bean123ch@gmail.com>
19902
19903 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
19904 smallino, as it's more descriptive, and i8count can be confused with
19905 the other field count.
19906 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
19907 inode type.
19908
a85cd5a0 199092008-07-27 Bean <bean123ch@gmail.com>
19910
19911 * commands/crc.c: New file.
19912
19913 * lib/crc.c: Likewise.
19914
19915 * include/grub/lib/crc.h: Likewise.
19916
19917 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
19918
19919 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
19920 (hexdump): Move this function to ...
19921
19922 * lib/hexdump.c: ... here.
19923
19924 * include/grub/hexdump.h: Renamed to ...
19925
19926 * include/grub/lib/hexdump.h: ... this.
19927
19928 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
19929
19930 * util/grub-editenv.c: Likewise.
19931
19932 * include/envblk.h: Renamed to ...
19933
19934 * include/lib/envblk.h: ... this.
19935
19936 * util/envblk.c: Renamed to ...
19937
19938 * lib/envblk.c: ... this.
19939
19940 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
19941 lib/hexdump.c.
19942 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
19943 (pkglib_MODULES): Add crc.mod.
19944 (hexdump_mod_SOURCES): Add lib/hexdump.c.
19945 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
19946 (crc_mod_SOURCES): New macro.
19947 (crc_mod_CFLAGS): Likewise.
19948 (crc_mod_LDFLAGS): Likewise.
19949
19950 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
19951
19952 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19953
19954 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19955
19956 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19957
19958 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19959
c298def0 199602008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 19961
19962 * commands/help.c: Include <grub/term.h>.
19963 (TERM_WIDTH): Removed. Updated all users.
19964
cc349fb3 199652008-07-27 Pavel Roskin <proski@gnu.org>
19966
19967 * util/getroot.c (find_root_device): Rephrase a comment to avoid
19968 spurious warnings about a comment within a comment.
19969
9051607e 199702008-07-25 Robert Millan <rmh@aybabtu.com>
19971
19972 * util/getroot.c (find_root_device): Skip devices that match
19973 /dev/dm-[0-9]. This lets the real device be found for any type of
19974 abstraction (LVM, EVMS, RAID..).
19975 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
19976 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
19977 device is found first, find_root_device() will now skip it.
19978
01453bfc 199792008-07-24 Pavel Roskin <proski@gnu.org>
19980
19981 * include/grub/types.h: Use __builtin_bswap32() and
19982 __builtin_bswap64() with gcc 4.3 and newer.
19983
6af9849f 199842008-07-24 Christian Franke <franke@computer.org>
19985
3a0fa256 19986 * util/i386/pc/grub-install.in: If `--debug' is specified,
19987 pass `--verbose' to grub-setup.
19988 Abort script if make_system_path_relative_to_its_root() fails.
19989
7810e747 199902008-07-24 Bean <bean123ch@gmail.com>
19991
19992 * configure.ac: Fixed a bug caused by the previous cygwin patch,
19993 variable `target_platform' should be `platform'.
19994
42290e17 199952008-07-24 Bean <bean123ch@gmail.com>
19996
51cc5193 19997 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 19998 (grub_png_init_fixed_block): New function.
19999 (grub_png_decode_image_data): Handle fixed huffman code compression.
20000
2a8a80e4 200012008-07-24 Bean <bean123ch@gmail.com>
20002
20003 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
20004 (grub_pe2elf_SOURCES): New macro.
20005 (CLEANFILES): Add grub-pe2elf.
20006
20007 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
20008 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
20009 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
20010 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
20011 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
20012 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
20013 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
20014 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
20015 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
20016 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
20017 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
20018 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
20019 (GRUB_PE32_DT_FUNCTION): Likewise.
20020 (GRUB_PE32_REL_I386_DIR32): Likewise.
20021 (GRUB_PE32_REL_I386_REL32): Likewise.
20022 (grub_pe32_symbol): New structure.
20023 (grub_pe32_reloc): Likewise.
20024
20025 * util/grub-pe2elf.c: New file.
20026
20027 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
20028 start symbol in non pc platform.
20029
20030 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
20031
20032 The following patches are from Christian Franke.
20033
20034 * include/grub/dl.h: Remove .previous, gas supports this only
20035 for ELF format.
20036
20037 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
20038 Remove .type, gas supports this only for ELF format.
20039
20040 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
20041 nullbytes in symbol table. This fixes an infinite loop if table is
20042 zero filled.
20043
20044 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
20045 TARGET_IMG_LDFLAGS and EXEEXT.
20046
20047 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
20048 TARGET_IMG_LDFLAGS_AC.
20049 (grub_CHECK_STACK_ARG_PROBE): New function.
20050
20051 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
20052
20053 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
20054
20055 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
20056 to set TARGET_IMG_LD* accordingly.
20057 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
20058 Add call to grub_CHECK_STACK_ARG_PROBE.
20059 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
20060
20061 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
20062
20063 * genmk.rb: Add EXEEXT to CLEANFILES.
20064
12ccdb75 200652008-07-23 Robert Millan <rmh@aybabtu.com>
20066
20067 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
20068 define the codes for arrows and lines used for the menu).
20069 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
20070 as well.
20071
20072 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
20073 fonts, because the latter are too slow.
20074
18eeaf04 200752008-07-21 Bean <bean123ch@gmail.com>
20076
20077 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
20078 a20. Run keyboard test last, as it will cause macbook to halt.
20079
b095e2ad 200802008-07-18 Pavel Roskin <proski@gnu.org>
20081
20082 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
20083 load foreign architecture modules correctly anyway. Keep
20084 support for loading host architecture modules, whether we
20085 compile them or not.
20086
737feb35 200872008-07-17 Pavel Roskin <proski@gnu.org>
20088
3f4ce737 20089 * configure.ac: Use -m32 or -m64 regardless of whether we had to
20090 change target_cpu. The compiler default can mismatch target_cpu
20091 in any case.
20092
4ad2d049 20093 * disk/efi/efidisk.c: Fix format warnings on x86_64.
20094 * kern/efi/efi.c: Likewise.
20095
f6130a12 20096 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
20097 target compiler is functional.
20098 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
20099 are set up.
20100
58393a2d 20101 * configure.ac: Default to efi platform for x86_64-apple. Allow
20102 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
20103 adjustments from the rest, only do them if target is not
20104 explicitly given. Merge other adjustments with the final sanity
20105 check. Remove an extraneous check for supported CPU. Be
20106 specific which CPU and which platform is not supported.
20107
737feb35 20108 * configure.ac: Default to pc platform for x86_64.
20109
546f966a 201102008-07-17 Robert Millan <rmh@aybabtu.com>
20111
20112 Partial LinuxBIOS -> Coreboot rename.
20113
20114 * conf/i386-linuxbios.rmk: Renamed to ...
20115 * conf/i386-coreboot.rmk: ... this.
20116 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
20117 * configure.ac: Accept "coreboot" as input platform (but maintain
20118 compatibility with "linuxbios").
20119 * include/grub/i386/linuxbios: Renamed to ...
20120 * include/grub/i386/coreboot: ... this.
20121
20011694 201222008-07-17 Bean <bean123ch@gmail.com>
20123
20124 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 20125 (appleldr_mod_SOURCE): New variable.
20011694 20126 (appleldr_mod_CFLAGS): Likewise.
20127 (appleldr_mod_LDFLAGS): Likewise.
20128 (pci_mod_SOURCES): Likewise.
20129 (pci_mod_CFLAGS): Likewise.
20130 (pci_mod_LDFLAGS): Likewise.
20131 (lspci_mod_SOURCES): Likewise.
20132 (lspci_mod_CFLAGS): Likewise.
20133 (lspci_mod_LDFLAGS): Likewise.
20134
20135 * conf/x86_64-efi.rmk: New file.
20136
20137 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
20138 macro.
20139 (grub_efidisk_write): Likewise.
20140
20141 * include/efi/api.h (efi_call_0): New macro.
20142 (efi_call_1): Likewise.
20143 (efi_call_2): Likewise.
20144 (efi_call_3): Likewise.
20145 (efi_call_4): Likewise.
20146 (efi_call_5): Likewise.
20147 (efi_call_6): Likewise.
20148
20149 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
20150 grub_rescue_cmd_chainloader.
20151
20152 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
20153 (grub_pe32_optional_header): Change some fields based on i386 or
20154 x86_64 platform.
20155 (GRUB_PE32_PE32_MAGIC): Likewise.
20156
20157 * include/grub/efi/uga_draw.h: New file.
20158
20159 * include/grub/elf.h (STN_ABS): New constant.
20160 (R_X86_64_NONE): Relocation constant for x86_64.
20161 (R_X86_64_64): Likewise.
20162 (R_X86_64_PC32): Likewise.
20163 (R_X86_64_GOT32): Likewise.
20164 (R_X86_64_PLT32): Likewise.
20165 (R_X86_64_COPY): Likewise.
20166 (R_X86_64_GLOB_DAT): Likewise.
20167 (R_X86_64_JUMP_SLOT): Likewise.
20168 (R_X86_64_RELATIVE): Likewise.
20169 (R_X86_64_GOTPCREL): Likewise.
20170 (R_X86_64_32): Likewise.
20171 (R_X86_64_32S): Likewise.
20172 (R_X86_64_16): Likewise.
20173 (R_X86_64_PC16): Likewise.
20174 (R_X86_64_8): Likewise.
20175 (R_X86_64_PC8): Likewise.
20176
20177 * include/grub/i386/efi/pci.h: New file.
20178
20179 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
20180 Change it value based on platform.
20181 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
20182 (GRUB_E820_RAM): Likewise.
20183 (GRUB_E820_RESERVED): Likewise.
20184 (GRUB_E820_ACPI): Likewise.
20185 (GRUB_E820_NVS): Likewise.
20186 (GRUB_E820_EXEC_CODE): Likewise.
20187 (GRUB_E820_MAX_ENTRY): Likewise.
20188 (grub_e820_mmap): New structure.
20189 (linux_kernel_header): Change the efi field according to different
20190 kernel version, also field from linux_kernel_header.
20191
20192 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
20193
20194 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
20195 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
20196 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
20197 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
20198 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
20199 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
20200 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
20201 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
20202 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
20203 (GRUB_PCI_ADDR_IO_MASK): Likewise.
20204
20205 * include/grub/x86_64/efi/kernel.h: New file.
20206
20207 * include/grub/x86_64/efi/loader.h: Likewise.
20208
20209 * include/grub/x86_64/efi/machine.h: Likewise.
20210
20211 * include/grub/x86_64/efi/pci.h: Likewise.
20212
20213 * include/grub/x86_64/efi/time.h: Likewise.
20214
20215 * include/grub/x86_64/linux.h: Likewise.
20216
20217 * include/grub/x86_64/setjmp.h: Likewise.
20218
20219 * include/grub/x86_64/time.h: Likewise.
20220
20221 * include/grub/x86_64/types.h: Likewise.
20222
20223 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
20224 GRUB_TARGET_SIZEOF_VOID_P.
20225
20226 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
20227 (grub_efi_locate_handle): Likewise.
20228 (grub_efi_open_protocol): Likewise.
20229 (grub_efi_set_text_mode): Likewise.
20230 (grub_efi_stall): Likewise.
20231 (grub_exit): Likewise.
20232 (grub_reboot): Likewise.
20233 (grub_halt): Likewise.
20234 (grub_efi_exit_boot_services): Likewise.
20235 (grub_get_rtc): Likewise.
20236
20237 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
20238 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
20239 (grub_efi_allocate_pages): Wrap efi calls.
20240 (grub_efi_free_pages): Wrap efi calls.
20241 (grub_efi_get_memory_map): Wrap efi calls.
20242
20243 * kern/x86_64/dl.c: New file.
20244
20245 * kern/x86_64/efi/callwrap.S: Likewise.
20246
20247 * kern/x86_64/efi/startup.S: Likewise.
20248
20249 * loader/efi/appleloader.c: Likewise.
20250
20251 * loader/efi/chainloader.c (cmdline): New variable.
20252 (grub_chainloader_unload): Wrap efi calls.
20253 (grub_chainloader_boot): Likewise.
20254 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
20255 command line.
20256
20257 * loader/efi/chainloader_normal.c (chainloader_command):
20258 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
20259 command line.
20260
20261 * loader/i386/efi/linux.c (allocate_pages): Change allocation
20262 method.
20263 (grub_e820_add_region): New function.
20264 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
20265 booting.
20266 (grub_find_video_card): New function.
20267 (grub_linux_setup_video): New function.
20268 (grub_rescue_cmd_linux): Probe for video information.
20269
20270 * normal/x86_64/setjmp.S: New file.
20271
20272 * term/efi/console.c (map_char): New function.
20273 (grub_console_putchar): Map unicode char.
20274 (grub_console_checkkey): Wrap efi calls.
20275 (grub_console_getkey): Likewise.
20276 (grub_console_getwh): Likewise.
20277 (grub_console_gotoxy): Likewise.
20278 (grub_console_cls): Likewise.
20279 (grub_console_setcolorstate): Likewise.
20280 (grub_console_setcursor): Likewise.
20281
20282 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
20283
59652a20 202842008-07-16 Pavel Roskin <proski@gnu.org>
20285
ef294055 20286 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
20287 format strings.
20288
59652a20 20289 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
20290 pointer, not an integer. This fixes a warning and prevents
20291 precision loss on 64-bit systems.
20292 (relocate_addresses): Remove unneeded cast.
20293
afc3b5d7 202942008-07-15 Pavel Roskin <proski@gnu.org>
20295
506b2b3e 20296 * kern/i386/ieee1275/init.c: Include grub/cache.h.
20297
62ead89c 20298 * term/ieee1275/ofconsole.c: Disable code unused on i386.
20299
c4cd51d7 20300 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
20301 Fix comparison between signed and unsigned.
20302
0d3d8f28 20303 * include/grub/i386/ieee1275/console.h: Declare
20304 grub_console_init() and grub_console_fini().
20305
8804b286 20306 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
20307 It's empty and unused.
20308
ee01cf35 20309 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
20310 beginning to avoid warnings with some compilers.
20311
afc3b5d7 20312 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
20313 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
20314
e4e8eaa5 203152008-07-14 Pavel Roskin <proski@gnu.org>
20316
407aceb4 20317 * kern/env.c (grub_register_variable_hook): Don't copy empty
20318 string, it leaks memory. Pass "" to grub_env_set(), it should
20319 handle constant strings.
20320
e4e8eaa5 20321 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
20322 * commands/cmp.c (grub_cmd_cmp): Likewise.
20323 * kern/dl.c (grub_dl_flush_cache): Likewise.
20324 (grub_dl_load_core): Likewise.
20325 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
20326 (grub_elf64_load_phdrs): Likewise.
20327
d4e2dad3 203282008-07-13 Pavel Roskin <proski@gnu.org>
20329
20330 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
20331 between signed and unsigned.
20332 (LzmaEnc_Finish): Fix warning about an unused parameter.
20333
aa24b516 203342008-07-13 Bean <bean123ch@gmail.com>
20335
20336 * Makefile.in (enable_lzo): New rule.
20337
20338 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
20339
20340 * configure.ac (ENABLE_LZO): New option --enable-lzo.
20341
20342 * boot/i386/pc/lnxboot.S: #include <config.h>.
20343
20344 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 20345 its value according to the compression algorithm used, lzo or lzma.
aa24b516 20346
20347 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
20348 compression algorithm according to configure macro.
20349
20350 * kern/i386/pc/startup.S (codestart): Likewise.
20351
20352 * kern/i386/pc/lzma_decode.S: New file.
20353
20354 * include/grub/lib/LzFind.h: Likewise.
20355
20356 * include/grub/lib/LzHash.h: Likewise.
20357
20358 * include/grub/lib/LzmaDec.h: Likewise.
20359
20360 * include/grub/lib/LzmaEnc.h: Likewise.
20361
20362 * include/grub/lib/LzmaTypes.h: Likewise.
20363
20364 * lib/LzFind.c: Likewise.
20365
20366 * lib/LzmaDec.c: Likewise.
20367
20368 * lib/LzmaEnc.c: Likewise.
20369
4ae821ac 203702008-07-13 Bean <bean123ch@gmail.com>
20371
20372 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
20373 (grub_ext4_extent_header): New structure.
20374 (grub_ext4_extent): Likewise.
20375 (grub_ext4_extent_idx): Likewise.
20376 (grub_ext4_find_leaf): New function.
20377 (grub_ext2_read_block): Handle extents.
20378
9a745147 203792008-07-12 Robert Millan <rmh@aybabtu.com>
20380
20381 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
20382
d49a4cf6 203832008-07-11 Robert Millan <rmh@aybabtu.com>
20384
20385 * util/grub.d/40_custom.in: New file. Example on how to add custom
20386 entries to /etc/grub.d.
20387 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
20388 40_custom (implicitly, by merging all the grub.d rules).
20389
947414b4 203902008-07-11 Pavel Roskin <proski@gnu.org>
20391
0059cf6f 20392 * commands/read.c (grub_getline): Fix invalid memory access.
20393 Don't add newline to the variable value.
20394
947414b4 20395 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
20396 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
20397 (serial_hw_get_port): Check validity of the port number.
20398 (grub_cmd_serial): Check return value of serial_hw_get_port().
20399
62a02d00 204002008-07-07 Pavel Roskin <proski@gnu.org>
20401
20402 * boot/i386/pc/diskboot.S (notification_string): Replace
20403 "Loading kernel" with just "loading". This is shorter, less
20404 confusing and saves a few bytes for possible future changes.
20405
3e5581b0 204062008-07-05 Pavel Roskin <proski@gnu.org>
20407
ea387a48 20408 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
20409 size for ATAPI devices, they are undefined. Output sector
20410 number in decimal form.
20411
3e5581b0 20412 * disk/ata.c: Use named constants for status bits.
20413
fdecb8fd 204142008-07-04 Pavel Roskin <proski@gnu.org>
20415
bcd35b90 20416 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
20417 grub_addr_t before casting it to the void pointer to fix a
20418 warning. Non-addressable regions are discarded earlier.
20419 (grub_arch_modules_addr): Cast _end to grub_addr_t.
20420 * kern/i386/linuxbios/table.c: Include grub/misc.h.
20421 (check_signature): Don't shadow table_header.
20422 (grub_linuxbios_table_iterate): Cast numeric constants to
20423 grub_linuxbios_table_header_t.
20424 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
20425 grub_stop().
20426
af58ab3d 20427 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
20428 prevent warnings.
20429
1759aa57 20430 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
20431 pointer, which can cause warnings. Support 64-bit addresses.
20432
fdecb8fd 20433 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
20434 of sizeof(long). This fixes PowerPC image generation on x86_64.
20435
8516d2a8 204362008-07-04 Robert Millan <rmh@aybabtu.com>
20437
20438 This fixes a performance issue when pc & gpt partmap iterators
20439 didn't abort iteration even after our hook found what it was
fe987087 20440 looking for (often causing expensive probes of non-existent drives).
8516d2a8 20441
20442 Some callers relied on previous buggy behaviour, since they would
34c44600 20443 raise an error when their own hooks caused early abortion of its
8516d2a8 20444 iteration.
20445
20446 * kern/device.c (grub_device_open): Improve error message.
20447 * disk/lvm.c (grub_lvm_open): Likewise.
20448 * disk/raid.c (grub_raid_open): Likewise.
20449
20450 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
20451 when hook requests it, independently of grub_errno.
20452 (pc_partition_map_probe): Do not fail when find_func() caused
20453 early abortion of pc_partition_map_iterate().
20454
20455 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
20456 when hook requests it, independently of grub_errno.
20457 (gpt_partition_map_probe): Do not fail when find_func() caused
20458 early abortion of gpt_partition_map_iterate().
20459
20460 * kern/partition.c (grub_partition_iterate): Abort parent iteration
20461 when hook requests it, independently of grub_errno. Do not fail when
20462 part_map_iterate_hook() caused early abortion of p->iterate().
20463
20464 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
20465 when grub_partition_iterate() returned with non-zero.
20466
277d0de9 204672008-07-03 Pavel Roskin <proski@gnu.org>
20468
20469 * disk/ata.c (grub_ata_pio_write): Check status before writing,
20470 like we do in grub_ata_pio_read().
20471 (grub_ata_readwrite): Always write individual sectors. Fix the
20472 sector count for the remainder.
20473 (grub_ata_write): Enable writing to ATA devices. Correctly
20474 report error for ATAPI devices.
20475
d4c9b428 204762008-07-02 Pavel Roskin <proski@gnu.org>
20477
e43fc690 20478 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
20479 warning.
20480
f707af42 20481 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
20482 for every read sector, we already increment it for the whole
20483 batch. This fixes reading more than 256 sectors at once.
20484
11e16b15 20485 * util/grub-editenv.c (cmd_info): Cast argument to long
20486 explicitly. ptrdiff_t reduces to int on i386.
20487
cbabfdd4 20488 * util/grub-editenv.c (main): Be specific which parameter is
20489 missing.
20490
b8fbce0a 20491 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
20492 (memdisk): Make memdisk_orig_addr a pointer.
20493
c9c8e606 20494 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
20495 for file offsets, use grub_off_t instead. Fix printf format
20496 warnings.
20497
ca62e598 20498 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
20499 there. Real unexpected warnings should not drown in the noise
20500 about known problems.
20501
ce8d1766 20502 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
20503 grub_disk_addr_t for memory addresses.
20504
00c7a56a 20505 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
20506 explicitly to fix a warning.
20507
08d3ef09 20508 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
20509
cb71ba20 20510 * Makefile.in (MODULE_LDFLAGS): New variable.
20511 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
20512 the linker accepts --build-id=none.
20513 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
20514 MODULE_LDFLAGS.
20515 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
20516
d4c9b428 20517 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
20518 those in Linux XFS code. Provide a way to access 64-bit parent
20519 inode.
20520 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
20521 the end of struct grub_xfs_dir_header.
20522
d4156eee 205232008-07-02 Bean <bean123ch@gmail.com>
20524
20525 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
20526 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
20527 and GRUB_IEEE1275_FLAG_NO_ANSI.
20528
20529 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
20530 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
20531 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
20532
20533 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
20534 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
20535
20536 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
20537 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
20538
20539 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
20540 esc sequence on non ANSI terminal.
20541 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
20542
20543 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
20544 beginning of file.
20545
2270f77b 205462008-07-02 Bean <bean123ch@gmail.com>
20547
20548 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
20549 (grub_editenv_SOURCES): New variable.
20550 (pkglib_MODULES): Add loadenv.mod.
20551 (loadenv_mod_SOURCES): New variable.
20552 (loadenv_mod_CFLAGS): Likewise.
20553 (loadenv_mod_LDFLAGS): Likewise.
20554
20555 * include/grub/envblk.h: New file.
20556
20557 * util/envblk.c: New file.
20558
20559 * util/grub-editenv.c: New file.
20560
20561 * commands/loadenv.c: New file.
20562
0e9e51ec 205632008-07-01 Pavel Roskin <proski@gnu.org>
20564
d89b7634 20565 * include/multiboot2.h (struct multiboot_tag_module): Use char,
20566 not unsigned char. This fixes warnings and is consistent with
20567 other tags.
20568
bf1835b1 20569 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
20570
8222a04b 20571 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
20572
6a42d99d 20573 * term/tparm.c (analyze): Always set *popcount.
20574
10b159d1 20575 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
20576 cast to fix a warning.
20577
b8789f6c 20578 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
20579 cast to suppress a warning.
20580
29d7e38a 20581 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
20582 grub_fshelp_read_file() expects.
20583
f341f669 20584 * fs/fat.c: Fix UUID calculation on big-endian systems. We
20585 write uuid as a 32-bit value in CPU byte order, so declare and
20586 use it as such.
20587
0e9e51ec 20588 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
20589 long if the format specifier expects it.
20590 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
20591 * partmap/pc.c (pc_partition_map_iterate): Likewise.
20592 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
20593 long to fix a warning.
20594 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
20595 grub_dprintf() arguments to fix warnings.
20596
3aefa857 205972008-06-30 Pavel Roskin <proski@gnu.org>
20598
56c7668b 20599 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
20600 install_bsd_part immediately before core.img is embedded or
20601 modified on disk. This fixes core.img verification if core.img
20602 cannot be embedded.
20603
3aefa857 20604 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
20605 core_path to calculate the blocklist.
20606 Patch from Javier Martín <lordhabbit@gmail.com>
20607
5444088d 206082008-06-29 Robert Millan <rmh@aybabtu.com>
20609
20610 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
20611 block to disk block.
20612 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
20613 Patch from Niels Böhm <bitbucket@arcor.de>
20614
674835c8 206152008-06-29 Robert Millan <rmh@aybabtu.com>
20616
20617 * util/update-grub_lib.in (font_path): Search for fonts in
20618 /boot/grub first, which is more likely to be readable (we aren't
20619 deciding where fonts live, just looking for them).
20620
f527dbc8 206212008-06-26 Pavel Roskin <proski@gnu.org>
20622
6c2d8df6 20623 * util/biosdisk.c (read_device_map): Don't leave dead map
20624 entries for devices failing stat() check.
20625
f527dbc8 20626 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
20627 core_path_dev for the core.img path on the target device.
20628
aebe3d13 206292008-06-26 Robert Millan <rmh@aybabtu.com>
20630
20631 * disk/fs_uuid.c: New file.
20632 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
20633 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
20634 (fs_uuid_mod_LDFLAGS): New variables.
20635 * include/grub/disk.h (grub_disk_dev_id): Add
20636 `GRUB_DISK_DEVICE_UUID_ID'.
20637 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
20638 implement iterate().
20639
37aaf354 206402008-06-26 Robert Millan <rmh@aybabtu.com>
20641
20642 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
20643 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
20644 Linux image includes no initrd.
20645
25ff262a 206462008-06-21 Javier Martín <lordhabbit@gmail.com>
20647
20648 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
20649 call to resolve the core image location that effectively appended the
20650 name twice.
20651
76a2bd44 206522008-06-21 Robert Millan <rmh@aybabtu.com>
20653
20654 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
20655 call from here ...
20656
20657 * util/grub.d/10_hurd.in: ... to here ...
20658 * util/grub.d/10_linux.in: ... and here.
20659
650e1c79 206602008-06-19 Robert Millan <rmh@aybabtu.com>
20661
fe987087 20662 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 20663 after it has been set by grub_machine_set_prefix().
20664
6ce63911 206652008-06-19 Robert Millan <rmh@aybabtu.com>
20666
20667 * commands/search.c (search_label, search_fs_uuid, search_file): Print
20668 search result when not saving to variable, not the other way around.
20669 When saving to variable, abort iteration as soon as a match is found.
20670
73940cec 206712008-06-19 Robert Millan <rmh@aybabtu.com>
20672
20673 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
20674 check for partition that provides /boot/grub. Its logic is flawed,
20675 as it prevents prepare_grub_to_access_device() from being called
20676 multiple times.
20677
3c62a39d 206782008-06-19 Robert Millan <rmh@aybabtu.com>
20679
20680 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
20681 "insmod" command directly when abstraction modules are needed,
fe987087 20682 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 20683 since it had already been processed).
20684
47395a42 206852008-06-19 Pavel Roskin <proski@gnu.org>
20686
20687 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
20688 changed. This is needed in case GRUB_LIBDIR changes.
20689 * conf/i386-ieee1275.rmk: Likewise.
20690 * conf/i386-linuxbios.rmk: Likewise.
20691 * conf/i386-pc.rmk: Likewise.
20692 * conf/powerpc-ieee1275.rmk: Likewise.
20693
a145ac2d 206942008-06-18 Pavel Roskin <proski@gnu.org>
20695
20696 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
20697 kernel_elf_symlist.c to symlist.c for consistency with other
20698 architectures. Update all users.
20699 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20700
7847c51e 207012008-06-18 Robert Millan <rmh@aybabtu.com>
20702
20703 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
20704 it in prefix.
20705
20706 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
20707 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
20708 a RAID device, run setup() for all members independently on whether
20709 LVM abstraction is being used.
20710 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
20711 If grub-mkimage has set `*install_dos_part == -2', don't override this
20712 value.
20713 Perform *install_dos_part adjustments independently on whether
20714 we're embedding or not.
20715 Clarify error message when image is too big for embedding.
20716 Remove duplicate *install_dos_part stanza.
20717
b23e5644 207182008-06-17 Robert Millan <rmh@aybabtu.com>
20719
20720 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
20721 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
20722 variables.
20723 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
20724 values in grub_ofconsole_normal_color and
20725 grub_ofconsole_highlight_color (they're not directly related to
20726 background and foreground).
20727 (grub_ofconsole_setcolorstate): Extract background and foreground
20728 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
20729
0aac2f79 207302008-06-17 Robert Millan <rmh@aybabtu.com>
20731
20732 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
20733 /boot/grub for the check in last commit, not /boot (they could be
20734 different partitions).
20735
3cca7ef3 207362008-06-16 Robert Millan <rmh@aybabtu.com>
20737
20738 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
20739 asked to setup access for the same partition that provides /boot,
20740 don't bother using UUIDs since our root already has the value we
20741 want.
20742
347396d8 207432008-06-16 Robert Millan <rmh@aybabtu.com>
20744
20745 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
20746 I2O devices.
20747 Patch from Sven Mueller <sven@debian.org>.
20748
991477f8 207492008-06-16 Robert Millan <rmh@aybabtu.com>
20750
20751 * util/update-grub.in: Check for $EUID instead of $UID.
20752 Reported by Vincent Zweije.
20753
d31a32a1 207542008-06-16 Bean <bean123ch@gmail.com>
20755
fe987087 20756 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 20757 (grub_ext2_read_block): Likewise.
20758 (grub_ext2_read_inode): Likewise.
20759 (grub_ext2_mount): Likewise.
20760 (grub_ext2_close): Likewise.
20761 (grub_ext3_get_journal): Removed.
20762
fe987087 20763 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 20764 (grub_reiserfs_read_symlink): Likewise.
20765 (grub_reiserfs_mount): Likewise.
20766 (grub_reiserfs_open): Likewise.
20767 (grub_reiserfs_read): Likewise.
20768 (grub_reiserfs_close): Likewise.
20769 (grub_reiserfs_get_journal): Removed.
20770
20771 * fs/fshelp.c (grub_fshelp_read): Removed.
20772 (grub_fshelp_map_block): Likewise.
20773
20774 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
20775 (grub_fshelp_journal): Likewise.
20776 (grub_fshelp_read): Likewise.
20777 (grub_fshelp_map_block): Likewise.
20778
3540a760 207792008-06-16 Pavel Roskin <proski@gnu.org>
20780
20781 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
20782 floating point anymore.
20783 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
20784
95614c84 207852008-06-15 Pavel Roskin <proski@gnu.org>
20786
20787 * commands/ls.c (grub_ls_list_files): Use integer calculations
20788 for human readable format, avoid floating point use.
20789 * kern/misc.c (grub_ftoa): Remove.
20790 (grub_vsprintf): Remove floating point support.
20791
50465dd6 207922008-06-15 Robert Millan <rmh@aybabtu.com>
20793
fe6b695a 20794 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 20795 devices.
20796 Reported by Max Vozeler.
20797
a9207284 207982008-06-15 Robert Millan <rmh@aybabtu.com>
20799
20800 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
20801 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
20802 skipped later.
20803 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
20804 the beginning of the prefix.
20805
20806 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
20807 It is assumed that if we have a memdisk, grub-mkimage has set
20808 grub_prefix to include the "(memdisk)" drive in it.
20809
a7cbd45a 208102008-06-15 Robert Millan <rmh@aybabtu.com>
20811
20812 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
20813 Initialize keyboard controller after registering the terminal, so that
20814 grub_printf() can be called from grub_keyboard_controller_init().
20815
21cf716a 208162008-06-15 Robert Millan <rmh@aybabtu.com>
20817
20818 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
20819 extent-btree which is written as big endian on disk.
20820 Reported by Alain Greppin <al@chilibi.org>.
20821
23a64d8e 208222008-06-14 Robert Millan <rmh@aybabtu.com>
20823
20824 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
20825 * util/i386/pc/grub-install.in (modules): Likewise.
20826
d687651c 208272008-06-13 Pavel Roskin <proski@gnu.org>
20828
20829 * commands/ls.c (grub_ls_list_files): Fix format warnings.
20830
dfe9ddd4 208312008-06-13 Bean <bean123ch@gmail.com>
20832
20833 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
20834
20835 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
20836
20837 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
20838 to indicate sparse block.
20839
16ae7781 208402008-06-12 Pavel Roskin <proski@gnu.org>
20841
e6d1a308 20842 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
20843 number, grub_fshelp_read() does it for us.
20844
16ae7781 20845 * fs/fshelp.c (grub_fshelp_read): New function. Implement
20846 linear disk read with journal translation.
20847 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
20848 * include/grub/fshelp.h: Declare grub_fshelp_read().
20849
40fd3a2b 208502008-06-09 Pavel Roskin <proski@gnu.org>
20851
20852 * fs/minix.c (grub_minix_mount): Handle error reading
20853 superblock.
20854
f5679726 208552008-06-08 Robert Millan <rmh@aybabtu.com>
20856
20857 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
20858 don't append the RAID prefix afterwards.
20859 Reported by Clint Adams.
20860
ce525529 208612008-06-08 Robert Millan <rmh@aybabtu.com>
20862
20863 Based on description from Pavel:
20864 * kern/disk.c (grub_disk_check_range): Rename to ...
20865 (grub_disk_adjust_range): ... this. Add a comment explaining the
20866 tasks performed by this function.
20867
ad4936a0 208682008-06-08 Robert Millan <rmh@aybabtu.com>
20869
20870 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
20871 `num_serial' (for consistency with other variables).
20872 (struct grub_ntfs_data): Add `uuid' member.
20873 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
20874 (grub_ntfs_uuid): New function.
20875 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
20876
dc20b0f9 208772008-06-07 Pavel Roskin <proski@gnu.org>
20878
20879 * util/biosdisk.c (open_device): Revert last change to the
20880 function, it broke installation. The sector needs to be
20881 different dependent on which device is opened.
20882
c5e3cfba 208832008-06-06 Robert Millan <rmh@aybabtu.com>
20884
20885 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
20886 rest of GRUB, and breakage doesn't happen if its value were modified.
20887
20888 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20889 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
20890 a constant (same value).
20891 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
20892 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
20893
26a1f8c4 208942008-06-06 Robert Millan <rmh@aybabtu.com>
20895
20896 * util/biosdisk.c (open_device): Do not modify sector offset when
20897 accessing a partition. kern/disk.c already handles this for us.
20898
25d6b327 208992008-06-06 Robert Millan <rmh@aybabtu.com>
20900
20901 * util/grub-emu.c (grub_machine_init): Move code in this function from
20902 here ...
20903 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
20904 segfault in case grub_printf() is called).
20905
20906 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
20907 grub_probe. Update all users not to explicitly add it again.
20908 (grub_device): New variable; contains corresponding device for grubdir.
20909 (fs_module, partmap_module, devabstraction_module): Pass
20910 `--device ${grub_device}' to grub_probe to avoid traversing /dev
20911 every time.
20912
9ece62fb 209132008-06-05 Robert Millan <rmh@aybabtu.com>
20914
20915 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
20916 is found, print it (same layout as with labels).
20917
1ad36d37 209182008-06-04 Robert Millan <rmh@aybabtu.com>
20919
20920 * util/biosdisk.c (get_drive): Rename to ...
20921 (find_grub_drive): ... this. Update all users.
20922
20923 (get_os_disk): Rename to ...
20924 (convert_system_partition_to_system_disk): ... this. Update all users.
20925
20926 (find_drive): Rename to ...
20927 (find_system_device): ... this. Update all users.
20928
e6a30859 209292008-06-04 Robert Millan <rmh@aybabtu.com>
20930
20931 * util/biosdisk.c (get_os_disk): Handle IDA devices.
20932 * util/grub-mkdevicemap.c (get_mmc_disk_name)
20933 (make_device_map): Likewise.
20934
00c108a4 209352008-06-01 Robert Millan <rmh@aybabtu.com>
20936
20937 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
20938 before dereferencing it.
20939
20940 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
20941 union with fat12/fat16-specific ones. Add some new fields, including
20942 `num_serial' for both versions.
20943 (struct grub_fat_data): Add `uuid' member.
20944 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
20945 names. Initialize `data->uuid' using `num_serial'.
20946 (grub_fat_uuid): New function.
20947 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
20948
20949 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
20950 (grub_reiserfs_uuid): New function.
20951 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
20952 member.
20953
20954 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
20955 (grub_xfs_uuid): New function.
20956 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
20957
1385c5bb 209582008-06-01 Robert Millan <rmh@aybabtu.com>
20959
20960 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
20961 code that is backward compatible with pre-uuid search command.
20962
c682dfd7 209632008-05-31 Robert Millan <rmh@aybabtu.com>
20964
20965 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
20966 floppies after everything else, to ensure floppy drive isn't accessed
20967 unnecessarily (patch from Bean).
20968
b7db5d47 209692008-05-31 Robert Millan <rmh@aybabtu.com>
20970
20971 * commands/search.c (search_label, search_fs_uuid, search_file): Do
20972 not print device names when we were asked to set a variable.
20973
6e037aa9 209742008-05-31 Robert Millan <rmh@aybabtu.com>
20975
20976 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
20977 using "cursor-on" and "cursor-off" commands (understood at least by
20978 the Open Firmware flavour on OLPC).
20979
41305bc8 209802008-05-31 Michael Gorven <michael@gorven.za.net>
20981
20982 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
20983 on and off sequences.
20984
69ba137e 209852008-05-31 Robert Millan <rmh@aybabtu.com>
20986
20987 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
20988 * util/update-grub.in: Likewise.
20989
520ae21b 209902008-05-30 Pavel Roskin <proski@gnu.org>
20991
20992 * util/biosdisk.c (linux_find_partition): Simplify logic and
20993 make the code more universal. Keep special processing for
20994 devfs, but use a simple rule for all other devices. If the
20995 device ends with a number, append 'p' and the partition number.
20996 Otherwise, append only the partition number.
20997
5786569b 209982008-05-30 Robert Millan <rmh@aybabtu.com>
20999
21000 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
21001 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
21002 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
21003 the `root' parameter to Linux.
21004
51500452 210052008-05-30 Robert Millan <rmh@aybabtu.com>
21006
21007 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
21008 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
21009 --fs_uuid with --fs-uuid.
21010 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
21011 all filesystems support them).
21012
811d3878 210132008-05-30 Robert Millan <rmh@aybabtu.com>
21014
21015 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 21016 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 21017
cab63c95 210182008-05-30 Robert Millan <rmh@aybabtu.com>
21019
21020 * util/grub.d/00_header.in: Remove obsolete comment referencing
21021 convert_system_path_to_grub_path().
21022 * util/update-grub.in: Likewise.
21023 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
21024 (convert_system_path_to_grub_path): Add a warning message explaining
21025 that this function is deprecated. Rely on is_path_readable_by_grub()
21026 for the readability checks.
21027 (font_path): Use is_path_readable_by_grub() for the readability
21028 check rather than convert_system_path_to_grub_path().
21029
972e2f7a 210302008-05-30 Robert Millan <rmh@aybabtu.com>
21031
21032 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
21033 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
21034 converting it first.
21035 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
21036 grub.cfg for access to font file, and afterwards call it again to set
21037 the root device.
21038
62191274 210392008-05-30 Robert Millan <rmh@aybabtu.com>
21040
21041 * commands/search.c (options): Add --fs_uuid option.
21042 (search_fs_uuid): New function.
21043 (grub_cmd_search): Fix --set argument passing.
21044 Use search_fs_uuid() when requested via --fs_uuid.
21045 (grub_search_init): Update help message.
21046 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
21047 and redeclare it as an array of 16-bit words.
21048 (grub_ext2_uuid): New function.
21049 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
21050 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
21051 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
21052 (GRUB_DEVICE_BOOT_UUID): New variables.
21053 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
21054 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
21055 whenever possible.
21056 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
21057 just assume `root' variable has the right value.
21058 * util/grub.d/10_linux.in: Likewise.
21059 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
21060 via PRINT_FS_UUID.
21061 (main): Recognise `-t fs_uuid' argument.
21062
01b73ec8 210632008-05-30 Robert Millan <rmh@aybabtu.com>
21064
21065 * util/biosdisk.c (map): Redefine structure to hold information
21066 about GRUB drive name.
fe6b695a 21067 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 21068 drive names.
21069 (call_hook): Remove.
21070 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
21071 member. Assume drive has partitions.
21072 (grub_util_biosdisk_open): Access device names via `.device' struct
21073 member.
21074 (open_device): Likewise.
21075 (find_drive): Likewise.
21076 (read_device_map): Adjust map[] usage to match the new struct
21077 definition. Don't check for duplicates (still possible, but not cheap
21078 anymore).
21079 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
21080 (make_device_name): Remove assumption of BIOS-like drive names.
21081
22f16596 210822008-05-30 Pavel Roskin <proski@gnu.org>
21083
21084 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
21085 compiling execute.c doesn't need grub_script.tab.h anymore.
21086 (normal/command.c_DEPENDENCIES): Likewise.
21087 (normal/function.c_DEPENDENCIES): Likewise.
21088 * conf/i386-ieee1275.rmk: Likewise.
21089 * conf/i386-linuxbios.rmk: Likewise.
21090 * conf/i386-pc.rmk: Likewise.
21091 * conf/powerpc-ieee1275.rmk: Likewise.
21092 * conf/sparc64-ieee1275.rmk: Likewise.
21093
528ad8f2 210942008-05-29 Pavel Roskin <proski@gnu.org>
21095
d1dff95d 21096 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
21097 when scanning metadata for volume group name.
21098
528ad8f2 21099 * include/grub/script.h: Don't include grub_script.tab.h. It's
21100 a generated file, which may only be included from the files with
21101 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
21102 use union YYSTYPE, as the later allows forward declaration.
21103 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
21104
47248e08 211052008-05-29 Robert Millan <rmh@aybabtu.com>
21106
21107 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
21108 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
21109 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
21110 (grub_console_checkkey): Add grub_dprintf() call to report unknown
21111 scan codes.
21112
ee632529 211132008-05-29 Robert Millan <rmh@aybabtu.com>
21114
21115 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
21116 control key combinations.
21117
eee96e08 211182008-05-29 Robert Millan <rmh@aybabtu.com>
21119
21120 * util/powerpc/ieee1275/grub-install.in: Move from here ...
21121 * util/ieee1275/grub-install.in: ... to here.
21122 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
21123 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
21124 (grub_install_SOURCES): Likewise.
21125
da9a6a94 211262008-05-29 Robert Millan <rmh@aybabtu.com>
21127
21128 * fs/affs.c: Update copyright year.
21129 * fs/ext2.c: Likewise.
21130 * fs/fshelp.c: Likewise.
21131 * fs/hfsplus.c: Likewise.
21132 * fs/ntfs.c: Likewise.
21133 * fs/xfs.c: Likewise.
21134 * include/grub/fshelp.h: Likewise.
21135 * util/grub-mkdevicemap.c: Likewise.
21136
12e65f3a 211372008-05-28 Robert Millan <rmh@aybabtu.com>
21138
21139 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
21140 might need to be fatfs to support some firmware implementations
21141 (e.g. OFW or EFI).
21142
23023641 211432008-05-28 Robert Millan <rmh@aybabtu.com>
21144
21145 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
21146 devices.
21147 * util/grub-mkdevicemap.c (get_mmc_disk_name)
21148 (make_device_map): Likewise.
21149
887d2619 211502008-05-20 Bean <bean123ch@gmail.com>
21151
21152 * fs/fshelp.c (grub_fshelp_map_block): New function.
21153 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
21154 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
21155
21156 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
21157 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
21158 (grub_fshelp_journal): New structure.
21159 (grub_fshelp_map_block): New function prototype.
21160 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
21161 (grub_fshelp_map_block): Likewise.
21162
21163 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
21164 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
21165 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
21166 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
21167 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
21168 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
21169 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
21170 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
21171 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
21172 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
21173 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
21174 (grub_ext2_sblock): New members for journal support.
21175 (grub_ext3_journal_header): New structure.
21176 (grub_ext3_journal_revoke_header): Likewise.
21177 (grub_ext3_journal_block_tag): Likewise.
21178 (grub_ext3_journal_sblock): Likewise.
21179 (grub_fshelp_node): New members logfile and journal.
21180 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
21181 grub_fshelp_map_block to get real block number.
21182 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
21183 number.
21184 (grub_ext2_read_inode): Likewise.
21185 (grub_ext3_get_journal): New function.
21186 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
21187 (grub_ext2_close): Release memory used by journal.
21188
21189 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
21190 (REISERFS_MAGIC_DESC_BLOCK): New macro.
21191 (grub_reiserfs_transaction_header): Renamed to
21192 grub_reiserfs_description_block, replace field data with real_blocks.
21193 (grub_reiserfs_commit_block): New structure.
21194 (grub_reiserfs_data): New member journal.
21195 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
21196 number.
21197 (grub_reiserfs_read_symlink): Likewise.
21198 (grub_reiserfs_iterate_dir): Likewise.
21199 (grub_reiserfs_open): Likewise.
21200 (grub_reiserfs_read): Likewise.
21201 (grub_reiserfs_get_journal): New function.
21202 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
21203 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
21204 using grub_reiserfs_get_journal.
21205 (grub_reiserfs_close): Release memory used by journal.
21206
21207 * fs/affs.c (grub_affs_read_block): Change block type to
21208 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
21209
21210 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
21211
21212 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
21213
21214 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
21215
21216 * fs/udf.c (grub_udf_read_block): Change block type to
21217 grub_disk_addr_t. Use type cast to avoid warning.
21218
21219 * fs/xfs.c (grub_xfs_read_block): Likewise.
21220
b7c6bed5 212212008-05-16 Christian Franke <franke@computer.org>
21222
21223 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
21224 to ensure that break with ESC will always work.
21225 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
21226 Remove ESC from keyboard queue.
21227
eedf167f 212282008-05-16 Christian Franke <franke@computer.org>
21229
21230 * util/biosdisk.c: [__CYGWIN__] Add includes.
21231 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
21232 (get_os_disk): Move variable declarations to OS specific
21233 parts to avoid warning.
21234 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
21235 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
21236 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
21237 Cygwin.
21238 * util/getroot.c: [__CYGWIN__] Add includes.
21239 (strip_extra_slashes): Fix "/" case.
21240 [__CYGWIN__] (get_win32_path): New function.
21241 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
21242 [__CYGWIN__] (find_root_device): Disable.
21243 [__CYGWIN__] (get_bootsec_serial): New function.
21244 [__CYGWIN__] (find_cygwin_root_device): Likewise.
21245 [__linux__] (grub_guess_root_device): Add early returns to simplify
21246 structure.
21247 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
21248 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
21249 check for Linux only.
21250
a079699e 212512008-05-15 Bean <bean123ch@gmail.com>
21252
21253 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
21254 keyboard hang problem in apple's intel mac.
21255
1cf4059a 212562008-05-09 Robert Millan <rmh@aybabtu.com>
21257
21258 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
21259 devices.
21260 * util/grub-mkdevicemap.c (get_virtio_disk_name)
21261 (make_device_map): Likewise.
21262 Reported by Aurelien Jarno <aurel32@debian.org>
21263
ed759390 212642008-05-07 Ian Campbell <ijc@hellion.org.uk>
21265
21266 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
21267 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
21268 (make_device_map): Output entries for xvd type disks.
21269
b56c4eaa 212702008-05-07 Robert Millan <rmh@aybabtu.com>
21271
21272 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
21273 devices.
21274 * util/grub-mkdevicemap.c (get_cciss_disk_name)
21275 (make_device_map): Likewise.
21276 Reported by Roland Dreier <rdreier@cisco.com>
21277
7f8866ed 212782008-05-07 Robert Millan <rmh@aybabtu.com>
21279
21280 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
21281 grub_strstr() call. Correct a few mistakes in failure path handling.
21282
b0346e0f 212832008-05-06 Robert Millan <rmh@aybabtu.com>
21284
21285 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
21286 Do not print a trailing slash (therefore, the root directory is an
21287 empty string).
21288 (convert_system_path_to_grub_path): Do not remove trailing slash
21289 from make_system_path_relative_to_its_root() output.
21290
21291 * util/i386/pc/grub-install.in: Add trailing slash to output from
21292 make_system_path_relative_to_its_root().
21293
6cf12cbd 212942008-05-06 Robert Millan <rmh@aybabtu.com>
21295
21296 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
21297 ensures that output lines aren't intermangled with those sent to
21298 stderr (via grub_util_info()).
21299 * util/grub-probe.c (grub_refresh): Likewise.
21300 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
21301
0fbb3117 213022008-05-05 Christian Franke <franke@computer.org>
21303
21304 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
21305 Add Cygwin device names.
21306 (get_ide_disk_name) [__CYGWIN__]: Likewise.
21307 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
21308 (check_device): Return error instead of success on empty name.
21309 (make_device_map): Move label inside linux specific code to
21310 prevent compiler warning.
21311
8124cdb7 213122008-04-30 Robert Millan <rmh@aybabtu.com>
21313
21314 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
21315 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
21316 first boot option.
21317 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
21318
094c01d0 213192008-04-29 Robert Millan <rmh@aybabtu.com>
21320
21321 * docs/grub.cfg: New file (example GRUB configuration).
21322
f4b1fc02 213232008-04-26 Robert Millan <rmh@aybabtu.com>
21324
329ce2a5 21325 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
21326 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
21327 and `disk/ieee1275/nand.c'.
f4b1fc02 21328
25f16ec1 213292008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 21330
25f16ec1 21331 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
21332 i386-linuxbios.
21333
21334 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
21335 change the buffer size to 4096 for cdrom device.
21336
21337 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
21338 and nand.mod.
21339 (_linux_mod_SOURCES): New variable.
21340 (_linux_mod_CFLAGS): Likewise.
21341 (_linux_mod_LDFLAGS): Likewise.
21342 (linux_mod_SOURCES): Likewise.
21343 (linux_mod_CFLAGS): Likewise.
21344 (linux_mod_LDFLAGS): Likewise.
21345 (nand_mod_SOURCES): Likewise.
21346 (nand_mod_CFLAGS): Likewise.
21347 (nand_mod_LDFLAGS): Likewise.
21348
21349 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
21350 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
21351 type property. (nand device in olpc don't have this property)
21352
21353 * include/grub/disk.h (grub_disk_dev_id): New macro
21354 GRUB_DISK_DEVICE_NAND_ID.
21355
21356 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
21357 function prototype.
21358 (grub_rescue_cmd_initrd): Likewise.
21359
21360 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
21361 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
21362 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 21363
25f16ec1 21364 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
21365 GRUB_MACHINE_IEEE1275 is defined.
21366
21367 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
21368 Use NESTED_FUNC_ATTR attribute on the hook parameter.
21369
21370 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
21371 on nested function heap_init.
21372 (grub_upper_mem): New variable for i386-ieee1275.
21373 (grub_get_extended_memory): New function for i386-ieee1275.
21374 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
21375
21376 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
21377 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
21378 property.
f19dbdb7 21379
25f16ec1 21380 * loader/i386/ieee1275/linux.c: New file.
21381
21382 * loader/i386/ieee1275/linux_normal.c: New file.
21383
21384 * disk/ieee1275/nand.c: New file.
21385
e89d61e9 213862008-04-18 Thomas Schwinge <tschwinge@gnu.org>
21387
21388 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
21389 value.
21390 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
21391
602566f6 213922008-04-18 Robert Millan <rmh@aybabtu.com>
21393
21394 Restructures early code path on ieee1275 to unify grub_main() as
21395 the first C function that is executed in every platform.
21396
21397 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
21398 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
21399 cmain().
21400 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
21401 * kern/ieee1275/cmain.c (cmain): Rename to ...
21402 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
21403 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
21404 at the beginning.
21405
57490c2b 214062008-04-18 Robert Millan <rmh@aybabtu.com>
21407
21408 * util/update-grub.in: Fix syntax error when setting
21409 `GRUB_PRELOAD_MODULES'.
21410 Reported by Stephane Chazelas <stephane@artesyncp.com>
21411
1977517d 214122008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
21413
21414 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
21415 section into account, newer toolchains generate unique build ids
21416 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 21417 we want build ids to be preserved
1977517d 21418 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
21419 far from other sections don't cause the raw binary images grow
21420 size
21421
bfb1f1a2 214222008-04-15 Robert Millan <rmh@aybabtu.com>
21423
21424 * disk/lvm.c: Update copyright year.
21425 * kern/misc.c: Likewise.
21426
01979850 214272008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
21428
21429 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 21430 there is no memory left for physical volume name.
01979850 21431
0a1150e2 214322008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
21433
21434 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
21435 volume name mapping to support bigger than 9 character names properly.
21436
82ead3fe 214372008-04-13 Robert Millan <rmh@aybabtu.com>
21438
21439 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
21440 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
21441
e54a72f5 214422008-04-13 Christian Franke <franke@computer.org>
21443
21444 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
21445 to create a floppy emulation boot CD when non emulation mode
21446 does not work.
21447 Enable Joliet CD filesystem extension.
21448
9fe86034 214492008-04-13 Robert Millan <rmh@aybabtu.com>
21450
21451 * kern/misc.c (grub_strncat): Fix off-by-one error.
21452 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
21453
21454 * kern/env.c (grub_env_context_close): Clear current context, not
21455 previous one.
21456 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
21457
21458 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
21459
7ceeee39 214602008-04-13 Robert Millan <rmh@aybabtu.com>
21461
21462 Improve robustness when handling LVM.
21463
21464 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 21465 (and leave `*p' unmodified).
7ceeee39 21466 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
21467 through it.
21468 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
21469 iterating through it.
21470 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
21471 through it.
fe6b695a 21472 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 21473 when due) on each grub_lvm_getvalue() or grub_strstr() call.
21474 Don't assume `vg->pvs != NULL' when iterating through it.
21475
58cd3d85 214762008-04-13 Robert Millan <rmh@aybabtu.com>
21477
21478 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
21479 * genmk.rb (partmap): New variable.
21480 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
21481 (#{partmap}): New target rule.
21482 * genpartmaplist.sh: New file.
21483 * Makefile.in (pkglib_DATA): Add partmap.lst.
21484 (partmap.lst): New target rule.
21485 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
21486 modules (including all partition maps), instead of preloading them.
21487
78b51059 214882007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
21489
21490 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
21491 `linux-boot-prober' (if installed) to detect other operating
21492 systems which are installed on the computer and add them to
21493 the boot menu.
21494 * conf/common.rmk: Build and install 30_os-prober.
21495
a91627b4 214962008-04-12 Robert Millan <rmh@aybabtu.com>
21497
21498 * kern/powerpc/ieee1275/init.c: Move from here ...
21499 * kern/ieee1275/init.c: ... to here. Update all users.
21500
21501 * kern/powerpc/ieee1275/cmain.c: Move from here ...
21502 * kern/ieee1275/cmain.c: ... to here. Update all users.
21503
21504 * kern/powerpc/ieee1275/openfw.c: Move from here ...
21505 * kern/ieee1275/openfw.c: ... to here. Update all users.
21506
21507 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
21508 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
21509
322562ea 215102008-04-10 Pavel Roskin <proski@gnu.org>
21511
21512 * configure.ac: Always use "_cv_" in cache variables for
21513 compatibility with Autoconf 2.62.
21514
a02a73c5 215152008-04-07 Robert Millan <rmh@aybabtu.com>
21516
21517 Revert grub/machine/init.h addition by Pavel (since it breaks on
21518 i386-ieee1275 and others):
21519 * util/i386/pc/misc.c: Remove grub/machine/init.h.
21520 * util/powerpc/ieee1275/misc.c: Likewise.
21521
25c024b1 215222008-04-07 Robert Millan <rmh@aybabtu.com>
21523
21524 * util/grub-probe.c (probe): Improve error message.
21525
3cbd2f98 215262008-04-07 Robert Millan <rmh@aybabtu.com>
21527
21528 * util/biosdisk.c (read_device_map): Skip devices that don't exist
21529 (this prevents the presence of a bogus entry from ruining the whole
21530 thing).
21531
87a297bf 215322008-04-06 Pavel Roskin <proski@gnu.org>
21533
36747a62 21534 * util/biosdisk.c: Include grub/util/biosdisk.h.
21535 * util/grub-fstest.c (execute_command): Make static.
21536 * util/grub-mkdevicemap.c (check_device): Likewise.
21537 * util/i386/pc/misc.c: Include grub/machine/init.h.
21538 * util/powerpc/ieee1275/misc.c: Likewise.
21539 * util/lvm.c: Include grub/util/lvm.h.
21540 * util/misc.c: Include grub/kernel.h, grub/misc.h and
21541 grub/cache.h.
21542 * util/raid.c: Include grub/util/raid.h.
21543 (grub_util_getdiskname): Make static.
21544
87a297bf 21545 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
21546 grub_hostfs_fini(), as they are called from grub_init_all() and
21547 grub_fini_all() respectively. This fixes an infinite loop in
21548 grub-fstest due to double registration of hostfs.
21549 Reported by Christian Franke <Christian.Franke@t-online.de>
21550
f6ce7629 215512008-04-05 Pavel Roskin <proski@gnu.org>
21552
21553 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
21554 all 8 functions. Otherwise, probe function 0 only.
21555
070e49e4 215562008-04-04 Pavel Roskin <proski@gnu.org>
21557
8b088a4c 21558 * commands/lspci.c (grub_lspci_iter): Print the bus number
21559 correctly.
21560
4f657021 21561 * commands/lspci.c (grub_pci_classes): Fix typos.
21562 (grub_lspci_iter): Don't print func twice. Print vendor ID
21563 before device ID, as it's normally done.
21564
070e49e4 21565 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
21566 Fix signedness warnings.
21567 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
21568 Likewise.
21569 * util/ieee1275/get_disk_name.c: Include config.h so that
21570 _GNU_SOURCE is defined and getline() is declared. Mark an
21571 unused argument as such. Fix a signedness warning.
21572
ba7328dc 215732008-04-02 Pavel Roskin <proski@gnu.org>
21574
26887f22 21575 * genkernsyms.sh.in: Use more robust assignments for CC and
21576 srcdir. Quote srcdir.
21577 * gensymlist.sh.in: Likewise. Assert at the compile time that
21578 the symbol table is not empty.
21579
ba7328dc 21580 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
21581 * fs/cpio.c (grub_cpio_read): Likewise.
21582
0f582c6b 215832008-04-01 Pavel Roskin <proski@gnu.org>
21584
4b6e1995 21585 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
21586 * disk/host.c (grub_host_open): Likewise.
21587 * disk/loopback.c (grub_loopback_open): Likewise.
21588 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
21589 disk->id as in disk/host.c, not a multi-character constant.
21590
828a2768 21591 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
21592 later is obsolete, potentially dangerous and sets a bad example.
21593 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
21594 * util/misc.c (grub_util_get_image_size): Likewise.
21595
2bb4fb47 21596 * disk/loopback.c (options): Improve help for "--partitions".
21597
0f582c6b 21598 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
21599 options to align them with the short options, e.g. "echo -e".
21600
a33224e0 216012008-03-31 Bean <bean123ch@gmail.com>
21602
21603 * video/reader/png.c (grub_png_data): New member is_16bit and
21604 image_data.
21605 (grub_png_decode_image_header): Detect 16 bit png image.
21606 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
21607 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
21608 (grub_video_reader_png): Release memory occupied by image_data.
21609
21610 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
21611 4096 bytes.
21612 (grub_nfs_mount): Skip the test for sector per cluster.
21613
21614 * include/grub/ntfs.h (MAX_SPC): Removed.
21615
86cb4f54 216162008-03-31 Bean <bean123ch@gmail.com>
21617
21618 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
21619 (grub_probe_SOURCES): Add fs/afs.c.
21620 (grub_fstest_SOURCES): Likewise.
21621 (afs_mod_SOURCES): New variable.
21622 (afs_mod_CFLAGS): Likewise.
21623 (afs_mod_LDFLAGS): Likewise.
21624
21625 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
21626 (grub_emu_SOURCES): Likewise.
21627
21628 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21629
21630 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21631
21632 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21633
21634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21635
21636 * fs/afs.c: New file.
21637
17c74c21 216382008-03-30 Pavel Roskin <proski@gnu.org>
21639
4cb68e89 21640 * disk/host.c: Include grub/misc.h to fix a warning.
21641 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
21642 warnings about implicit declarations.
21643
8790bb04 21644 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
21645 variable.
21646 * include/grub/i386/loader.h: Change declaration of
21647 grub_linux_boot() to match what grub_loader_set() expects.
21648 * util/getroot.c (grub_guess_root_device): Return const char* to
21649 fix a warning.
21650 * util/grub-probe.c (probe): Fix a warning about uninitialized
21651 abstraction_name variable.
21652 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
21653 second argument as unused to fix a warning.
21654
9a3f3296 21655 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
21656 missing grub_error() call.
21657
0ecef90d 21658 * util/update-grub_lib.in: Define datarootdir, since Autoconf
21659 2.60 and newer uses it to define datadir.
21660
0bf6d401 21661 * commands/sleep.c: Fix warning about implicit declaration.
21662 * disk/memdisk.c: Likewise.
21663 * loader/aout.c: Likewise.
21664 * loader/i386/bsd_normal.c: Likewise.
21665 * util/grub-probe.c: Likewise.
21666
7cdacf97 21667 * commands/i386/cpuid.c (has_longmode): Make static.
21668 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
21669 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
21670
17c74c21 21671 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
21672 GDT. This is more robust, as %ds can change.
21673 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
21674 calling real_to_prot().
21675 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
21676
80a3e68b 216772008-03-28 Pavel Roskin <proski@gnu.org>
21678
21679 * kern/i386/pc/startup.S: Assert that uncompressed functions
21680 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
21681 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
21682 code, as they push parts of the code (error handlers) beyond
21683 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
21684 code as correctness and size.
21685
77bcd272 216862008-03-28 Pavel Roskin <proski@gnu.org>
21687
21688 * kern/i386/pc/startup.S
21689 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
21690 data block address to the real mode, keep offset minimal. This
21691 works around a bug in AWARD BIOS on old Athlon systems, which
21692 makes CD detection hang.
21693
c5dfd43b 216942008-03-26 Pavel Roskin <proski@gnu.org>
21695
21696 * normal/color.c (grub_parse_color_name_pair): Make `name' a
21697 const.
21698 * include/grub/normal.h: Add grub_parse_color_name_pair()
21699 declaration.
21700
bf962df2 217012008-03-24 Bean <bean123ch@gmail.com>
21702
21703 * disk/i386/pc/biosdisk.c (cd_start): Removed.
21704 (cd_count): Removed.
21705 (cd_drive): New variable.
21706 (grub_biosdisk_get_drive): Don't check for (cdN) device.
21707 (grub_biosdisk_call_hook): Likewise.
21708 (grub_biosdisk_iterate): Change cdrom detection method.
21709 (grub_biosdisk_open): Replace cd_start with cd_drive.
21710 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
21711 detect cdrom device.
21712
21713 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
21714 Removed.
21715 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
21716 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
21717 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
21718 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
21719 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
21720 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
21721 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
21722 (grub_biosdisk_cdrp): New structure.
21723 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
21724
21725 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
21726
21727 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
21728 device.
21729
21730 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
21731 New function.
21732
68e7fc7a 217332008-03-20 Robert Millan <rmh@aybabtu.com>
21734
21735 Remove 2 TiB limit in ata.mod.
21736 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
21737 (grub_ata_dumpinfo): Print sector count with 0x%llx.
21738 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
21739 grub_uint64_t instead of grub_uint32_t.
21740
38ad2cf5 217412008-03-05 Bean <bean123ch@gmail.com>
21742
21743 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
21744 (grub_multiboot): Set boot device.
21745
21746 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
21747
2b89344e 217482008-03-02 Bean <bean123ch@gmail.com>
21749
21750 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
21751 symlink_buffer.
21752
87a95d1f 217532008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
21754
21755 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
21756 texinfo.tex.
21757
21758 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
21759 modified.
21760
21761 * docs/fdl.texi: New file.
f19dbdb7 21762
87a95d1f 21763 * docs/mdate-sh: New file. Copied from gnulib.
21764 * docs/texinfo.tex: Likewise.
21765
21766 * config.guess: Updated from gnulib.
21767 * install-sh: Likewise.
21768
7dc15d8e 217692008-02-28 Robert Millan <rmh@aybabtu.com>
21770
21771 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
21772 (aout_mod_SOURCES): New variable.
21773 (aout_mod_CFLAGS): Likewise.
21774 (aout_mod_LDFLAGS): Likewise.
21775
21776 * conf/i386-ieee1275.rmk: Likewise.
21777
b00ab696 217782008-02-28 Robert Millan <rmh@aybabtu.com>
21779
21780 * util/update-grub.in: Reorganise terminal validity check. Accept
21781 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
21782 Based on suggestion by Franklin PIAT.
21783
79ca2d78 217842008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
21785
21786 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
21787 function.
21788 * util/getroot.c (grub_util_check_block_device): New function that
21789 returns the given argument if it is a block device and returns NULL else.
21790 * util/grub-probe.c (argument_is_device): New variable.
21791 (probe): Promote device_name from a variable to an argument. Receive
21792 device_name from grub_util_check_block_device() if path is NULL and from
21793 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 21794 (options): Introduce new parameter '-d, --device'.
79ca2d78 21795 (main): Add description of the new parameter to the help screen.
21796 Rename path variable to argument. Set argument_is_device if the '-d'
21797 option is given. Pass argument to probe() depending on
21798 argument_is_device.
21799
0d16e571 218002008-02-24 Bean <bean123ch@gmail.com>
21801
21802 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
21803 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
21804 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
21805 (GRUB_ISO9660_VOLDESC_PART): Likewise.
21806 (GRUB_ISO9660_VOLDESC_END): Likewise.
21807 (grub_iso9660_primary_voldesc): New member escape.
21808 (grub_iso9660_data): New member joliet.
21809 (grub_iso9660_convert_string): New function.
21810 (grub_iso9660_mount): Detect joliet extension.
21811 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
21812 (grub_iso9660_iso9660_label): Likewise.
21813
21814 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
21815 (grub_setup_SOURCES): Add fs/udf.c.
21816 (grub_fstest_SOURCES): Likewise.
21817 (udf_mod_SOURCES): New variable.
21818 (udf_mod_CFLAGS): Likewise.
21819 (udf_mod_LDFLAGS): Likewise.
21820
21821 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
21822 (grub_emu_SOURCES): Likewise.
21823
21824 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21825
21826 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21827
21828 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21829
21830 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21831
21832 * fs/udf.c: New file.
21833
8a594a17 218342008-02-24 Robert Millan <rmh@aybabtu.com>
21835
21836 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
21837 (normal/lexer.c_DEPENDENCIES): New variables.
21838 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
21839 (normal/lexer.c_DEPENDENCIES): Likewise.
21840 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
21841 (normal/lexer.c_DEPENDENCIES): Likewise.
21842 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
21843 (normal/lexer.c_DEPENDENCIES): Likewise.
21844 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
21845 (normal/lexer.c_DEPENDENCIES): Likewise.
21846 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
21847 (normal/lexer.c_DEPENDENCIES): Likewise.
21848
2dc33c03 218492008-02-23 Robert Millan <rmh@aybabtu.com>
21850
21851 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
21852 since they were intended to be in hex. This didn't break previously
21853 because of a bug in gpt_partition_map_iterate() (see below).
21854
21855 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
21856 when checking the validity of GPT header.
21857 Remove `partno', since it always provides the same information as `i'.
21858
f6f4cfb0 218592008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
21860
21861 * include/grub/efi/time.h: Fix a wrong comment.
21862
79ff665f 218632008-02-19 Pavel Roskin <proski@gnu.org>
21864
21865 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
21866 message.
21867
d38e24c2 218682008-02-19 Bean <bean123ch@gmail.com>
21869
21870 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
21871 (aout_mod_SOURCES): New variable.
21872 (aout_mod_CFLAGS): Likewise.
21873 (aout_mod_LDFLAGS): Likewise.
21874 (_bsd_mod_SOURCES): New variable.
21875 (_bsd_mod_CFLAGS): Likewise.
21876 (_bsd_mod_LDFLAGS): Likewise.
21877 (bsd_mod_SOURCES): New variable.
21878 (bsd_mod_CFLAGS): Likewise.
21879 (bsd_mod_LDFLAGS): Likewise.
21880
21881 * include/grub/aout.h: New file.
21882
21883 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
21884
21885 * include/grub/i386/bsd.h: New file.
21886
21887 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
21888 to make it public.
21889
21890 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
21891 function is called, so that it's possible to change it inside the hook.
21892 (grub_elf64_load): Likewise.
21893 (grub_elf_file): Don't close the file if elf header is not found.
21894 (grub_elf_close): Close the file if grub_elf_file fails (The new
21895 grub_elf_file won't close it).
21896 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
21897 (grub_elf64_size): Likewise.
21898
21899 * kern/i386/loader.S (grub_unix_real_boot): New function.
21900
21901 * loader/aout.c: New file.
21902
21903 * loader/i386/bsd.c: New file.
21904
21905 * loader/i386/bsd_normal.c: New file.
21906
21907 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
21908
21909 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 21910 can test other formats.
d38e24c2 21911
b93bdb0f 219122008-02-19 Robert Millan <rmh@aybabtu.com>
21913
21914 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
21915 (grub_gpt_partition_type_empty): Redefine with macro from
21916 `<grub/gpt_partition.h>'.
21917 (gpt_partition_map_iterate): Adjust partition type comparison.
21918
21919 Export `entry' as partmap-specific `part.data' struct.
21920 (grub_gpt_header, grub_gpt_partentry): Move from here ...
21921
21922 * include/grub/gpt_partition.h (grub_gpt_header)
21923 (grub_gpt_partentry): ... to here (new file).
21924
21925 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
21926
21927 (grub_gpt_partition_type_bios_boot): New const variable, defined
21928 with macro from `<grub/gpt_partition.h>'.
21929
21930 (setup): Replace `first_start' with `embed_region', which keeps
21931 track of the embed region (and is partmap-agnostic).
21932
21933 Replace find_first_partition_start() with find_usable_region(),
21934 which finds a usable region for embedding using partmap-specific
21935 knowledge (supports PC/MSDOS and GPT).
21936
21937 Fix all assumptions that the embed region start at sector 1, using
21938 `embed_region.start' from now on. Similarly, use `embed_region.end'
21939 rather than `first_start' to calculate available size.
21940
21941 In grub_util_info() message, replace "into after the MBR" with an
21942 indication of the specific sector our embed region starts at.
21943
66cb40f6 219442008-02-19 Robert Millan <rmh@aybabtu.com>
21945
21946 * DISTLIST: Replace `commands/ieee1275/halt.c' and
21947 `commands/ieee1275/reboot.c' with `commands/halt.c' and
21948 `commands/reboot.c'.
21949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
21950 (halt_mod_SOURCES): Likewise.
21951 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
21952 (halt_mod_SOURCES): Likewise.
21953
b7202015 219542008-02-17 Christian Franke <franke@computer.org>
21955
21956 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
21957
32b0fc49 219582008-02-17 Robert Millan <rmh@aybabtu.com>
21959
21960 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
21961 set `first_start' to 0 for non-PC/MSDOS partition maps.
21962
aca63502 219632008-02-16 Robert Millan <rmh@aybabtu.com>
21964
21965 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
21966 do not assume partition map is PC/MSDOS before performing checks that
21967 are specific to that layout.
21968
0de8be86 219692008-02-13 Robert Millan <rmh@aybabtu.com>
21970
21971 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
21972 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
21973 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
21974
c3db8364 219752008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
21976
21977 * configure.ac: Only a cosmetic change on the handling of
21978 -fno-stack-protector.
21979
f714229e 219802008-02-12 Alexandre Boeglin <alex@boeglin.org>
21981
c3db8364 21982 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
21983 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
21984 reboot.c.
f714229e 21985 (grub_install_SOURCES): Add halt.mod and reboot.mod.
21986 (halt_mod_SOURCES): New variable.
21987 (halt_mod_CFLAGS): Likewise.
21988 (halt_mod_LDFLAGS): Likewise.
21989 (reboot_mod_SOURCES): Likewise.
21990 (reboot_mod_CFLAGS): Likewise.
21991 (reboot_mod_LDFLAGS): Likewise.
21992
c3db8364 21993 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
21994 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
21995 reboot.c.
f714229e 21996 (halt_mod_SOURCES): Likewise.
21997 (reboot_mod_SOURCES): Likewise.
21998
c3db8364 21999 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
22000 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 22001 (reboot_mod_SOURCES): Likewise.
22002
22003 * commands/i386/pc/reboot.c: merge this file ...
22004
22005 * commands/ieee1275/reboot.c: ... and this file ...
22006
22007 * commands/reboot.c: ... to this file.
c3db8364 22008 Add some precompiler directive to include the correct header for
22009 each machine.
f714229e 22010
22011 * commands/ieee1275/halt.c: move this file ...
22012
22013 * commands/halt.c: ... to here.
c3db8364 22014 Add some precompiler directive to include the correct header for
22015 each machine.
f714229e 22016
22017 * include/grub/efi/efi.h (grub_reboot): New function declaration.
22018 (grub_halt): Likewise.
22019
22020 * kern/efi/efi.c (grub_reboot): New function.
22021 (grub_halt): Likewise.
22022
c74493e0 220232008-02-12 Robert Millan <rmh@aybabtu.com>
22024
22025 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
22026 /dev (like it is done for /dev/mapper). This doesn't provide support
22027 for EVMS, but at least it is now easy to identify the problem when it
22028 arises.
22029
d0db4b04 220302008-02-11 Robert Millan <rmh@aybabtu.com>
22031
22032 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
22033 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
22034 comparing it with -1, not 0.
22035
bf748642 220362008-02-10 Robert Millan <rmh@aybabtu.com>
22037
22038 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
22039 `disk/lvm.c'.
22040 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22041 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22042
22043 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
22044 `disk/lvm.c' to the end of the list.
22045 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22046 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22047
b5db202a 220482008-02-10 Robert Millan <rmh@aybabtu.com>
22049
22050 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
22051 grub_print_error() instead. This will let user know why we're entering
22052 rescue mode.
22053 Based on suggestions from Sam Morris.
22054
83abee31 220552008-02-10 Alexandre Boeglin <alex@boeglin.org>
22056
22057 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
22058 on remaining N args, instead of "--" arg N times.
22059
78d5a08b 220602008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
22061
22062 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
22063 (fill_with_default_glyph): Changed to use unknown_glyph for fill
22064 pattern for unknown glyphs.
22065
68807e5f 220662008-02-09 Robert Millan <rmh@aybabtu.com>
22067
22068 * configure.ac: Probe for `help2man'.
22069 * Makefile.in (builddir): New variable.
22070 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
22071 or otherwise add a few flags/options to it.
22072 (install-local): For every executable utility or script that is
22073 installed, invoke $(HELP2MAN) to install a manpage based on --help
22074 output.
22075
22076 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
22077 that it doesn't prevent --help from working in build tree.
22078
22079 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
22080 with `bug-grub@gnu.org'.
22081 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
22082 * util/update-grub.in (usage): New function.
22083 Implement proper argument check, with support for --help and --version
22084 (as well as existing -y).
22085
220862008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 22087
22088 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
22089 avoid overwriting previous output.
22090 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
22091
c1962162 220922008-02-09 Robert Millan <rmh@aybabtu.com>
22093
22094 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
22095 drawing the menu.
22096
3dac2e3f 220972008-02-09 Robert Millan <rmh@aybabtu.com>
22098
22099 * commands/sleep.c: New file.
22100 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
22101 (sleep_mod_SOURCES): New variable.
22102 (sleep_mod_CFLAGS): Likewise.
22103 (sleep_mod_LDFLAGS): Likewise.
22104
7a634e08 221052008-02-09 Robert Millan <rmh@aybabtu.com>
22106
22107 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
22108 situations in which we can deduce the RAID size and the superblock
22109 doesn't match it.
22110
b92f0c18 221112008-02-09 Robert Millan <rmh@aybabtu.com>
22112
22113 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
22114 and return a grub_diskmemberlist_t composed of LVM physical volumes.
22115 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
22116
22117 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
22118 and return a grub_diskmemberlist_t composed of physical array members.
22119 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
22120
22121 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
22122 prototype.
22123 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
22124 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
22125 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
22126
22127 * util/grub-probe.c (probe): Move partmap probing code from here ...
22128 (probe_partmap): ... to here.
22129 (probe): Use probe_partmap() once for the disk we're probing, and
22130 additionally, when such disk contains a memberlist() struct member,
22131 once for each disk that is contained in the structure returned by
22132 memberlist().
22133
91a4bf68 221342008-02-09 Robert Millan <rmh@aybabtu.com>
22135
22136 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
22137 environment variable to 'all' in order to obtain debug output from
22138 non-util/ code.
22139 * util/i386/pc/grub-setup.c (main): Likewise.
22140
a96f9caa 221412008-02-08 Robert Millan <rmh@aybabtu.com>
22142
22143 * disk/raid.c (grub_raid_scan_device): Check for
22144 `array->device[sb.this_disk.number]' rather than for
22145 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 22146 guaranteed to be accessible.
a96f9caa 22147
b37a9222 221482008-02-08 Robert Millan <rmh@aybabtu.com>
22149
22150 * disk/raid.c: Update copyright.
22151 * fs/cpio.c: Likewise.
22152 * include/grub/raid.h: Likewise.
22153 * loader/i386/pc/multiboot.c: Likewise.
22154 * util/hostfs.c: Likewise.
22155
5626aee1 221562008-02-08 Robert Millan <rmh@aybabtu.com>
22157
22158 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
22159 to a grub_disk_t array.
22160 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
22161 `device[x]'.
22162 (grub_raid_scan_device): Replace `device[x].name' accesses with
22163 `device[x]->name'. Simplify initialization of `array->device[x]'.
22164
554f0187 221652008-02-08 Robert Millan <rmh@aybabtu.com>
22166
22167 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
22168 grub_dprintf() calls.
22169 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
22170 error message.
22171
1ec8425d 221722008-02-07 Christian Franke <franke@computer.org>
22173
22174 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
22175 instead of fseek and ftell to support large files.
22176 (grub_hostfs_read): Likewise.
22177
f2156fda 221782008-02-07 Robert Millan <rmh@aybabtu.com>
22179
22180 Patch from Jeroen Dekkers.
22181 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 22182 failure, since successfully reading all array members might not be
f2156fda 22183 required.
22184
9216e0e7 221852008-02-06 Robert Millan <rmh@aybabtu.com>
22186
22187 * util/grub-probe.c (probe): Simplify partmap probing (with the
22188 assumption that the first word up to the underscore equals to
22189 the module name).
22190
b0dfd29a 221912008-02-06 Christian Franke <franke@computer.org>
22192
22193 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
22194 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
22195 last block of a cpio or tar stream.
22196 Check for "TRAILER!!!" instead of any empty data
22197 block to detect last block of a cpio stream.
22198 (grub_cpio_dir): Fix constness of variable np.
22199 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
22200 cpio or tar trailer is detected. This fixes a crash
22201 on open of a non existing file.
22202
c32865bf 222032008-02-05 Bean <bean123ch@gmail.com>
22204
22205 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
22206 address of entry.
22207 (grub_multiboot_load_elf64): Likewise.
22208 (grub_multiboot): Initialize mbi structure.
22209
22210 * util/grub-fstest.c: Don't include unused header file script.h.
22211
fe6b695a 22212 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 22213 of file.
22214 (grub_fstest_SOURCES): Likewise.
22215
409480b7 222162008-02-05 Robert Millan <rmh@aybabtu.com>
22217
22218 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
22219 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
22220 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
22221 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
22222
22223 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
22224 (translation_table): Replace hardcoded values with macros
22225 provided by `<grub/term.h>'.
22226
22227 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
22228 (keyboard_map): Correct/add a few values, with macros provided
22229 by `<grub/term.h>'.
22230 (keyboard_map_shift): Zero values that don't differ from their
22231 `keyboard_map' equivalents.
22232 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
22233 Discard the second scan code that is always sent by Caps lock.
22234 Only use `keyboard_map_shift' when it provides a non-zero value,
22235 otherwise fallback to `keyboard_map'.
22236
99fadbaa 222372008-02-04 Bean <bean123ch@gmail.com>
22238
22239 * Makefile.in (enable_grub_fstest): New variable.
22240
22241 * conf/common.rmk (grub_fstest_init.lst): New rule.
22242 (grub_fstest_init.h): Likewise.
22243 (grub_fstest_init.c): Likewise.
22244 (util/grub-fstest.c_DEPENDENCIES): New variable.
22245 (grub_fstest_SOURCES): Likewise.
22246
22247 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
22248
22249 * util/grub-fstest.c: New file.
22250
bf567c50 222512008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
22252
22253 Make grub-setup handle a separate root device.
f19dbdb7 22254
bf567c50 22255 * util/i386/pc/grub-setup.c (setup): Always open the root device,
22256 so that the root device can be compared with the destination
22257 device.
22258 When embedding the core image, if the root and destination devices
22259 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
22260 0xFF.
22261 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 22262
9be6b98b 222632008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
22264
22265 Add support for having a grub directory in a different drive. This
22266 is still only the data handling part.
f19dbdb7 22267
9be6b98b 22268 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
22269 (codestart): Save %dh in GRUB_ROOT_DRIVE.
22270 (grub_root_drive): New variable.
22271
22272 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
22273 instead of GRUB_BOOT_DRIVE to construct a device name. Set
22274 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
22275 as it was.
22276
22277 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
22278
22279 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
22280 macro.
22281 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
22282
22283 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
22284 is bogus, because PXE booting does not specify any drive
22285 correctly.
22286
22287 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
22288 am not sure if this is really correct.
22289
22290 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
22291 is always identical to the boot drive when booting from a CD.
22292
22293 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
22294 longer.
22295 (root_drive): New variable.
22296 (real_start): Unconditionally set %dh to ROOT_DRIVE.
22297 (setup_sectors): Push %dx right after popping it, because %dh will
22298 be modified later.
22299 (copy_buffer): Restore %dx.
22300
e0ca0677 223012008-02-03 Robert Millan <rmh@aybabtu.com>
22302
22303 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
22304 use `cdboot.img' for cdrom images.
22305
3b3f6629 223062008-02-03 Robert Millan <rmh@aybabtu.com>
22307
22308 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
22309 only setup gfxterm when `font' command has succeeded.
22310
d42b3672 223112008-02-03 Robert Millan <rmh@aybabtu.com>
22312
22313 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
22314 (grub_rescue_cmd_multiboot_loader)
22315 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
22316
fa370ea6 223172008-02-03 Pavel Roskin <proski@gnu.org>
22318
e0c5dacb 22319 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 22320 %edx and %esi from stack only after grub_gate_a20() is called.
22321 grub_gate_a20() clobbers %edx.
22322
f2a76e1d 223232008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
22324
22325 * configure.ac (AC_INIT): Bumped to 1.96.
22326
22327 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
22328 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
22329 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
22330 video/readers/png.c.
22331
90fd32d1 223322008-02-03 Bean <bean123ch@gmail.com>
9be665dd 22333
22334 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
22335 (cdboot_img_SOURCES): New variable.
22336 (cdboot_img_ASFLAGS): New variable.
22337 (cdboot_img_LDFLAGS): New variable.
22338
22339 * boot/i386/pc/cdboot.S: New file.
22340
22341 * disk/i386/pc/biosdisk.c (cd_start): New variable.
22342 (cd_count): Likewise.
22343 (grub_biosdisk_get_drive): Add support for cd device.
22344 (grub_biosdisk_call_hook): Likewise.
22345 (grub_biosdisk_iterate): Likewise.
22346 (grub_biosdisk_open): Likewise.
22347 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
22348 (grub_biosdisk_rw): Support reading from cd device.
22349 (GRUB_MOD_INIT): Iterate cd devices.
22350
22351 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
22352 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
22353 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
22354
22355 * kern/i386/pc/init.c (make_install_device): Check for cd device.
22356
4020aa53 223572008-02-02 Robert Millan <rmh@aybabtu.com>
22358
22359 * commands/read.c: New file.
22360 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
22361 (read_mod_SOURCES): New variable.
22362 (read_mod_CFLAGS): Likewise.
22363 (read_mod_LDFLAGS): Likewise.
22364
e03a1132 223652008-02-02 Robert Millan <rmh@aybabtu.com>
22366
22367 * normal/main.c (grub_normal_execute): Check for `menu->size' when
22368 determining whether menu has to be displayed.
22369
58c69220 223702008-02-02 Marco Gerards <marco@gnu.org>
22371
22372 * bus/pci.c: New file.
22373
22374 * include/grub/pci.h: Likewise.
22375
22376 * include/grub/i386/pc/pci.h: Likewise.
22377
22378 * commands/lspci.c: Likewise.
22379
22380 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
22381 `lspci.mod'.
22382 (pci_mod_SOURCES): New variable.
22383 (pci_mod_CFLAGS): Likewise.
22384 (pci_mod_LDFLAGS): Likewise.
22385 (lspci_mod_SOURCES): Likewise.
22386 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 22387 (lspci_mod_LDFLAGS): Likewise.
58c69220 22388
c004e1b4 223892008-02-02 Bean <bean123ch@gmail.com>
22390
22391 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
22392 (grub_ufs_get_file_block): Fix indirect block calculation problem.
22393
22394 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
22395 (grub_xfs_btree_node): New structure.
22396 (grub_xfs_btree_root): New structure.
22397 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
22398 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
22399 (GRUB_XFS_EXTENT_BLOCK): Likewise.
22400 (GRUB_XFS_EXTENT_SIZE): Likewise.
22401 (grub_xfs_read_block): Support btree format type.
22402 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
22403 Use directory block as basic unit.
22404
22405 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
22406
22407 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
22408 __attribute__ ((__regparm__ (1))).
22409
f95562bf 224102008-02-01 Robert Millan <rmh@aybabtu.com>
22411
22412 Correct a mistake in previous commit.
22413
22414 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
22415 top.
22416 (normal/command.c_DEPENDENCIES): New variable.
22417
7d31f41f 224182008-02-01 Robert Millan <rmh@aybabtu.com>
22419
22420 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
22421 top.
22422 (normal/command.c_DEPENDENCIES): New variable.
22423 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
22424 * conf/i386-ieee1275.rmk: Likewise.
22425 * conf/i386-linuxbios.rmk: Likewise.
22426 * conf/i386-pc.rmk: Likewise.
22427 * conf/sparc64-ieee1275.rmk: Likewise.
22428 * conf/powerpc-ieee1275.rmk: Likewise.
22429 (grub_emu_SOURCES): Add `fs/fshelp.c'.
22430
22431 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
22432
60b6be74 224332008-02-01 Robert Millan <rmh@aybabtu.com>
22434
22435 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
22436 call at beginning of function.
22437
078522ab 224382008-01-31 Pavel Roskin <proski@gnu.org>
22439
22440 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 22441 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
22442 (grub_mkrescue_SOURCES): Likewise.
078522ab 22443 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
22444
ccaa8a5f 224452008-01-30 Robert Millan <rmh@aybabtu.com>
22446
22447 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
22448 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
22449 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
22450 (grub_probe_SOURCES): ... to here.
22451
22452 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
22453 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
22454 * conf/i386-ieee1275.rmk: Likewise.
22455 * conf/i386-linuxbios.rmk: Likewise.
22456 * conf/powerpc-ieee1275.rmk: Likewise.
22457
ae5a9cd7 224582008-01-30 Tristan Gingold <gingold@free.fr>
22459
22460 * kern/rescue.c: Silently accept empty lines.
22461
70bc2ef2 224622008-01-29 Bean <bean123ch@gmail.com>
22463
22464 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
22465 (real_code_2): Code cleanup and change comment style.
22466 (move_memory): Avoid using 32-bit address mode.
22467
6a4d50ea 224682008-01-29 Bean <bean123ch@gmail.com>
22469
22470 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
22471 (png_mod_SOURCES): New variable.
22472 (png_mod_CFLAGS): Likewise.
22473 (png_mod_LDFLAGS): Likewise.
22474
22475 * video/readers/png.c: New file.
22476
11cc30ac 224772008-01-28 Robert Millan <rmh@aybabtu.com>
22478
22479 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
22480 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
22481 `ifndef GRUB_MOD_GAP' hack.
22482 * util/elf/grub-mkimage.c (add_segments): Likewise.
22483
3abc589f 224842008-01-27 Robert Millan <rmh@aybabtu.com>
22485
22486 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
22487 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 22488 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 22489
e1907778 224902008-01-27 Robert Millan <rmh@aybabtu.com>
22491
22492 Get grub-emu to build again (including parallel builds).
22493
22494 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
22495 Split into ...
22496 (util/grub-emu.c_DEPENDENCIES): ... this, ...
22497 (normal/execute.c_DEPENDENCIES): ... this, ...
22498 (grub-emu_DEPENDENCIES): ... and this.
22499
22500 * conf/i386-efi.rmk: Likewise.
22501 * conf/i386-linuxbios.rmk: Likewise.
22502 * conf/i386-ieee1275.rmk: Likewise.
22503 * conf/powerpc-ieee1275.rmk: Likewise.
22504 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
22505
2216b101 225062008-01-27 Robert Millan <rmh@aybabtu.com>
22507
22508 * NEWS: Add a few items.
22509
f75172d9 225102008-01-27 Robert Millan <rmh@aybabtu.com>
22511
22512 Fix parallel builds with grub-emu. Based on earlier commit for
22513 grub-probe and grub-setup.
22514
22515 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
22516 (util/grub-emu.c_DEPENDENCIES): ... this.
22517 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
22518 (util/grub-emu.c_DEPENDENCIES): ... this.
22519 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
22520 (util/grub-emu.c_DEPENDENCIES): ... this.
22521 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
22522 (util/grub-emu.c_DEPENDENCIES): ... this.
22523 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
22524 (util/grub-emu.c_DEPENDENCIES): ... this.
22525
3f51de77 225262008-01-27 Pavel Roskin <proski@gnu.org>
22527
22528 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
22529 to create a gap between _end and the modules added to the image
22530 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
22531 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
22532 * util/elf/grub-mkimage.c (add_segments): Likewise.
22533
2033f53e 225342008-01-26 Pavel Roskin <proski@gnu.org>
22535
22536 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
22537 just return an error.
22538
22da1f6f 225392008-01-26 Bean <bean123ch@gmail.com>
22540
22541 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
22542 (grub_reiserfs_get_item): Save offset of the next item.
22543 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
22544
2a9525e6 225452008-01-25 Robert Millan <rmh@aybabtu.com>
22546
22547 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
22548 make all filesystem sources appear together (possibly fixing omissions
22549 while at it).
22550 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22551 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22552 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22553 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22554
22555 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
22556 add `kern/file.c'.
22557 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
22558 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
22559 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
22560 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
22561
22562 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
22563 (probe): Add a sanity check to make sure of our ability to read
22564 requested files when probing for filesystem type.
22565
22566 * genmk.rb: Update copyright year (2007).
22567
22568 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
22569 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
22570 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
22571 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
22572 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
22573 : Remove function prototypes.
22574
b95f71b5 225752008-01-25 Robert Millan <rmh@aybabtu.com>
22576
22577 Revert my previous commits (based on wrong assumption of how grub_errno
22578 works).
22579
fe6b695a 22580 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 22581 * kern/file.c (grub_file_open): Likewise.
22582
d08bbb49 225832008-01-24 Pavel Roskin <proski@gnu.org>
22584
22585 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
22586 that hang if GRUB tries to setup colors.
22587 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
22588 colors for firmwares that don't support it.
22589 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
22590 Recognize Open Hack'Ware, set flags to work around its
22591 limitations.
22592
605e36ed 225932008-01-24 Robert Millan <rmh@aybabtu.com>
22594
22595 * kern/file.c (grub_file_open): Do not account previous failures of
22596 unrelated functions when grub_errno is checked for.
22597 Reported by Oleg Strikov.
22598
bac332a1 225992008-01-24 Bean <bean123ch@gmail.com>
22600
22601 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
22602 (grub_ufs_sblock): New member volume name.
22603 (grub_ufs_find_file): Fix string copy bug.
22604 (grub_ufs_label): Implement this function properly.
22605
22606 * fs/hfs.c (grub_hfs_cnid_type): New enum.
22607 (grub_hfs_iterate_records): Use the correct file number for extents
22608 and catalog file. Fix problem in next index calculation.
22609 (grub_hfs_find_node): Replace recursive function call with loop.
22610 (grub_hfs_iterate_dir): Replace recursive function call with loop.
22611
15c80c09 226122008-01-23 Robert Millan <rmh@aybabtu.com>
22613
22614 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
22615 `<grub/symbol.h>' and `<grub/multiboot.h>'.
22616 (grub_multiboot2_real_boot): New function prototype.
22617
22618 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
22619 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
22620
22621 * kern/i386/ieee1275/init.c (grub_os_area_addr)
22622 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
22623
305338fd 226242008-01-23 Robert Millan <rmh@aybabtu.com>
22625
22626 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
22627 #ifdef'ed out grub_printf().
22628
3ea52685 226292008-01-23 Robert Millan <rmh@aybabtu.com>
22630
22631 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
22632 grub_dprintf calls, since they make "debug=all" mode unusable.
22633 (grub_console_checkkey): Likewise.
22634
5882ae4b 226352008-01-23 Robert Millan <rmh@aybabtu.com>
22636
22637 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
22638 `term/i386/pc/at_keyboard.c'.
22639 (pkglib_MODULES): Add `serial.mod'.
22640 (serial_mod_SOURCES): New variable.
22641 (serial_mod_CFLAGS): Likewise.
22642 (serial_mod_LDFLAGS): Likewise.
22643
22644 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
22645 `<grub/powerpc/ieee1275/console.h>'.
22646 (grub_keyboard_controller_init): New function prototype.
22647 (grub_console_checkkey): Likewise.
22648 (grub_console_getkey): Likewise.
22649
22650 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
22651 keyboard on i386.
22652
22653 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
22654 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
22655
06ab5303 226562008-01-23 Robert Millan <rmh@aybabtu.com>
22657
22658 * kern/i386/pc/init.c (make_install_device): When memdisk image is
22659 present, "(memdisk)/boot/grub" becomes the default prefix.
22660
22661 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
22662 a memdisk tarball with all the modules. Add --overlay=DIR option that
22663 allows users to overlay additional files into the image.
22664
dbb475a4 226652008-01-23 Robert Millan <rmh@aybabtu.com>
22666
22667 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
22668 and `machine/memory.h'.
22669 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
22670 (_multiboot_mod_SOURCES): New variable.
22671 (_multiboot_mod_CFLAGS): Likewise.
22672 (_multiboot_mod_LDFLAGS): Likewise.
22673 (multiboot_mod_SOURCES): Likewise.
22674 (multiboot_mod_CFLAGS): Likewise.
22675 (multiboot_mod_LDFLAGS): Likewise.
22676
22677 * include/grub/i386/ieee1275/loader.h: New file.
22678
22679 * include/grub/i386/ieee1275/machine.h: Likewise.
22680
22681 * include/grub/i386/ieee1275/memory.h: Likewise.
22682
22683 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
22684 variable declaration.
22685 (grub_os_area_size): Likewise.
22686
22687 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
22688 (grub_lower_mem, grub_upper_mem): New variables.
22689 (grub_stop_floppy): New function (just to make
22690 grub_multiboot2_real_boot() happy).
22691
22692 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
22693 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
22694 (grub_stop): New function.
22695 Include `"../realmode.S"' and `"../loader.S"'.
22696
22697 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
22698 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
22699
22700 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
22701 rely on grub_multiboot2_real_boot() for final boot.
22702
25638629 227032008-01-22 Robert Millan <rmh@aybabtu.com>
22704
22705 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
22706 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
22707 device that doesn't look like an SD card.
22708 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
22709 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
22710 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
22711 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
22712 found.
22713
9dad816d 227142008-01-22 Robert Millan <rmh@aybabtu.com>
22715
22716 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
22717 avoid claiming over our own code.
22718
34842f2d 227192008-01-22 Bean <bean123ch@gmail.com>
22720
22721 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
22722 (jpeg_mod_SOURCES): New variable.
22723 (jpeg_mod_CFLAGS): Likewise.
22724 (jpeg_mod_LDFLAGS): Likewise.
22725
22726 * video/readers/jpeg.c : New file.
22727
44023a28 227282008-01-22 Bean <bean123ch@gmail.com>
22729
22730 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
22731 there are no more items.
22732
bc2d8ac6 227332008-01-21 Robert Millan <rmh@aybabtu.com>
22734
22735 * kern/mm.c (grub_mm_init_region): Improve debug message.
22736
261bd4bc 227372008-01-21 Robert Millan <rmh@aybabtu.com>
22738
22739 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
22740 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
22741 address.
22742 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
22743 a C macro.
22744 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
22745 Indicates start of upper memory.
22746 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
22747 (generate_image): Abort when image size is big enough to corrupt
22748 upper memory.
22749
22750 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
22751 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
22752 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
22753 instead of hardcoding 0xA0000.
22754 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
22755 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
22756 instead of hardcoding 0xA0000.
22757
f970b55e 227582008-01-21 Robert Millan <rmh@aybabtu.com>
22759
22760 * disk/memdisk.c (memdisk_size): New variable.
22761 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
22762 `memdisk_size'.
22763 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
22764 image to dynamic memory.
22765 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
22766 `memdisk_size'. Free memdisk block.
22767
1a8b0526 227682008-01-21 Robert Millan <rmh@aybabtu.com>
22769
22770 Fix detection of very small filesystems (like tar).
22771
22772 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
22773 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
22774 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
22775 a problem with this disk).
22776
6e9b4aab 227772008-01-21 Robert Millan <rmh@aybabtu.com>
22778
22779 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
22780 on grub_biosdisk_rw_standard() error.
22781
0d8837b2 227822008-01-21 Robert Millan <rmh@aybabtu.com>
22783
22784 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
22785 recent changes.
22786 * kern/elf.c: Likewise.
22787 * kern/ieee1275/ieee1275.c: Likewise.
22788 * kern/powerpc/ieee1275/openfw.c: Likewise.
22789 * term/ieee1275/ofconsole.c: Likewise.
22790
ffd36e34 227912008-01-21 Robert Millan <rmh@aybabtu.com>
22792
22793 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
22794
3f0093d0 22795 * include/grub/kernel.h (grub_arch_memdisk_addr)
22796 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 22797
3f0093d0 22798 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
22799 (grub_arch_memdisk_size): ... to here.
ffd36e34 22800
6c391b21 228012008-01-21 Robert Millan <rmh@aybabtu.com>
22802
22803 Mostly based on bugfix from Bean.
22804
22805 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
22806 attribute with hook() parameter.
22807 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
22808 declaration.
22809 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
22810 attribute with hook() parameter.
22811 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
22812 declaration.
22813
55a581dc 228142008-01-21 Robert Millan <rmh@aybabtu.com>
22815
22816 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
22817 (pkglib_MODULES): Add `memdisk.mod'.
22818 (memdisk_mod_SOURCES): New variable.
22819 (memdisk_mod_CFLAGS): Likewise.
22820 (memdisk_mod_LDFLAGS): Likewise.
22821
22822 * disk/memdisk.c: New file.
22823
22824 * include/grub/disk.h (grub_disk_dev_id): Add
22825 `GRUB_DISK_DEVICE_MEMDISK_ID'.
22826
22827 * include/grub/i386/pc/kernel.h
22828 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
22829 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
22830 (grub_kernel_image_size): New variable declaration.
22831 (grub_total_module_size): Likewise.
22832 (grub_memdisk_image_size): Likewise.
22833
22834 * include/grub/i386/pc/memory.h
22835 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
22836
22837 * include/grub/kernel.h: Include `<grub/symbol.h>'.
22838 (grub_arch_memdisk_addr): New variable declaration.
22839 (grub_arch_memdisk_size): Likewise.
22840
22841 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
22842 (grub_arch_memdisk_size): Likewise.
22843
22844 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
22845 (codestart): Replace hardcoded `0x100000' with
22846 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
22847
22848 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
22849 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
22850 not NULL, append the contents of the file it refers to, at the end of
22851 the compressed kernel image. Initialize `grub_memdisk_image_size'
22852 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
22853 (options): Add "memdisk"|'m' option.
22854 (main): Parse --memdisk|-m option, and pass user-provided path as
22855 parameter to generate_image().
22856
3d7f54c9 228572008-01-20 Robert Millan <rmh@aybabtu.com>
22858
22859 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
22860 grub_dprintf() calls from here ...
22861 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
22862
0bf74728 228632008-01-20 Robert Millan <rmh@aybabtu.com>
22864
22865 Fix detection of "real mode" when /options/real-mode? doesn't exist.
22866
22867 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
22868 declaration.
22869 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
22870 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
22871 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 22872 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 22873 property).
22874 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
22875 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
22876
33bf70a7 228772008-01-19 Robert Millan <rmh@aybabtu.com>
22878
fe6b695a 22879 Get rid of confusing function (superseded by
33bf70a7 22880 `grub_ieee1275_get_integer_property')
22881 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
22882 prototype.
22883 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
22884 function.
22885 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
22886 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 22887 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 22888
e2da7d26 228892008-01-19 Robert Millan <rmh@aybabtu.com>
22890
22891 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
22892 command after "shut-down", since implementations differ on which
22893 the command for halt is.
22894
59f1fd8d 228952008-01-19 Robert Millan <rmh@aybabtu.com>
22896
22897 * include/grub/i386/linuxbios/console.h: Add header protection.
22898 (grub_keyboard_controller_init): New function prototype.
22899 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
22900 (KEYBOARD_COMMAND_READ): Likewise.
22901 (KEYBOARD_COMMAND_WRITE): Likewise.
22902 (KEYBOARD_SCANCODE_SET1): Likewise.
22903 (grub_keyboard_controller_write): New function.
22904 (grub_keyboard_controller_read): Likewise.
22905 (grub_keyboard_controller_init): Likewise.
22906
22907 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
22908 (grub_console_init): On coreboot/LinuxBIOS, call
22909 grub_keyboard_controller_init().
22910
5f5a7c15 229112008-01-19 Robert Millan <rmh@aybabtu.com>
22912
22913 PowerPC changes provided by Pavel Roskin.
22914
22915 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
22916 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
22917 don't rely on cmain() doing it.
22918 * kern/i386/ieee1275/startup.S (_start): Store %eax in
22919 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
22920
1210e168 229212008-01-16 Robert Millan <rmh@aybabtu.com>
22922
22923 * include/grub/i386/linuxbios/memory.h
22924 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
22925 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
22926 receive `table_header' as argument. Instead, probe for it in the
22927 known memory ranges where it can be present.
22928 (grub_available_iterate): Do not pass a fixed `table_header' address
22929 to grub_linuxbios_table_iterate().
22930
3d04eab8 229312008-01-15 Robert Millan <rmh@aybabtu.com>
22932
22933 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
22934 * conf/i386-ieee1275.rmk: New file.
22935 * include/grub/i386/ieee1275/console.h: Likewise.
22936 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
22937 * include/grub/i386/ieee1275/kernel.h: Likewise.
22938 * include/grub/i386/ieee1275/time.h: Likewise.
22939 * kern/i386/ieee1275/init.c: Likewise.
22940 * kern/i386/ieee1275/startup.S: Likewise.
22941
d1bc1b73 229422008-01-15 Robert Millan <rmh@aybabtu.com>
22943
22944 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
22945 when pointers are 32-bit (but still do set it to one when they are
22946 64-bit).
22947
66a65807 229482008-01-15 Robert Millan <rmh@aybabtu.com>
22949
22950 * include/grub/ieee1275/ieee1275.h
22951 (grub_ieee1275_get_integer_property): New function prototype.
22952
22953 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
22954 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 22955 grub_ieee1275_get_property() to handle endianness.
66a65807 22956
22957 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
22958 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 22959 where appropriate.
66a65807 22960 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
22961 (grub_map): Likewise.
22962 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
22963
a83ccafd 229642008-01-15 Bean <bean123ch@gmail.com>
22965
22966 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
22967 (grub_script_execute_cmdline): Reset grub_errno.
22968
22969 * normal/main.c (read_config_file): Reset grub_errno.
22970
22971 * normal/parse.y (script_init): New.
22972 (script): Move function and menuentry here.
22973 (delimiter): New.
22974 (command): Add delimiter at the end of command.
22975 (commands): Adjust to match the new command.
22976 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 22977 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 22978 (if): Use the new commands.
22979
22980 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
22981
df6ecfc6 229822008-01-15 Robert Millan <rmh@aybabtu.com>
22983
22984 * normal/menu.c (run_menu): Move timeout message from here ...
22985 (print_timeout): ... to here.
22986 (run_menu): Use print_timeout() once during initial draw to print
22987 the whole message, and again in every clock tick to update only
22988 the number of seconds.
22989
87ae25eb 229902008-01-15 Robert Millan <rmh@aybabtu.com>
22991
22992 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
22993 actual size of `available' from grub_ieee1275_get_property(), and
22994 restrict parsing to that bound.
22995
47bf09a4 229962008-01-15 Christian Franke <franke@computer.org>
22997
22998 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
22999 (argp_program_version): Remove variable.
23000 (argp_program_bug_address): Likewise.
23001 (options): Convert from struct argp_option to struct option.
23002 (struct arguments): Remove.
23003 (parse_opt): Remove.
23004 (usage): New function.
23005 (main): Replace struct args members by simple variables.
23006 Replace argp_parse() by getopt_long().
23007 Add switch to evaluate options.
23008 Add missing "(...)" around root_dev in prefix string.
23009
c86f1469 230102008-01-14 Robert Millan <rmh@aybabtu.com>
23011
23012 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
23013 for grub_ieee1275_exit(), in order to improve portability.
23014
e622c559 230152008-01-14 Robert Millan <rmh@aybabtu.com>
23016
23017 * util/grub.d/10_linux.in (prefix): Define.
23018 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
23019
44cb1ec8 230202008-01-13 Pavel Roskin <proski@gnu.org>
23021
23022 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
23023 grub_errno if no errors have been detected.
23024
1eb8c802 230252008-01-12 Robert Millan <rmh@aybabtu.com>
23026
23027 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
23028 (grub_util_get_dev_abstraction): New function prototype.
23029
23030 * util/getroot.c: Include `<grub/util/getroot.h>'
23031 (grub_util_get_grub_dev): Move detection of abstraction type to ...
23032 (grub_util_get_dev_abstraction): ... here (new function).
23033
23034 * util/grub-probe.c: Convert PRINT_* to an enum. Add
23035 `PRINT_ABSTRACTION'.
23036 (probe): Probe for abstraction type when requested.
23037 (main): Understand `--target=abstraction'.
23038
23039 * util/i386/efi/grub-install.in: Add abstraction module to core
23040 image when it is found to be necessary.
23041 * util/i386/pc/grub-install.in: Likewise.
23042 * util/powerpc/ieee1275/grub-install.in: Likewise.
23043
23044 * util/update-grub_lib.in (font_path): Return system path without
23045 converting to GRUB path.
23046 * util/update-grub.in: Convert system path returned by font_path()
23047 to a GRUB path. Use `grub-probe -t abstraction' to determine what
23048 abstraction module is needed for loading fonts (if any). Export
23049 that as `GRUB_PRELOAD_MODULES'.
23050 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
23051 insmod commands).
23052
52bd3de9 230532008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
23054
23055 Remove some unused code from reiserfs.
f19dbdb7 23056
52bd3de9 23057 * fs/reiserfs.c (struct grub_reiserfs_key)
23058 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
23059 (struct grub_reiserfs_node_body): Removed.
23060 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
23061 Likewise.
23062 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
23063 Likewise.
23064 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
23065 Likewise.
23066 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
23067 Likewise.
23068 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
23069 Likewise.
23070 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
23071 Likewise.
23072 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
23073 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
23074 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
23075
2f80039d 230762008-01-10 Robert Millan <rmh@aybabtu.com>
23077
23078 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
23079 Determines if a file is garbage left by packaging systems, etc.
23080 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
23081 for processing /etc/grub.d scripts.
23082 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
23083 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
23084 as a condition for processing Linux images.
23085
87888032 230862008-01-10 Pavel Roskin <proski@gnu.org>
23087
23088 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
23089 to compile reiserfs.c on PowerPC.
23090
7e54fced 230912008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 23092
23093 * kern/device.c (grub_device_iterate): Do not abort device iteration
23094 when one of the devices cannot be opened.
23095 * kern/disk.c (grub_disk_open): Do not account previous failures of
23096 unrelated functions when grub_errno is checked for.
23097
5aa541e6 230982008-01-08 Robert Millan <rmh@aybabtu.com>
23099
23100 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
23101 `! grub_linux_is_bzimage', change order of address comparison to make
23102 it more intuitive, and improve "too big zImage" error message.
23103
7076340d 231042008-01-08 Robert Millan <rmh@aybabtu.com>
23105
23106 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
23107 `$(update-grub_DATA)'.
23108 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
23109 targets.
23110
9ca70333 231112008-01-07 Robert Millan <rmh@aybabtu.com>
23112
23113 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
23114 which instruction is modified by grub-setup during installation
23115 (since it wasn't obvious by only looking at this file).
23116
38ccf575 231172008-01-07 Robert Millan <rmh@aybabtu.com>
23118
23119 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
23120 listing actual TODO items.
23121
f5db4291 231222008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
23123
868967cf 23124 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
23125 correctly.
23126 (grub_reiserfs_get_key_offset): Likewise.
23127 (grub_reiserfs_set_key_offset): Likewise.
23128 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 23129 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 23130
23131 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
23132 better to remove the bitfield version completely.
f19dbdb7 23133
868967cf 231342008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 23135
f5db4291 23136 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
23137 allocated from the heap, due to the fshelp implementation.
23138 (grub_reiserfs_dir): Free NODE, due to the same reason.
23139
492e6d9d 231402008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
23141
23142 Mostly from Vincent Pelletier:
f19dbdb7 23143
492e6d9d 23144 * fs/reiserfs.c: New file.
f19dbdb7 23145
492e6d9d 23146 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
23147 (reiserfs_mod_SOURCES): New variable.
23148 (reiserfs_mod_CFLAGS): Likewise.
23149 (reiserfs_mod_LDFLAGS): Likewise.
23150
23151 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
23152 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
23153 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
23154 normal/color.c.
23155
9ce3e7c1 231562008-01-06 Robert Millan <rmh@aybabtu.com>
23157
23158 * normal/color.c: Remove `<grub/env.h>'.
23159
f3b58148 231602008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
23161
23162 * include/grub/normal.h: Include <grub/env.h>.
23163
7ac3bcfa 231642008-01-05 Robert Millan <rmh@aybabtu.com>
23165
23166 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
23167 usage example with `(hd0,1)'.
fb358190 23168 Reported by Samuel Thibault.
7ac3bcfa 23169
c8ee99d7 231702008-01-05 Robert Millan <rmh@aybabtu.com>
23171
23172 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
23173 (grub_linux_boot_zimage): Rename to ...
23174 (grub_linux_boot): ... this.
23175 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
23176 (grub_linux_boot_zimage): Conditionalize zImage copy.
23177
23178 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
23179 (grub_linux_boot_bzimage): Remove prototype.
23180 (grub_linux_boot_zimage): Rename to ...
23181 (grub_linux_boot): ... this.
23182
23183 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
23184 (grub_linux_boot): Remove function.
23185
0ece25b1 231862008-01-05 Robert Millan <rmh@aybabtu.com>
23187
23188 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
23189 (grub_env_write_color_highlight): Likewise.
23190 (grub_wait_after_message): Likewise.
23191
23192 * normal/color.c: New file.
23193
23194 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
23195 (normal_mod_DEPENDENCIES): Likewise.
23196
23197 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
23198 (normal_mod_DEPENDENCIES): Likewise.
23199
23200 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
23201 (normal_mod_DEPENDENCIES): Likewise.
23202
23203 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
23204 (normal_mod_DEPENDENCIES): Likewise.
23205
23206 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
23207 for waiting after a message is printed.
23208 * normal/main.c (read_config_file): Likewise.
23209 (grub_normal_init): Register grub_env_write_color_normal() and
23210 grub_env_write_color_highlight() hooks. Mark `color_normal' and
23211 `color_highlight' variables as global.
23212
23213 * normal/menu.c (grub_wait_after_message): New function.
23214 (grub_color_menu_normal): New variable. Replaces ...
23215 (GRUB_COLOR_MENU_NORMAL): ... this macro.
23216 (grub_color_menu_highlight): New variable. Replaces ...
23217 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
23218 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
23219 `GRUB_TERM_COLOR_STANDARD'.
23220 (print_message): Use `grub_setcolorstate' to reload colors. Rename
23221 `normal_code' and `highlight_code' to `old_color_normal' and
23222 `old_color_highlight', respectively.
23223 (grub_menu_init_page): Update colors when drawing the menu, based on
23224 `menu_color_normal' and `menu_color_highlight' variables.
23225 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
23226 a message is printed.
23227
182dd4e5 232282008-01-05 Robert Millan <rmh@aybabtu.com>
23229
23230 * kern/env.c (grub_env_context_open): Propagate hooks for global
23231 variables to new context.
23232
23233 * kern/main.c (grub_set_root_dev): Export `root' variable.
23234
ddf8f6ad 232352008-01-05 Robert Millan <rmh@aybabtu.com>
23236
23237 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 23238 discs unconditionally, since udev and others have options to provide
ddf8f6ad 23239 them.
23240
d8b43d9b 232412008-01-05 Robert Millan <rmh@aybabtu.com>
23242
23243 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
23244
2bff2de3 232452008-01-04 Christian Franke <franke@computer.org>
23246
23247 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
23248 of eisa_mmap.
23249
97eab917 232502008-01-03 Pavel Roskin <proski@gnu.org>
23251
23252 * kern/i386/linuxbios/init.c: Put "void" to all function
23253 declarations with no arguments.
23254 * kern/powerpc/ieee1275/init.c: Likewise.
23255 * term/i386/pc/at_keyboard.c: Likewise.
23256 * term/i386/pc/vga_text.c: Likewise.
23257 * util/grub-mkdevicemap.c: Likewise.
23258
b9416d00 232592008-01-02 Robert Millan <rmh@aybabtu.com>
23260
23261 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
23262 message when loaded image is out of bounds.
23263 (grub_multiboot_load_elf64): Likewise.
23264
92695df9 232652008-01-02 Pavel Roskin <proski@gnu.org>
23266
23267 * util/grub.d/10_linux.in: Try version without ".old" when
23268 looking for initrd. It's better to use initrd from the newer
23269 kernel of the same version than no initrd at all.
23270
d98d9cad 232712008-01-01 Robert Millan <rmh@aybabtu.com>
23272
23273 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
23274
dbfdce36 232752008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
23276
f19dbdb7 23277 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 23278 grub_video_get_active_render_target.
23279 (grub_video_adapter): Added unmap_color and get_active_render_target.
23280
f19dbdb7 23281 * video/video.c: Added grub_video_unmap_color and
dbfdce36 23282 grub_video_get_active_render_target.
23283 (grub_video_get_info): Changed method to accept NULL pointer as an
23284 argument to allow detection of active video adapter.
23285
23286 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
23287 grub_video_vbe_unmap_color_int.
23288 Added grub_video_vbe_unmap_color and
23289 grub_video_vbe_get_active_render_target.
23290 (grub_video_vbe_adapter): Added unmap_color and
23291 get_active_render_target.
23292
f19dbdb7 23293 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 23294 with grub_video_vbe_unmap_color_int.
23295
23296 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
23297 (DEFAULT_NORMAL_COLOR): Likewise.
23298 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
23299 (DEFAULT_FG_COLOR): Removed.
23300 (DEFAULT_BG_COLOR): Likewise.
23301 (DEFAULT_CURSOR_COLOR): Changed value.
23302 (grub_virtual_screen): Added standard_color_setting,
23303 normal_color_setting, highlight_color_setting and term_color.
23304 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
23305 (bitmap_width): Added.
23306 (bitmap_height): Likewise.
23307 (bitmap): Likewise.
23308 (set_term_color): Likewise.
23309 (grub_virtual_screen_setup): Changed to use new terminal coloring
23310 settings.
23311 (grub_gfxterm_init): Added init for bitmap.
23312 (grub_gfxterm_fini): Added destroy for bitmap.
23313 (redraw_screen_rect): Updated to use background bitmap and new
23314 terminal coloring.
23315 (scroll_up): Added optimization for case when there is no bitmap.
23316 (grub_gfxterm_cls): Fixed to use correct background color.
23317 (grub_virtual_screen_setcolorstate): Changed to use new terminal
23318 coloring.
23319 (grub_virtual_screen_setcolor): Likewise.
23320 (grub_virtual_screen_getcolor): Added.
23321 (grub_gfxterm_background_image_cmd): Likewise.
23322 (grub_video_term): Added setcolor and getcolor.
23323 (MOD_INIT): Added registration of background_image command.
23324 (MOD_TERM): Added unregistration for background_image command.
23325
c3c20931 233262007-12-30 Pavel Roskin <proski@gnu.org>
23327
23328 * loader/multiboot_loader.c: Fix multiboot command
23329 unregistration. Fix all typos in the word "multiboot".
23330
df266716 233312007-12-29 Pavel Roskin <proski@gnu.org>
94239199 23332
23333 * util/grub.d/10_linux.in: Refactor search for initrd. Add
23334 support for initrd names used in Fedora.
23335
fc6e896c 233362007-12-26 Bean <bean123ch@gmail.com>
23337
23338 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
23339 (cpio_mod_SOURCES): New variable.
23340 (cpio_mod_CFLAGS): Likewise.
23341 (cpio_mod_LDFLAGS): Likewise.
23342
23343 * fs/cpio.c: New file.
23344
23345 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
23346
23347 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23348
23349 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23350
23351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23352
533110ad 233532007-12-25 Robert Millan <rmh@aybabtu.com>
23354
23355 * include/grub/term.h (struct grub_term): Add `getcolor' function.
23356 (grub_getcolor): New function.
23357
23358 * kern/term.c (grub_getcolor): New function.
23359 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
23360 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
23361 (print_entry): Set normal and highlight colors to
23362 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
23363 respectively, before printing and restore them to old
23364 values afterwards.
23365 (grub_menu_init_page): Likewise. Fill an additional colored space
23366 that would otherwise be left blank.
23367
23368 * term/efi/console.c (grub_console_getcolor): New function.
23369 (struct grub_console_term.getcolor): New variable.
23370 * term/i386/pc/console.c (grub_console_getcolor): New function.
23371 (struct grub_console_term.getcolor): New variable.
23372 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
23373 (struct grub_console_term.getcolor): New variable.
23374
23375 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
23376 (struct grub_console_term.setcolor): Remove variable.
23377 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
23378 (struct grub_console_term.setcolor): Remove variable.
23379 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
23380 (struct grub_console_term.setcolor): Remove variable.
23381 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
23382 (struct grub_console_term.setcolor): Remove variable.
23383
4931827f 233842007-12-25 Robert Millan <rmh@aybabtu.com>
23385
23386 * configure.ac: Search for possible unifont.hex locations, and
23387 define UNIFONT_HEX if found.
23388
23389 * Makefile.in (UNIFONT_HEX): Define variable.
23390 (DATA): Rename to ...
23391 (PKGLIB): ... this. Update all users.
23392 (PKGDATA): New variable.
23393 (pkgdata_IMAGES): Rename to ...
23394 (pkglib_IMAGES): ... this. Update all users.
23395 (pkgdata_MODULES): Rename to ...
23396 (pkglib_MODULES): ... this. Update all users.
23397 (pkgdata_PROGRAMS): Rename to ...
23398 (pkglib_PROGRAMS): ... this. Update all users.
23399 (pkgdata_DATA): Rename to ...
23400 (pkglib_DATA): ... this. Update all users.
23401 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
23402 (unicode.pff, ascii.pff): New rules.
23403 (all-local): Add `$(PKGDATA)' dependency.
23404 (install-local): Process `$(PKGDATA)'.
23405
23406 * util/update-grub_lib.in (font_path): Search for *.pff files in
23407 a few more locations, including `${pkgdata}'.
23408
57e57e31 234092007-12-23 Robert Millan <rmh@aybabtu.com>
23410
23411 Patch from Bean <bean123ch@gmail.com>:
23412 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
23413 `size'.
23414
4bc72aa9 234152007-12-21 Bean <bean123ch@gmail.com>
23416
23417 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
23418 (ntfscomp_mod_SOURCES): New variable.
23419 (ntfscomp_mod_CFLAGS): Likewise.
23420 (ntfscomp_mod_LDFLAGS): Likewise.
23421
23422 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
23423 (grub_probe_SOURCES): Likewise.
23424 (grub_emu_SOURCES): Likewise.
23425
23426 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
23427 (grub_emu_SOURCES): Likewise.
23428
23429 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
23430 (grub_emu_SOURCES): Likewise.
23431
23432 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
23433 (grub_emu_SOURCES): Likewise.
23434
23435 * fs/ntfs.c (grub_ntfscomp_func): New variable.
23436 (read_run_list): Renamed to grub_ntfs_read_run_list.
23437 (decomp_nextvcn): Moved to ntfscomp.c.
23438 (decomp_getch): Likewise.
23439 (decomp_get16): Likewise.
23440 (decomp_block): Likewise.
23441 (read_block): Likewise.
23442 (read_data): Partially moved to ntfscomp.c.
23443 (fixup): Change unsigned to grub_uint16_t.
23444 (read_mft): Change unsigned long to grub_uint32_t.
23445 (read_attr): Likewise.
23446 (read_data): Likewise.
23447 (read_run_data): Likewise.
23448 (read_run_list): Likewise.
23449 (read_mft): Likewise.
23450
23451 * fs/ntfscomp.c: New file.
23452
23453 * include/grub/ntfs.h: New file.
23454
af680a87 234552007-12-16 Robert Millan <rmh@aybabtu.com>
23456
23457 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
23458 IDE disk check, since Linux is known to support 20 IDE disks.
23459 Reported by Colin Watson.
23460
84be7599 234612007-12-15 Bean <bean123ch@gmail.com>
23462
23463 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
23464 (lnxboot_img_SOURCES): New variable.
23465 (lnxboot_img_ASFLAGS): Likewise.
23466 (lnxboot_img_LDFLAGS): Likewise.
23467
23468 * boot/i386/pc/lnxboot.S: New file.
23469
6af9db01 234702007-11-24 Pavel Roskin <proski@gnu.org>
23471
23472 * configure.ac: Test if '--build-id=none' is supported by the
23473 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
23474 objcopy to generate incorrect binary files (binutils
23475 2.17.50.0.18-1 as shipped by Fedora 8).
23476 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
23477 linking, so that build ID doesn't break the test.
23478
7361cfe6 234792007-11-24 Pavel Roskin <proski@gnu.org>
23480
23481 * include/grub/i386/time.h: use "void" in the argument list
23482 of grub_cpu_idle().
23483 * include/grub/powerpc/time.h: Likewise.
23484 * include/grub/sparc64/time.h: Likewise.
23485
1593e10c 234862007-11-18 Christian Franke <franke@computer.org>
23487
23488 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
23489 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
23490 This fixes the problem that function keys did not work in grub-emu.
23491
3b8db1a8 234922007-11-18 Christian Franke <franke@computer.org>
23493
23494 * disk/host.c (grub_host_open): Remove attribute unused from
23495 name parameter. Add check for "host". This fixes the problem
23496 that grub-emu does not find partitions.
23497
2e29408d 234982007-11-18 Christian Franke <franke@computer.org>
23499
23500 * util/hostfs.c (is_dir): New function.
23501 (grub_hostfs_dir): Handle missing dirent.d_type case.
23502 (grub_hostfs_read): Add missing fseek().
23503 (grub_hostfs_label): Clear label pointer. This fixes a crash
23504 of grub-emu on "ls (host)".
23505
398cd047 235062007-11-18 Christian Franke <franke@computer.org>
23507
23508 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
23509 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
23510 to 64 bit boundary by default.
23511
c405c391 235122007-11-18 Bean <bean123ch@gmail.com>
23513
23514 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
23515 (hexdump_mod_SOURCES): New variable.
23516 (hexdump_mod_CFLAGS): Likewise.
23517 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 23518
c405c391 23519 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
23520
23521 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
23522
23523 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
23524
23525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
23526
23527 * include/grub/hexdump.h: New file.
23528
23529 * commands/hexdump.c: New file.
23530
5cced7fd 235312007-11-10 Robert Millan <rmh@aybabtu.com>
23532
23533 * commands/i386/pc/play.c (beep_off): Switch order of arguments
23534 in grub_outb() calls.
23535 (beep_on): Likewise.
23536
8b714eb0 235372007-11-10 Christian Franke <franke@computer.org>
23538
23539 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
23540 (grub_menu_run): Likewise.
23541
ce0f1839 235422007-11-10 Robert Millan <rmh@aybabtu.com>
23543
23544 * include/grub/i386/efi/machine.h: New file.
23545 * include/grub/i386/linuxbios/machine.h: Likewise.
23546 * include/grub/i386/pc/machine.h: Likewise.
23547 * include/grub/powerpc/ieee1275/machine.h: Likewise.
23548 * include/grub/sparc64/ieee1275/machine.h: Likewise.
23549
23550 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
23551 (serial_hw_io_addr): New variable.
23552 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
23553 instead of `(unsigned short *) 0x400'.
23554
270c237d 235552007-11-10 Bean <bean123ch@gmail.com>
23556
23557 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
23558
a87783bf 235592007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
23560
23561 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
23562 (vga_mod_SOURCES): Added.
23563 (vga_mod_CFLAGS): Likewise.
23564 (vga_mod_LDFLAGS): Likewise.
23565
23566 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
23567 grub_outb() calls.
23568 (set_map_mask): Likewise.
23569 (set_read_map): Likewise.
23570 (set_read_address): Likewise.
23571 (vga_font): Removed variable.
23572 (get_vga_glyph): Removed function.
23573 (invalidate_char): Likewise.
23574 (write_char): Changed to use grub_font_get_glyph() for font
23575 information.
23576 (grub_vga_putchar): Likewise.
23577 (grub_vga_getcharwidth): Likewise.
23578
6433b448 235792007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
23580
23581 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
23582 flags.
23583 (pxeboot_img_LDFLAGS): Likewise.
23584 (diskboot_img_LDFLAGS): Likewise.
23585 (kernel_img_LDFLAGS): Likewise.
23586
49178511 235872007-11-06 Robert Millan <rmh@aybabtu.com>
23588
23589 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
23590 in grub_outb() calls.
23591 (serial_hw_init): Likewise.
23592
53b052de 235932007-11-05 Robert Millan <rmh@aybabtu.com>
23594
23595 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
23596 spaces. Skip non-regular files.
23597
5ab33bba 235982007-11-05 Robert Millan <rmh@aybabtu.com>
23599
23600 * kern/disk.c (grub_disk_firmware_fini)
23601 (grub_disk_firmware_is_tainted): New variables.
23602
23603 * include/grub/disk.h (grub_disk_firmware_fini)
23604 (grub_disk_firmware_is_tainted): Likewise.
23605
23606 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
23607 (grub_disk_biosdisk_fini): ... to here.
23608 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
23609 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
23610 is set. Register grub_disk_biosdisk_fini() in
23611 `grub_disk_firmware_fini'.
23612
23613 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
23614 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
23615 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
23616 to finish existing firmware disk interface.
23617
23618 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
23619 (ata_mod_SOURCES): New variable.
23620 (ata_mod_CFLAGS): Likewise.
23621 (ata_mod_LDFLAGS): Likewise.
23622
0149ab7c 236232007-11-05 Robert Millan <rmh@aybabtu.com>
23624
23625 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
23626 (grub_ata_wait): Reimplement using grub_millisleep().
23627
23628 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
23629 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
23630
be7ac41e 236312007-11-03 Marco Gerards <marco@gnu.org>
23632
23633 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
23634 (CRTC_ADDR_PORT): New macro.
23635 (CRTC_DATA_PORT): Likewise.
23636 (CRTC_CURSOR): Likewise.
23637 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23638 (CRTC_CURSOR_ADDR_LOW): Likewise.
23639 (update_cursor): New function.
23640 (grub_console_real_putchar): Call `update_cursor'.
23641 (grub_console_gotoxy): Likewise.
23642 (grub_console_cls): Set the default color when clearing the
23643 screen.
23644 (grub_console_setcursor): Implemented.
23645
bb06ab2e 236462007-11-03 Marco Gerards <marco@gnu.org>
23647
23648 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
23649 become activate.
23650 (grub_ata_pio_write): Likewise.
23651
23652 (grub_atapi_identify): Wait after issuing an ATA command.
23653 (grub_atapi_packet): Likewise.
23654 (grub_ata_identify): Likewise.
23655 (grub_ata_readwrite): Likewise.
23656
cf8f780b 236572007-11-03 Marco Gerards <marco@gnu.org>
23658
23659 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
23660 (grub_ata_pio_write): Likewise.
23661 (grub_ata_readwrite): Use `grub_error', instead of
23662 returning `grub_errno'.
23663
ed649e54 236642007-11-03 Marco Gerards <marco@gnu.org>
23665
23666 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
23667 grub_ata_pio_write once for every single sector, instead of for
23668 multiple sectors.
23669
ca25d8f0 236702007-10-31 Robert Millan <rmh@aybabtu.com>
23671
23672 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
23673
23674 * conf/i386-linuxbios.rmk: New file.
23675
23676 * kern/i386/pc/hardware.c: Likewise.
23677 * term/i386/pc/at_keyboard.c: Likewise.
23678 * term/i386/pc/vga_text.c: Likewise.
23679
23680 * include/grub/i386/linuxbios/boot.h: Likewise.
23681 * include/grub/i386/linuxbios/console.h: Likewise.
23682 * include/grub/i386/linuxbios/init.h: Likewise.
23683 * include/grub/i386/linuxbios/kernel.h: Likewise.
23684 * include/grub/i386/linuxbios/loader.h: Likewise.
23685 * include/grub/i386/linuxbios/memory.h: Likewise.
23686 * include/grub/i386/linuxbios/serial.h: Likewise.
23687 * include/grub/i386/linuxbios/time.h: Likewise.
23688
23689 * kern/i386/linuxbios/init.c: Likewise.
23690 * kern/i386/linuxbios/startup.S: Likewise.
23691 * kern/i386/linuxbios/table.c: Likewise.
23692
e911ecc1 236932007-10-31 Marco Gerards <marco@gnu.org>
23694
23695 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
23696 (ata_mod_SOURCES): New variable.
23697 (ata_mod_CFLAGS): Likewise.
23698 (ata_mod_LDFLAGS): Likewise.
23699
23700 * disk/ata.c: New file.
23701
23702 * include/grub/disk.h (grub_disk_dev_id): Add
23703 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 23704
7f66d0e0 237052007-10-31 Robert Millan <rmh@aybabtu.com>
23706
23707 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
23708 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
23709
23710 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
23711 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
23712
23713 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
23714 `<grub/types.h>'.
23715
23716 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
23717
5cd7dd46 237182007-10-27 Robert Millan <rmh@aybabtu.com>
23719
3236ca65 23720 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 23721
2ebfc90f 237222007-10-22 Robert Millan <rmh@aybabtu.com>
23723
23724 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
23725 `"../realmode.S"'.
23726 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
23727
73fcb0f3 237282007-10-22 Robert Millan <rmh@aybabtu.com>
23729
23730 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
23731 (pkgdata_MODULES): Add `biosdisk.mod'.
23732 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
23733 variables.
23734
23735 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
23736 (grub_biosdisk_init): Replace with ...
23737 (GRUB_MOD_INIT(biosdisk)): ... this.
23738 (grub_biosdisk_fini): Replace with ...
23739 (GRUB_MOD_FINI(biosdisk)): ... this.
23740
23741 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
23742 (grub_machine_init): Remove call to grub_biosdisk_init().
23743 (grub_machine_fini): Remove call to grub_machine_fini().
23744
23745 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
23746
3381d274 237472007-10-22 Robert Millan <rmh@aybabtu.com>
23748
23749 * include/grub/time.h: New file.
23750 * include/grub/i386/time.h: Likewise.
23751 * include/grub/powerpc/time.h: Likewise.
23752 * include/grub/sparc64/time.h: Likewise.
23753
23754 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
23755 instances to ...
23756 (KERNEL_MACHINE_TIME_HEADER): ... this.
23757 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
23758 instances to ...
23759 (KERNEL_MACHINE_TIME_HEADER): ... this.
23760 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
23761 instances to ...
23762 (KERNEL_MACHINE_TIME_HEADER): ... this.
23763
23764 * kern/i386/efi/init.c: Include `<grub/time.h>'.
23765 (grub_millisleep): New function.
23766 * kern/i386/pc/init.c: Include `<grub/time.h>'.
23767 (grub_millisleep): New function.
23768 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
23769 Remove `grub/machine/time.h' include.
23770 (grub_millisleep): New function.
23771 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
23772 Remove `grub/machine/time.h' include.
23773 (grub_millisleep): New function.
23774
23775 * include/grub/misc.h (grub_div_roundup): New function.
23776
23777 * kern/misc.c: Include `<grub/time.h>'.
23778 (grub_millisleep_generic): New function.
23779
23780 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
23781 Add `time.h'.
23782 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
23783 Add `time.h'.
23784 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
23785 `machine/time.h'. Add `time.h'.
23786 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
23787
a39a0312 237882007-10-21 Robert Millan <rmh@aybabtu.com>
23789
23790 * include/grub/misc.h (grub_max): New function.
23791
2aad70e2 237922007-10-21 Robert Millan <rmh@aybabtu.com>
23793
23794 * util/misc.c (grub_util_info): Call fflush() before returning.
23795
54b71c4b 237962007-10-20 Robert Millan <rmh@aybabtu.com>
23797
23798 * genmk.rb (Image): Copy `extra_flags' from here ...
23799 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
23800
23801 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
23802 to `argc' and `args' arguments.
23803
a979f513 238042007-10-17 Robert Millan <rmh@aybabtu.com>
23805
23806 * kern/i386/loader.S: New file.
23807
23808 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
23809 * kern/i386/loader.S (grub_linux_prot_size)... to here.
23810 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
23811 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
23812 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
23813 * kern/i386/loader.S (grub_linux_real_addr)... to here.
23814 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
23815 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
23816 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
23817 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
23818 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
23819 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
23820 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
23821 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
23822
23823 * kern/i386/realmode.S: New file.
23824
23825 * kern/i386/pc/startup.S (protstack): Moved from here ...
23826 * kern/i386/realmode.S (protstack)... to here.
23827 * kern/i386/pc/startup.S (gdt): Moved from here ...
23828 * kern/i386/realmode.S (gdt)... to here.
23829 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
23830 * kern/i386/realmode.S (prot_to_real)... to here.
23831
23832 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
23833 `kern/i386/realmode.S'.
23834
825fc8fd 238352007-10-17 Robert Millan <rmh@aybabtu.com>
23836
23837 * include/grub/i386/loader.h: New file.
23838
23839 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
23840 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
23841 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
23842 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
23843 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
23844 * include/grub/i386/loader.h (grub_linux_prot_size)
23845 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
23846 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
23847 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
23848 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
23849
23850 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
23851
e179b2f4 238522007-10-15 Robert Millan <rmh@aybabtu.com>
23853
23854 * normal/misc.c (grub_normal_print_device_info): Do not probe for
23855 filesystem when dev->disk is unset.
23856 Do probe for filesystem even when dev->disk->has_partitions is set.
23857 In case a filesystem is found, always report it.
23858 In case it isn't, if dev->disk->has_partitions is set, report that
23859 a partition table was found instead of reporting that no filesystem
23860 could be identified.
23861
5db82af6 238622007-10-12 Robert Millan <rmh@aybabtu.com>
23863
23864 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
23865 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
23866
68f6ac74 23867 * include/grub/types.h (grub_host_to_target16): New macro.
23868 (grub_host_to_target32): Likewise.
23869 (grub_host_to_target64): Likewise.
23870 (grub_target_to_host16): Likewise.
23871 (grub_target_to_host32): Likewise.
23872 (grub_target_to_host64): Likewise.
5db82af6 23873
23874 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
23875 Renamed from to ...
23876 (GRUB_MOD_ALIGN): ...this. Update all users.
23877
68f6ac74 23878 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
23879 grub_host_to_target32.
23880 Replace grub_be_to_cpu32 with grub_target_to_host32.
23881 (load_modules): Likewise.
23882 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
23883 Replace grub_be_to_cpu32 with grub_target_to_host32.
23884 Replace grub_cpu_to_be16 with grub_host_to_target16.
23885 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 23886
3cf497cc 238872007-10-12 Robert Millan <rmh@aybabtu.com>
23888
23889 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
23890 * util/elf/grub-mkimage.c: ... here.
23891
23892 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
23893 `util/powerpc/ieee1275/grub-mkimage.c'.
23894
c8cc3692 238952007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 23896
c8cc3692 23897 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
23898 and make it easier to figure out.
23899 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
23900 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
23901 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
23902 leave us with less than HEAP_MIN_SIZE total heap.
23903 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 23904
5c58b791 239052007-10-03 Robert Millan <rmh@aybabtu.com>
23906
23907 * include/grub/i386/io.h: New file.
23908 * commands/i386/pc/play.c (inb): Removed.
23909 (outb): Removed.
23910 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
23911 with grub_outb().
afcd2ef8 23912 * term/i386/pc/serial.c (inb): Removed.
23913 (outb): Removed.
23914 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
23915 with grub_outb().
23916 * term/i386/pc/vga.c (inb): Removed.
23917 (outb): Removed.
23918 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
23919 with grub_outb().
5c58b791 23920
1a477ed6 239212007-10-02 Robert Millan <rmh@aybabtu.com>
23922
23923 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
23924 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23925 Reported by Marcin Kurek.
23926
6b5d80fa 239272007-09-07 Robert Millan <rmh@aybabtu.com>
23928
23929 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
23930 SmartFirmware version updates (as released by Sven Luther), and avoid
23931 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
23932 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
23933 known broken.
23934
5618afbf 239352007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23936
23937 From Hitoshi Ozeki:
23938 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
23939 when merging two regions.
23940
6139dcd9 239412007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23942
508e39ee 23943 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
23944 * normal/completion.c (grub_normal_do_completion): Likewise.
23945 Reported by Hitoshi Ozeki.
23946
239472007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 23948
6139dcd9 23949 Do not use devices at boot in chainloading.
f19dbdb7 23950
6139dcd9 23951 * loader/i386/pc/chainloader.c (boot_drive): New variable.
23952 (boot_part_addr): Likewise.
23953 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
23954 with BOOT_DRIVE and BOOT_PART_ADDR.
23955 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
23956 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
23957
38da6516 239582007-08-29 Robert Millan <rmh@aybabtu.com>
23959
23960 Patch from Simon Peter <dn.tlp@gmx.net>:
23961 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
23962 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
23963 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
23964 util/i386/pc/grub-setup.c_DEPENDENCIES.
23965 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
23966 util/grub-probe.c_DEPENDENCIES.
23967 * conf/powerpc-ieee1275.rmk: Likewise.
23968
29d0928c 239692007-08-28 Robert Millan <rmh@aybabtu.com>
23970
23971 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
23972 to tell grub-mkdevicemap how to name devices.
23973 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
23974 feature).
23975
23976 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
23977 util/i386/get_disk_name.c.
23978 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
23979 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
23980 util/ieee1275/get_disk_name.c.
23981
23982 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
23983
23984 * DISTLIST: Add util/i386/get_disk_name.c and
23985 util/ieee1275/get_disk_name.c.
23986
23987 * util/grub-mkdevicemap.c: Replace device naming logic with
23988 grub_util_get_disk_name() calls.
23989
5a0d3cca 239902007-08-20 Robert Millan <rmh@aybabtu.com>
23991
23992 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
23993 (so that it works for both plural and singular quantities).
23994
8b72db2f 239952007-08-05 Robert Millan <rmh@aybabtu.com>
23996
23997 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
23998 so that [xz] isn't taken into account when determining order.
23999
352466bf 240002007-08-02 Marco Gerards <marco@gnu.org>
24001
24002 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
24003 `include/multiboot2.h', `include/grub/elfload.h',
24004 `include/multiboot.h', `include/grub/multiboot.h',
24005 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
24006 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
24007 `kern/elf.c', `loader/multiboot_loader.c',
24008 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
24009 `loader/i386/pc/multiboot2.c',
24010 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
24011 `util/i386/pc/grub-mkrescue.in'. Remove
24012 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
24013 `include/grub/i386/pc/util/biosdisk.h' and
24014 `include/grub/powerpc/ieee1275/multiboot.h'.
24015
8f096014 240162007-08-02 Bean <bean123ch@gmail.com>
24017
24018 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
24019 (ntfs_mod_SOURCES): New variable.
24020 (ntfs_mod_CFLAGS): Likewise.
24021 (ntfs_mod_LDFLAGS): Likewise.
24022
24023 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
24024 (grub_probe_SOURCES): Likewise.
24025 (grub_emu_SOURCES): Likewise.
24026
24027 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
24028 (grub_emu_SOURCES): Likewise.
24029
24030 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
24031 (grub_emu_SOURCES): Likewise.
f19dbdb7 24032
8f096014 24033 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
24034
24035 * fs/ntfs.c: New file.
24036
9959f7db 240372007-08-02 Bean <bean123ch@gmail.com>
24038
24039 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
24040
24041 * file.h (grub_file): Likewise.
24042
24043 * fshelp.h (grub_fshelp_read_file): Likewise.
24044
24045 * util/i386/pc/grub-setup.c (setup): Likewise.
24046 (save_first_sector): Likewise.
24047 (save_blocklists): Likewise.
f19dbdb7 24048
9959f7db 24049 * fs/affs.c (grub_affs_read_file): Likewise.
24050
24051 * fs/ext2.c (grub_ext2_read_file): Likewise.
24052
24053 * fs/fat.c (grub_fat_read_data): Likewise.
24054
24055 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
24056
24057 * fs/hfs.c (grub_hfs_read_file): Likewise.
24058
24059 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
24060
24061 * fs/jfs.c (grub_jfs_read_file): Likewise.
24062
24063 * fs/minix.c (grub_minix_read_file): Likewise.
24064
24065 * fs/sfs.c (grub_sfs_read_file): Likewise.
24066
24067 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 24068
9959f7db 24069 * fs/xfs.c (grub_xfs_read_file): Likewise.
24070
24071 * command/blocklist.c (read_blocklist): Likewise.
24072 (print_blocklist): Likewise.
24073
0a203f83 240742007-08-02 Marco Gerards <marco@gnu.org>
24075
24076 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
24077 `util/hostfs.c'.
24078
24079 * disk/host.c: New file.
24080
24081 * util/hostfs.c: Likewise.
24082
24083 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
24084 return `GRUB_ERR_BAD_FS'.
24085 * fs/sfs.c (grub_sfs_mount): Likewise.
24086 * fs/xfs.c (grub_xfs_mount): Likewise.
24087
24088 * include/grub/disk.h (enum grub_disk_dev_id): Add
24089 `GRUB_DISK_DEVICE_HOST_ID'.
24090
24091 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
24092
e5dfe777 240932007-07-24 Jerone Young <jerone@gmail.com>
24094
f19dbdb7 24095 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 24096 modules for compilation.
24097 * conf/powerpc-ieee1275.rmk: Likewise.
24098
24099 * include/multiboot.h: Move multiboot definitions to one file. Rename
24100 many definitions to not get grub specific.
24101 * include/multiboot2.h: Create header with multiboot 2 definitions.
24102 * include/grub/multiboot.h: Header for grub specific function
24103 prototypes and definitions.
24104 * include/grub/multiboot2.h: Likewise.
24105 * include/grub/multiboot_loader.h: Likewise.
24106 * include/grub/i386/pc/multiboot.h: Removed.
24107 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
24108
24109 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
24110 and 2 to allow for one multiboot and module commands.
24111 * loader/multiboot2.c: Add multiboot2 functionality.
24112 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
24113 and definition names.
24114 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
24115 2 functions.
24116 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
24117 ieee1275 specific multiboot2 code.
24118
24119 * kern/i386/pc/startup.S: Change headers and definition names for
24120 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
24121
daf0f0ba 241222007-07-22 Robert Millan <rmh@aybabtu.com>
24123
24124 * geninitheader.sh: Process file specified in first parameter rather
24125 than hardcoding grub_modules_init.lst.
fe6b695a 24126 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 24127 than hardcoding grub_modules_init.h.
24128
24129 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
24130 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
24131 grub_probe_init.[ch] and grub_setup_init.[ch].
24132
24133 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
24134 grub_modules_init.h with grub_emu_init.h.
24135 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
24136 grub_probe_init.[ch] files.
24137 * conf/i386-efi.rmk: Likewise.
24138 * conf/i386-pc.rmk: Likewise.
24139 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
24140 grub_setup_init.[ch] files.
24141
24142 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
24143 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
24144 to initialize modules rather than a list of hardcoded functions.
24145 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
24146 grub_init_all() to initialize modules rather than a list of hardcoded
24147 functions.
24148
54cdc1cc 241492007-07-22 Robert Millan <rmh@aybabtu.com>
24150
24151 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24152 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
24153
ad0686cc 241542007-07-22 Robert Millan <rmh@aybabtu.com>
24155
24156 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
24157 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
24158 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
24159 flag when running on SmartFirmware.
24160 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
24161 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
24162 was set.
24163
24164 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
24165 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
24166 rather than decreasing it.
24167
24168 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
24169 there's not enough space to do it, fail in the same way as when it
24170 can't be done because there are no partitions.
24171
24172 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
24173 when nvsetenv failed.
24174
969c02ec 241752007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
24176
24177 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
24178 because this rule is automatically generated.
24179 (grub-mkrescue): Removed for the same reason as above.
24180
5a79f472 241812007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
24182
24183 Migrate to GNU General Public License Version 3.
f19dbdb7 24184
5a79f472 24185 * COPYING: Replaced with the plain text version of GPLv3.
24186
24187 * config.guess: Updated from gnulib.
24188 * config.sub: Likewise.
24189
24190 * geninit.sh: Output a GPLv3 copyright notice.
24191 * geninitheader.sh: Likewise.
24192 * genmodsrc.sh: Likewise.
24193 * gensymlist.sh.in: Likewise.
24194
24195 * boot/i386/pc/boot.S: Upgraded to GPLv3.
24196 * boot/i386/pc/diskboot.S: Likewise.
24197 * boot/i386/pc/pxeboot.S: Likewise.
24198 * commands/blocklist.c: Likewise.
24199 * commands/boot.c: Likewise.
24200 * commands/cat.c: Likewise.
24201 * commands/cmp.c: Likewise.
24202 * commands/configfile.c: Likewise.
24203 * commands/echo.c: Likewise.
24204 * commands/help.c: Likewise.
24205 * commands/ls.c: Likewise.
24206 * commands/search.c: Likewise.
24207 * commands/terminal.c: Likewise.
24208 * commands/test.c: Likewise.
24209 * commands/videotest.c: Likewise.
24210 * commands/i386/cpuid.c: Likewise.
24211 * commands/i386/pc/halt.c: Likewise.
24212 * commands/i386/pc/play.c: Likewise.
24213 * commands/i386/pc/reboot.c: Likewise.
24214 * commands/i386/pc/vbeinfo.c: Likewise.
24215 * commands/i386/pc/vbetest.c: Likewise.
24216 * commands/ieee1275/halt.c: Likewise.
24217 * commands/ieee1275/reboot.c: Likewise.
24218 * commands/ieee1275/suspend.c: Likewise.
24219 * disk/loopback.c: Likewise.
24220 * disk/lvm.c: Likewise.
24221 * disk/raid.c: Likewise.
24222 * disk/efi/efidisk.c: Likewise.
24223 * disk/i386/pc/biosdisk.c: Likewise.
24224 * disk/ieee1275/ofdisk.c: Likewise.
24225 * font/manager.c: Likewise.
24226 * fs/affs.c: Likewise.
24227 * fs/ext2.c: Likewise.
24228 * fs/fat.c: Likewise.
24229 * fs/fshelp.c: Likewise.
24230 * fs/hfs.c: Likewise.
24231 * fs/hfsplus.c: Likewise.
24232 * fs/iso9660.c: Likewise.
24233 * fs/jfs.c: Likewise.
24234 * fs/minix.c: Likewise.
24235 * fs/sfs.c: Likewise.
24236 * fs/ufs.c: Likewise.
24237 * fs/xfs.c: Likewise.
24238 * hello/hello.c: Likewise.
24239 * include/grub/acorn_filecore.h: Likewise.
24240 * include/grub/arg.h: Likewise.
24241 * include/grub/bitmap.h: Likewise.
24242 * include/grub/boot.h: Likewise.
24243 * include/grub/cache.h: Likewise.
24244 * include/grub/device.h: Likewise.
24245 * include/grub/disk.h: Likewise.
24246 * include/grub/dl.h: Likewise.
24247 * include/grub/elfload.h: Likewise.
24248 * include/grub/env.h: Likewise.
24249 * include/grub/err.h: Likewise.
24250 * include/grub/file.h: Likewise.
24251 * include/grub/font.h: Likewise.
24252 * include/grub/fs.h: Likewise.
24253 * include/grub/fshelp.h: Likewise.
24254 * include/grub/gzio.h: Likewise.
24255 * include/grub/hfs.h: Likewise.
24256 * include/grub/kernel.h: Likewise.
24257 * include/grub/loader.h: Likewise.
24258 * include/grub/lvm.h: Likewise.
24259 * include/grub/misc.h: Likewise.
24260 * include/grub/mm.h: Likewise.
24261 * include/grub/net.h: Likewise.
24262 * include/grub/normal.h: Likewise.
24263 * include/grub/parser.h: Likewise.
24264 * include/grub/partition.h: Likewise.
24265 * include/grub/pc_partition.h: Likewise.
24266 * include/grub/raid.h: Likewise.
24267 * include/grub/rescue.h: Likewise.
24268 * include/grub/script.h: Likewise.
24269 * include/grub/setjmp.h: Likewise.
24270 * include/grub/symbol.h: Likewise.
24271 * include/grub/term.h: Likewise.
24272 * include/grub/terminfo.h: Likewise.
24273 * include/grub/tparm.h: Likewise.
24274 * include/grub/types.h: Likewise.
24275 * include/grub/video.h: Likewise.
24276 * include/grub/efi/api.h: Likewise.
24277 * include/grub/efi/chainloader.h: Likewise.
24278 * include/grub/efi/console.h: Likewise.
24279 * include/grub/efi/console_control.h: Likewise.
24280 * include/grub/efi/disk.h: Likewise.
24281 * include/grub/efi/efi.h: Likewise.
24282 * include/grub/efi/pe32.h: Likewise.
24283 * include/grub/efi/time.h: Likewise.
24284 * include/grub/i386/linux.h: Likewise.
24285 * include/grub/i386/setjmp.h: Likewise.
24286 * include/grub/i386/types.h: Likewise.
24287 * include/grub/i386/efi/kernel.h: Likewise.
24288 * include/grub/i386/efi/loader.h: Likewise.
24289 * include/grub/i386/efi/time.h: Likewise.
24290 * include/grub/i386/pc/biosdisk.h: Likewise.
24291 * include/grub/i386/pc/boot.h: Likewise.
24292 * include/grub/i386/pc/chainloader.h: Likewise.
24293 * include/grub/i386/pc/console.h: Likewise.
24294 * include/grub/i386/pc/init.h: Likewise.
24295 * include/grub/i386/pc/kernel.h: Likewise.
24296 * include/grub/i386/pc/loader.h: Likewise.
24297 * include/grub/i386/pc/memory.h: Likewise.
24298 * include/grub/i386/pc/multiboot.h: Likewise.
24299 * include/grub/i386/pc/serial.h: Likewise.
24300 * include/grub/i386/pc/time.h: Likewise.
24301 * include/grub/i386/pc/vbe.h: Likewise.
24302 * include/grub/i386/pc/vbeblit.h: Likewise.
24303 * include/grub/i386/pc/vbefill.h: Likewise.
24304 * include/grub/i386/pc/vbeutil.h: Likewise.
24305 * include/grub/i386/pc/vga.h: Likewise.
24306 * include/grub/ieee1275/ieee1275.h: Likewise.
24307 * include/grub/ieee1275/ofdisk.h: Likewise.
24308 * include/grub/powerpc/libgcc.h: Likewise.
24309 * include/grub/powerpc/setjmp.h: Likewise.
24310 * include/grub/powerpc/types.h: Likewise.
24311 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
24312 * include/grub/powerpc/ieee1275/console.h: Likewise.
24313 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
24314 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24315 * include/grub/powerpc/ieee1275/loader.h: Likewise.
24316 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
24317 * include/grub/powerpc/ieee1275/time.h: Likewise.
24318 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
24319 * include/grub/sparc64/libgcc.h: Likewise.
24320 * include/grub/sparc64/setjmp.h: Likewise.
24321 * include/grub/sparc64/types.h: Likewise.
24322 * include/grub/sparc64/ieee1275/console.h: Likewise.
24323 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24324 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24325 * include/grub/sparc64/ieee1275/time.h: Likewise.
24326 * include/grub/util/biosdisk.h: Likewise.
24327 * include/grub/util/getroot.h: Likewise.
24328 * include/grub/util/lvm.h: Likewise.
24329 * include/grub/util/misc.h: Likewise.
24330 * include/grub/util/raid.h: Likewise.
24331 * include/grub/util/resolve.h: Likewise.
24332 * io/gzio.c: Likewise.
24333 * kern/device.c: Likewise.
24334 * kern/disk.c: Likewise.
24335 * kern/dl.c: Likewise.
24336 * kern/elf.c: Likewise.
24337 * kern/env.c: Likewise.
24338 * kern/err.c: Likewise.
24339 * kern/file.c: Likewise.
24340 * kern/fs.c: Likewise.
24341 * kern/loader.c: Likewise.
24342 * kern/main.c: Likewise.
24343 * kern/misc.c: Likewise.
24344 * kern/mm.c: Likewise.
24345 * kern/parser.c: Likewise.
24346 * kern/partition.c: Likewise.
24347 * kern/rescue.c: Likewise.
24348 * kern/term.c: Likewise.
24349 * kern/efi/efi.c: Likewise.
24350 * kern/efi/init.c: Likewise.
24351 * kern/efi/mm.c: Likewise.
24352 * kern/i386/dl.c: Likewise.
24353 * kern/i386/efi/init.c: Likewise.
24354 * kern/i386/efi/startup.S: Likewise.
24355 * kern/i386/pc/init.c: Likewise.
24356 * kern/i386/pc/lzo1x.S: Likewise.
24357 * kern/i386/pc/startup.S: Likewise.
24358 * kern/ieee1275/ieee1275.c: Likewise.
24359 * kern/powerpc/cache.S: Likewise.
24360 * kern/powerpc/dl.c: Likewise.
24361 * kern/powerpc/ieee1275/cmain.c: Likewise.
24362 * kern/powerpc/ieee1275/crt0.S: Likewise.
24363 * kern/powerpc/ieee1275/init.c: Likewise.
24364 * kern/powerpc/ieee1275/openfw.c: Likewise.
24365 * kern/sparc64/cache.S: Likewise.
24366 * kern/sparc64/dl.c: Likewise.
24367 * kern/sparc64/ieee1275/init.c: Likewise.
24368 * kern/sparc64/ieee1275/openfw.c: Likewise.
24369 * loader/efi/chainloader.c: Likewise.
24370 * loader/efi/chainloader_normal.c: Likewise.
24371 * loader/i386/efi/linux.c: Likewise.
24372 * loader/i386/efi/linux_normal.c: Likewise.
24373 * loader/i386/pc/chainloader.c: Likewise.
24374 * loader/i386/pc/chainloader_normal.c: Likewise.
24375 * loader/i386/pc/linux.c: Likewise.
24376 * loader/i386/pc/linux_normal.c: Likewise.
24377 * loader/i386/pc/multiboot.c: Likewise.
24378 * loader/i386/pc/multiboot_normal.c: Likewise.
24379 * loader/powerpc/ieee1275/linux.c: Likewise.
24380 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
24381 * normal/arg.c: Likewise.
24382 * normal/cmdline.c: Likewise.
24383 * normal/command.c: Likewise.
24384 * normal/completion.c: Likewise.
24385 * normal/execute.c: Likewise.
24386 * normal/function.c: Likewise.
24387 * normal/lexer.c: Likewise.
24388 * normal/main.c: Likewise.
24389 * normal/menu.c: Likewise.
24390 * normal/menu_entry.c: Likewise.
24391 * normal/misc.c: Likewise.
24392 * normal/parser.y: Likewise.
24393 * normal/script.c: Likewise.
24394 * normal/i386/setjmp.S: Likewise.
24395 * normal/powerpc/setjmp.S: Likewise.
24396 * normal/sparc64/setjmp.S: Likewise.
24397 * partmap/acorn.c: Likewise.
24398 * partmap/amiga.c: Likewise.
24399 * partmap/apple.c: Likewise.
24400 * partmap/gpt.c: Likewise.
24401 * partmap/pc.c: Likewise.
24402 * partmap/sun.c: Likewise.
24403 * term/gfxterm.c: Likewise.
24404 * term/terminfo.c: Likewise.
24405 * term/efi/console.c: Likewise.
24406 * term/i386/pc/console.c: Likewise.
24407 * term/i386/pc/serial.c: Likewise.
24408 * term/i386/pc/vesafb.c: Likewise.
24409 * term/i386/pc/vga.c: Likewise.
24410 * term/ieee1275/ofconsole.c: Likewise.
24411 * util/biosdisk.c: Likewise.
24412 * util/console.c: Likewise.
24413 * util/genmoddep.c: Likewise.
24414 * util/getroot.c: Likewise.
24415 * util/grub-emu.c: Likewise.
24416 * util/grub-mkdevicemap.c: Likewise.
24417 * util/grub-probe.c: Likewise.
24418 * util/lvm.c: Likewise.
24419 * util/misc.c: Likewise.
24420 * util/raid.c: Likewise.
24421 * util/resolve.c: Likewise.
24422 * util/update-grub.in: Likewise.
24423 * util/update-grub_lib.in: Likewise.
24424 * util/grub.d/00_header.in: Likewise.
24425 * util/grub.d/10_hurd.in: Likewise.
24426 * util/grub.d/10_linux.in: Likewise.
24427 * util/i386/efi/grub-install.in: Likewise.
24428 * util/i386/efi/grub-mkimage.c: Likewise.
24429 * util/i386/pc/grub-install.in: Likewise.
24430 * util/i386/pc/grub-mkimage.c: Likewise.
24431 * util/i386/pc/grub-mkrescue.in: Likewise.
24432 * util/i386/pc/grub-setup.c: Likewise.
24433 * util/i386/pc/misc.c: Likewise.
24434 * util/powerpc/ieee1275/grub-install.in: Likewise.
24435 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
24436 * util/powerpc/ieee1275/misc.c: Likewise.
24437 * video/bitmap.c: Likewise.
24438 * video/video.c: Likewise.
24439 * video/i386/pc/vbe.c: Likewise.
24440 * video/i386/pc/vbeblit.c: Likewise.
24441 * video/i386/pc/vbefill.c: Likewise.
24442 * video/i386/pc/vbeutil.c: Likewise.
24443 * video/readers/tga.c: Likewise.
24444
3572d015 244452007-07-02 Robert Millan <rmh@aybabtu.com>
24446
24447 * conf/i386-efi.rmk: Replace obsolete reference to
24448 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
24449 with util/getroot.c.
24450 * conf/powerpc-ieee1275.rmk: Likewise.
24451 * conf/sparc64-ieee1275.rmk: Likewise.
24452
24453 * util/grub-emu.c (main): Fix unchecked pointer handling.
24454
2c2a681b 244552007-07-02 Robert Millan <rmh@aybabtu.com>
24456
24457 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
24458 invocation to fail, in order to support partition-less media.
24459
24460 * util/i386/pc/grub-install.in: Likewise.
24461
24462 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
24463 which fs or partmap modules are needed (akin to its sister scripts).
24464
24465 Also use grub-probe to get rid of unportable /proc/mounts check.
24466
24467 Print the same informational message that the other scripts do, before
fe6b695a 24468 exiting.
2c2a681b 24469
6193defe 244702007-06-23 Robert Millan <rmh@aybabtu.com>
24471
fe6b695a 24472 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 24473 a font file can be found and, if so, echo the GRUB path to it.
24474
24475 * util/update-grub.in: Handle multiple terminals depending on user
24476 input, platform availability and font file presence. Propagate
24477 variables of our findings to /etc/grub.d/ children.
24478
24479 * util/grub.d/00_header.in: Handle multiple terminals, based on
24480 environment setup by update-grub.
24481
eface1dc 244822007-06-23 Robert Millan <rmh@aybabtu.com>
24483
ba50d28f 24484 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 24485
bf697e28 244862007-06-21 Robert Millan <rmh@aybabtu.com>
24487
24488 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
24489 indicate end of data section in kernel image.
24490 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
24491 GRUB_KERNEL_MACHINE_DATA_END.
24492
24493 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
24494 space for it.
24495 * kern/i386/efi/startup.S: Likewise.
24496
24497 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
24498 during image generation. Implement --prefix option to override this
24499 patch.
24500 * util/i386/efi/grub-mkimage.c: Likewise.
24501
24502 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
24503 code to make path relative to its root into a separate function.
24504
24505 * util/i386/pc/grub-install.in: Use newly provided
24506 make_system_path_relative_to_its_root() to convert ${grubdir}, then
24507 pass the result to grub-install --prefix.
24508
baa574b4 245092007-06-13 Robert Millan <rmh@aybabtu.com>
24510
24511 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
24512 DEFAULT_DEVICE_MAP.
24513 * util/grub-emu.c: Use above definitions from misc.h instead of
24514 defining them.
24515 * util/grub-mkdevicemap.c: Likewise.
24516 * util/i386/pc/grub-setup.c: Likewise.
24517 * util/grub-probe.c: Likewise.
24518 (probe): Abort with grub_util_error() when either
24519 grub_guess_root_device or grub_util_get_grub_dev fails.
24520
0215dcbf 245212007-06-12 Robert Millan <rmh@aybabtu.com>
24522
24523 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
24524 "pager" assignment.
24525 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
24526 "pcdata".
24527 * util/grub-probe.c (probe): Likewise for "drive_name".
24528
8af2ab7b 245292007-06-11 Robert Millan <rmh@aybabtu.com>
24530
24531 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
24532 not just the cdrom one.
24533
59d31694 245342007-06-11 Robert Millan <rmh@aybabtu.com>
24535
24536 * util/i386/pc/grub-mkrescue.in: Add "set -e".
24537 Add --pkglibdir=DIR option to override pkglibdir.
24538 Mention --image-type=TYPE in help output.
24539 Fix --grub-mkimage (it was a no-op).
fe6b695a 24540 Abort gracefully when no parameter is given.
59d31694 24541
7ee367e4 245422007-06-11 Robert Millan <rmh@aybabtu.com>
24543
24544 * util/i386/pc/grub-mkrescue.in: New file.
24545 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
24546 * Makefile.in: Handle bin_SCRIPTS.
24547
29b0ed46 245482007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
24549
24550 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
24551 list of video modes.
24552
c0f90770 245532007-06-06 Robert Millan <rmh@aybabtu.com>
24554
24555 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
24556 file doesn't exist, or if it is in a filesystem grub can't read.
24557
24558 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
24559 not abort if GRUB_DRIVE could not be defined. Rearrange generated
24560 header comment to fit in 80 columns when the variables are resolved.
24561
24562 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
24563 could be identified by update-grub. Remove redundant check for
fe6b695a 24564 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 24565 handles that).
24566
fb36dc26 245672007-06-04 Robert Millan <rmh@aybabtu.com>
24568
24569 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
24570
24571 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
24572
24573 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
24574
0c68c93e 245752007-06-04 Robert Millan <rmh@aybabtu.com>
24576
24577 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
24578
24579 * include/grub/partition.h: Declare grub_apple_partition_map_init and
24580 grub_apple_partition_map_fini.
24581
24582 * util/biosdisk.c
24583 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
24584 to access >2 TiB disks).
24585
24586 Print disk->total_sectors with %llu instead of %lu, since this
24587 variable is always 64-bit (prevents wrong disk size from being displayed
24588 on either >2 TiB disk or big-endian CPU).
24589
24590 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
24591 into a generic case that supports all (sane) partition maps.
24592
24593 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
24594 breaks big-endian.
24595
24596 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
24597 and grub_apple_partition_map_fini() after that.
24598
0f23eb74 245992007-06-01 Robert Millan <rmh@aybabtu.com>
24600
24601 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
24602
24603 * util/grub.d/00_header.in: Only enable gfxterm when
24604 convert_system_path_to_grub_path() succeeds.
24605
42c71976 246062007-05-20 Robert Millan <rmh@aybabtu.com>
24607
24608 * util/update-grub_lib.in: New file.
24609 * DISTLIST: Add update-grub_lib.in.
24610 * conf/common.rmk: Generate update-grub_lib and install it in
24611 $(lib_DATA).
24612 * Makefile.in: Add install routine for $(lib_DATA).
24613
24614 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
24615 function provided by update-grub_lib to support arbitrary paths of
24616 unifont.pff.
24617 * util/update-grub.in: Use convert_system_path_to_grub_path() to
24618 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
24619
5beb2291 246202007-05-19 Robert Millan <rmh@aybabtu.com>
24621
24622 * commands/i386/cpuid.c: New module.
24623 * DISTLIST: Add it.
24624 * conf/i386-efi.rmk: Enable cpuid.mod.
24625 * conf/i386-pc.rmk: Likewise.
24626
7262eca1 246272007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
24628
24629 * kern/disk.c (grub_disk_read): Check return value of
24630 grub_realloc().
24631
260ba823 246322007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
24633
24634 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
24635 arrays.
24636 * disk/raid.c (grub_raid_open): Likewise.
24637
1ecb6cf2 246382007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
24639
24640 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
24641 stack instead of on the heap.
24642
24643 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
24644 before doing a read on it.
24645
24646 * configure.ac: Only use -fno-stack-protector for the target
24647 environment.
f19dbdb7 24648
21c8cbb1 246492007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
24650
24651 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
24652 __attribute_ ((unused)) to mode_type argument.
24653
24654 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 24655
21c8cbb1 24656 * kern/misc.c (memcmp): Fix prototype.
24657
24658 * include/grub/partition.h [GRUB_UTIL]
24659 (grub_gpt_partition_map_init): Add prototype.
24660 (grub_gpt_partition_map_fini): Likewise.
24661
24662 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
24663 at the right place.
24664
24665 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
24666 (grub_fat_read_data): Likewise.
24667 (grub_fat_find_dir): Likewise.
24668
24669 * font/manager.c (find_glyph): Make table a const.
24670 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 24671
849d55d3 246722007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
24673
24674 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
24675 code, first search for device in /dev/mapper, then in /dev.
24676 (grub_util_get_grub_dev): New function.
24677 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
24678 prototype.
24679 * util/grub-probe.c (probe): Remove check for RAID, call
24680 grub_util_get_grub_dev() instead of
24681 grub_util_biosdisk_get_grub_dev().
24682 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
24683 grub_util_biosdisk_get_grub_dev().
24684 * util/i386/pc/grub-setup.c (main): Likewise.
24685
8fff7c2f 246862007-05-16 Robert Millan <rmh@aybabtu.com>
24687
24688 * DISTLIST: Update for the latest changes.
24689 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
24690 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
24691 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
24692 grub/util/biosdisk.h.
24693 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
24694 grub/util/biosdisk.h.
24695
48e12b52 246962007-05-16 Robert Millan <rmh@aybabtu.com>
24697
24698 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
24699
46b9d128 247002007-05-16 Robert Millan <rmh@aybabtu.com>
24701
24702 * util/i386/efi/grub-install.in: New.
24703 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
24704 newly added grub-install.
24705 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
24706 include.
24707 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
24708 grub/util/biosdisk.h.
24709 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
24710 grub/util/biosdisk.h.
24711
2d1a40a9 247122007-05-16 Robert Millan <rmh@aybabtu.com>
24713
24714 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
24715 * include/grub/util/biosdisk.h: ... here.
24716 * util/i386/pc/biosdisk.c: Moved to ...
24717 * util/biosdisk.c: ... here.
24718 * util/i386/pc/getroot.c: Moved to ...
24719 * util/getroot.c: ... here.
24720 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
24721 * util/grub-mkdevicemap.c: ... here.
24722 * util/i386/pc/grub-probe.c: Moved to ...
24723 * util/grub-probe.c: ... here.
24724
9e26e3bc 247252007-05-15 Robert Millan <rmh@aybabtu.com>
24726
24727 * util/update-grub.in: Remove duplicated line in grub.cfg header
24728 message.
24729
57f96397 247302007-05-13 Robert Millan <rmh@aybabtu.com>
24731
24732 * util/update-grub.in: Fix a few assumptions about the devices holding
24733 /, /boot and /boot/grub being the same.
24734 * util/grub.d/00_header.in: Likewise.
24735 * util/grub.d/10_hurd.in: Likewise.
24736 * util/grub.d/10_linux.in: Likewise.
24737
24738 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
24739 patterns. Use that to define the `.old' suffix as older than `'.
24740
24741 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
24742
24743 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
24744 the grub.cfg header message.
24745
2e610d62 247462007-05-11 Robert Millan <rmh@aybabtu.com>
24747
24748 * util/update-grub.in: Create device.map if it doesn't already exist,
24749 before attempting to run grub-probe.
24750 Check for grub-probe and grub-mkdevicemap with the same code
24751 grub-install is using.
24752 Remove test mode.
24753
3f6a10ef 247542007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
24755
24756 * Makefile.in: Add the datarootdir autoconf variable.
24757
02e7b75e 247582007-05-09 Robert Millan <rmh@aybabtu.com>
24759
24760 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 24761 fail gracefully if dev->disk->partition == NULL.
02e7b75e 24762
75f396cc 247632007-05-07 Robert Millan <rmh@aybabtu.com>
24764
24765 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
24766 determine partition map module.
24767 * util/i386/pc/grub-install.in: Use this feature to decide which
24768 partition module to load, instead of hardcoding pc and gpt.
24769
da65cb36 247702007-05-07 Robert Millan <rmh@aybabtu.com>
24771
24772 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
24773 source directory differs from build directory.
24774
b57d6a91 247752007-05-05 Robert Millan <rmh@aybabtu.com>
24776
24777 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
24778 initialisation.
24779
509d00f1 247802007-05-05 Robert Millan <rmh@aybabtu.com>
24781
24782 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
24783
c48f23ef 247842007-05-05 Robert Millan <rmh@aybabtu.com>
24785
24786 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
24787 command-line arguments via ${GRUB_CMDLINE_LINUX}.
24788
20b97658 247892007-05-05 Robert Millan <rmh@aybabtu.com>
24790
24791 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
24792 (grub_probe_SOURCES): Likewise.
24793 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
24794 GPT and initialize dos_part and bsd_part accordingly.
24795 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
24796 install_bsd_part.
24797 (main): Activate gpt module for use during partition identification,
24798 and deactivate it afterwards.
24799 * util/i386/pc/grub-install.in: Add gpt module to core.img.
24800 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
24801 partition identification, and deactivate it afterwards.
24802
99123174 248032007-05-05 Robert Millan <rmh@aybabtu.com>
24804
24805 * term/i386/pc/console.c (grub_console_fini): Call
24806 grub_term_set_current() before grub_term_unregister().
24807
ebd97f6e 248082007-05-04 Robert Millan <rmh@aybabtu.com>
24809
24810 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
24811 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
24812 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
24813 and update-grub_DATA.
24814 * conf/common.rmk: Build and install update-grub components.
24815 * conf/common.mk: Regenerate.
24816 * util/update-grub.in: New. Core of update-grub.
24817 * util/grub.d/00_header.in: New. Generates grub.cfg header.
24818 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
24819 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
24820 * util/grub.d/README: New. Document grub.d directory layout.
24821
b06a264d 248222007-05-01 Robert Millan <rmh@aybabtu.com>
24823
24824 * util/grub-emu.c: Move initialization functions
24825 grub_util_biosdisk_init() and grub_init_all() before
24826 grub_util_biosdisk_get_grub_dev(), which relies on them.
24827
41f0050e 248282007-04-19 Robert Millan <rmh@aybabtu.com>
24829
24830 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
24831 it is used later.
24832
04582bb3 248332007-04-18 Jerone Young <jerone@gmail.com>
24834
f19dbdb7 24835 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 24836 stanza.
24837
08db4632 248382007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 24839
08db4632 24840 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
24841 continue on and look for device node with real device name.
24842
801b76be 248432007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 24844
fe6b695a 24845 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 24846 ability.
24847 * Makefile.in: Add autoconf package transformation code.
24848 * util/i386/pc/grub-install.in: Likewise.
24849 * util/powerpc/ieee1275/grub-install.in: Likewise.
24850
6795c4e1 248512007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
24852
24853 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
24854 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
24855 (EXT2_REVISION): Likewise.
24856 (EXT2_INODE_SIZE): Likewise.
24857 (struct grub_ext2_block_group): Added a missing member
24858 "used_dirs".
24859 (grub_ext2_read_inode): Divide by the inode size in a superblock
24860 instead of 128 to obtain INODES_PER_BLOCK.
24861 Use the macro EXT2_INODE_SIZE instead of directly using
24862 SBLOCK->INODE_SIZE.
24863
d70af616 248642007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
24865
24866 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
24867 superblock instead of the structure size to compute an
24868 offset. This fixes the problem that GRUB could not read a
24869 filesystem when inode size is different from 128-byte.
24870
3b801603 248712007-03-05 Marco Gerards <marco@gnu.org>
24872
24873 * normal/main.c (read_config_file): When "menu" is not set, create
24874 an initial context.
24875
4785bfe4 248762007-02-21 Hollis Blanchard <hollis@penguinppc.org>
24877
24878 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
24879 (HEAP_LIMIT): New macro.
24880 (grub_claim_heap): Claim memory up to `heaplimit'.
24881
a0cbb023 248822007-02-21 Hollis Blanchard <hollis@penguinppc.org>
24883
24884 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
24885 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
24886 (_start): Likewise.
24887 (grub_arch_modules_addr): Return address after `_end'.
24888 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
24889 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
24890 (add_segments): Calculate `_end' from phdr size and location.
24891 (ALIGN_UP): Moved to ...
24892 * include/grub/misc.h: here.
24893 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
24894 New macro.
24895 (GRUB_IEEE1275_MODULE_BASE): Removed.
24896
fd7d8eba 248972007-02-20 Hollis Blanchard <hollis@penguinppc.org>
24898
24899 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
24900 loop boundary.
24901
9b09e6fc 249022007-02-20 Hollis Blanchard <hollis@penguinppc.org>
24903
24904 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
24905 All users updated.
24906 (grub_elf64_load_hook_t): Likewise.
24907 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
24908 debug output.
24909
3ce27299 249102007-02-20 Hollis Blanchard <hollis@penguinppc.org>
24911
24912 * kern/mm.c: Update copyright.
24913 (grub_mm_debug): Correct syntax error.
24914 (grub_mm_dump_free): New function.
24915 (grub_debug_free): Call `grub_free'.
24916 * include/grub/mm.h: Update copyright.
24917 (grub_mm_dump_free): Add declaration.
24918
077d5fee 249192007-02-12 Hollis Blanchard <hollis@penguinppc.org>
24920
24921 * include/grub/ieee1275/ieee1275.h: Update copyright.
24922 * kern/powerpc/ieee1275/init.c: Likewise.
24923 * kern/powerpc/ieee1275/openfw.c: Likewise.
24924
24925 * loader/powerpc/ieee1275/linux.c: Likewise.
24926 * include/grub/elfload.h: Likewise.
24927 * kern/elf.c: Likewise.
24928 (grub_elf32_load): Pass `base' and `size' parameters. Update all
24929 callers.
24930 (grub_elf64_load): Likewise.
24931 (grub_elf32_load_segment): Move to a nested function.
24932 (grub_elf64_load_segment): Likewise.
24933
dc946850 249342007-02-12 Hollis Blanchard <hollis@penguinppc.org>
24935
24936 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
24937 prototype.
24938 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
24939 (grub_heap_len): Likewise.
24940 (HEAP_SIZE): New macro.
24941 (grub_claim_heap): New function.
24942 (grub_machine_init): Don't claim heap directly. Call
24943 `grub_claim_heap'.
24944 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
24945 (grub_available_iterate): New function.
24946
baa2a121 249472007-02-03 Thomas Schwinge <tschwinge@gnu.org>
24948
24949 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
24950 * configure.ac: Use it for testing the HOST and TARGET compilers.
24951
4fe9862e 249522006-12-13 Thomas Schwinge <tschwinge@gnu.org>
24953
24954 * Makefile.in (enable_grub_emu): New variable.
24955 * configure.ac (--enable-grub-emu): New option.
24956 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
24957 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
24958 * conf/i386-pc.rmk: Likewise.
24959 * conf/powerpc-ieee1275.rmk: Likewise.
24960 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
24961
a8aa5762 249622006-12-12 Marco Gerards <marco@gnu.org>
24963
24964 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
24965
24966 * kern/env.c (grub_env_unset): Don't free the member `value' when
24967 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
24968 pointer.
24969
24970 * normal/main.c (current_menu): Removed.
24971 (free_menu): Unset the `menu' environment variable.
24972 (grub_normal_menu_addentry): Make use of the environment variable
24973 `menu', instead of using the global `current_menu'. Allocate
24974 memory for the sourcecode of this entry.
24975 (read_config_file): New argument `nested', changed all callers.
24976 Only in the case of a new context, initialize a new menu. Set the
24977 `menu' environment variable.
24978 (grub_normal_execute): Don't set and unset the environment
24979 variable `menu' here anymore. Only free the menu when leaving the
24980 context.
24981
24982 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
24983 leak.
24984
957b3a3e 249852006-12-11 Marco Gerards <marco@gnu.org>
24986
24987 * normal/menu_entry.c (run): Fix off by one bug so the last line
24988 is executed. Move the loader check to outside the loop.
24989
ef875714 249902006-12-08 Hollis Blanchard <hollis@penguinppc.org>
24991
24992 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
24993
4e739985 249942006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
24995
24996 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
24997 the number of sectors. Reported by Andrey Shuvikov
24998 <mr_hyro@yahoo.com>.
f19dbdb7 24999
790707f2 250002006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
25001
25002 * kern/disk.c (grub_disk_read): When there is a read error, always
25003 try to read only the necessary data.
f19dbdb7 25004
790707f2 25005 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
25006 disk/raid.c.
25007 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
25008 prototype.
25009 [GRUB_UTIL] (grub_raid_fini): Likewise.
25010 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 25011 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 25012 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
25013 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
25014 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
25015 and grub_raid_fini().
f19dbdb7 25016
03e58196 250172006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
25018
25019 * include/grub/types.h (__unused): Rename to UNUSED.
25020 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
25021 (grub_elf64_size): Likewise.
f19dbdb7 25022
ae4f23bf 250232006-11-03 Hollis Blanchard <hollis@penguinppc.org>
25024
25025 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
25026 grub_error_push and grub_error_pop in the error-handling path.
25027 (grub_elf32_load_segment): Only call grub_file_read with non-zero
25028 length.
25029
2166cc83 250302006-11-03 Hollis Blanchard <hollis@penguinppc.org>
25031
25032 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
25033 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25034 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25035 (kernel_elf_SOURCES): Likewise.
25036 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
25037 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
25038 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
25039 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
25040 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
25041 (elf_mod_SOURCES): New variable.
25042 (elf_mod_CFLAGS): Likewise.
25043 (elf_mod_LDFLAGS): Likewise.
25044 * include/grub/types.h (__unused): New macro.
25045 * include/grub/elfload.h: New file.
25046 * kern/elf.c: Likewise.
25047 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
25048 (ELF32_LOADMASK): New macro.
25049 (ELF64_LOADMASK): Likewise.
25050 (vmlinux): Removed.
25051 (grub_linux_load32): New function.
25052 (grub_linux_load64): Likewise.
25053 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
25054 Use grub_elf_t instead of grub_file_t.
25055
a09d5aa5 250562006-11-02 Hollis Blanchard <hollis@penguinppc.org>
25057
25058 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
25059 `catch_result' to struct set_color_args.
25060
d976fc51 250612006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
25062
25063 * normal/menu.c: Include grub/script.h.
25064 * normal/menu_entry.c: Likewise.
25065 * include/grub/normal.h: Do not include grub/script.h.
25066
67507549 250672006-10-27 Hollis Blanchard <hollis@penguinppc.org>
25068
25069 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
25070
69203a99 250712006-10-27 Hollis Blanchard <hollis@penguinppc.org>
25072
25073 * kern/disk.c (grub_disk_open): Print debug messages when opening a
25074 disk.
25075 (grub_disk_close): Print debug messages when closing a disk.
25076 (grub_disk_read): Print debug messages when disk read fails.
25077 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
25078 filesystem type.
25079 * kern/partition.c: Include misc.h.
25080 (grub_partition_iterate): Print debug messages when detecting
25081 partition type.
25082
e2b8278c 250832006-10-27 Hollis Blanchard <hollis@penguinppc.org>
25084
25085 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
25086 is negative.
25087 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
25088
97b2f2ff 250892006-10-26 Hollis Blanchard <hollis@penguinppc.org>
25090
25091 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
25092 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
25093
6555d655 250942006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
25095
25096 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
25097 instead of sizeof(lv). Patch by Michael Guntsche.
25098
4d42b77f 250992006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
25100
25101 * disk/lvm.c: Rename VGS to VG_LIST.
25102 (grub_lvm_iterate): Change VGS->LV to VG-LV.
25103 (grub_lvm_open): Likewise.
25104 Thanks to Michael Guntsche for finding this bug.
25105
5d74d927 251062006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25107
25108 * configure.ac (AC_INIT): Bumped to 1.95.
25109
a1bb27e4 251102006-10-14 Robert Millan <rmh@aybabtu.com>
25111
25112 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
25113 with "/dev/.static/dev/md".
25114
e0994b8b 251152006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
25116
25117 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
25118 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
25119 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
25120 DRIVE_NAME are always freed.
25121
25122 * util/i386/pc/biosdisk.c (make_device_name): Add one into
25123 DOS_PART, as a DOS partition is counted from one instead of zero
25124 now. Reported by Robert Millan.
25125
ddd5cee9 251262006-10-14 Robert Millan <rmh@aybabtu.com>
25127
25128 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
25129 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
25130 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
25131 string returned by grub_guess_root_device.
25132 * util/i386/pc/grub-setup.c: Likewise.
25133 * util/i386/pc/grub-probefs.c: Likewise.
25134
25135 * util/i386/pc/grub-probefs.c: Rename to ...
25136 * util/i386/pc/grub-probe.c: ... this.
25137 * DISTLIST: Remove grub-probefs, add grub-probe.
25138 * conf/i386-efi.rmk: Likewise.
25139 * conf/i386-pc.rmk: Likewise.
25140 * util/i386/pc/grub-install.in: Likewise.
25141
25142 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
25143 choose which information we want to print.
25144
2b002173 251452006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
25146
25147 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
25148 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
25149 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
25150 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
25151 video/readers/tga.c and video/i386/pc/vbeutil.c.
25152
251532006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
25154
25155 Added support for RAID and LVM.
f19dbdb7 25156
2b002173 25157 * disk/lvm.c: New file.
25158 * disk/raid.c: Likewise.
25159 * include/grub/lvm.h: Likewise.
f19dbdb7 25160 * include/grub/raid.h: Likewise.
2b002173 25161 * include/grub/util/lvm.h: Likewise.
25162 * include/grub/util/raid.h: Likewise.
25163 * util/lvm.c: Likewise.
25164 * util/raid.c: Likewise.
25165
25166 * include/grub/disk.h (grub_disk_dev_id): Add
25167 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
25168 (grub_disk_get_size): New prototype.
25169 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
25170 returns a partition.
25171 (grub_disk_get_size): New function.
f19dbdb7 25172
2b002173 25173 * kern/i386/pc/init.c (make_install_device): Copy the prefix
25174 verbatim if grub_install_dos_part is -2.
25175
25176 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
25177 and LVM devices.
25178
25179 * util/i386/pc/grub-setup.c (setup): New argument
25180 MUST_EMBED. Force embedding of GRUB when the argument is
25181 true. Close FILE before returning.
25182 (main): Add support for RAID and LVM.
f19dbdb7 25183
2b002173 25184 * conf/common.rmk: Add RAID and LVM modules.
25185 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
25186 util/lvm.c.
25187 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
25188
25189 * kern/misc.c (grub_strstr): New function.
25190 * include/grub/misc.h (grub_strstr): New prototype.
25191
050548d0 251922006-10-10 Tristan Gingold <tristan.gingold@bull.net>
25193
25194 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
25195
da849d2d 251962006-10-05 Tristan Gingold <tristan.gingold@bull.net>
25197
25198 * kern/misc.c (grub_strtoull): Guess the base only if not
25199 specified.
25200
97b2f2ff 252012006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 25202
25203 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
25204 PowerMac support.
25205
97b2f2ff 252062006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 25207
25208 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
25209
25210 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
25211 Remove `flags' argument. All callers changed.
25212 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
25213 (IEEE1275_IHANDLE_INVALID): New variable.
25214 (IEEE1275_CELL_INVALID): New variable.
25215 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
25216 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
25217 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
25218 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
25219 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
25220 codes from Open Firmware. All callers updated.
25221 (grub_ieee1275_next_property): Directly return Open Firmware return
25222 code.
25223 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
25224 Standardize error checking from `grub_ieee1275_get_property'.
25225 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
25226 `devalias' to `aliases'. Correct comments. Consolidate error paths.
25227
97b2f2ff 252282006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 25229
25230 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
25231 `instance_to_package_args' to `instance_to_path_args'.
25232
25233 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
25234 `grub_ieee1275_chosen'.
25235
25236 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
25237 `grub_ieee1275_interpret'.
25238
97b2f2ff 252392006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 25240
25241 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
25242
97b2f2ff 252432006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 25244
25245 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
25246 (__cmpdi): Likewise.
25247
25248 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
25249 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
25250 `grub_ssize_t'.
25251
02bb8acc 25252 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 25253
25254 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
25255 to type `grub_ssize_t'.
25256 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
25257
7f9a8531 252582006-09-22 Marco Gerards <marco@gnu.org>
25259
25260 * normal/script.c (grub_script_create_cmdmenu): Skip leading
25261 newlines.
25262
b5ef1102 252632006-09-22 Marco Gerards <marco@gnu.org>
25264
25265 * commands/echo.c: New file.
25266
25267 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
25268
25269 * conf/common.rmk (echo_mod_SOURCES): New variable.
25270 (echo_mod_CFLAGS): Likewise.
25271 (echo_mod_LDFLAGS): Likewise.
25272
2cff3677 252732006-09-22 Marco Gerards <marco@gnu.org>
25274
25275 * normal/main.c (get_line): Malloc memory instead of using
25276 preallocated memory. Removed the arguments `cmdline' and
25277 `max_len'. Updated all callers.
25278
6ba4688b 252792006-09-22 Marco Gerards <marco@gnu.org>
25280
25281 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
25282 (normal_mod_DEPENDENCIES): Likewise.
25283
25284 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
25285 (normal_mod_DEPENDENCIES): Likewise.
25286
25287 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
25288
e02ac02c 252892006-09-22 Johan Rydberg <jrydberg@gnu.org>
25290
25291 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
25292 programs.
25293 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
25294 (normal_mod_DEPENDENCIES): Likewise.
25295 * conf/i386-pc.mk: Regenerate.
25296 * conf/i386-efi.mk: Likewise
25297 * conf/common.mk: Likewise.
25298 * conf/powerpc-ieee1275.mk: Likewise.
25299 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 25300
8d252e44 253012006-09-22 Robert Millan <rmh@aybabtu.com>
25302
25303 Sync with i386 version.
25304 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
25305 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
25306
209bf7ac 253072006-09-21 Robert Millan <rmh@aybabtu.com>
25308
25309 Import from GRUB Legacy (lib/device.c):
25310 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
25311 (init_device_map) [__linux__]: Add support for I2O devices.
25312
6b146090 253132006-09-14 Marco Gerards <marco@gnu.org>
25314
25315 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
25316 `-melf_i386'.
25317
e38600a8 253182006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 25319
25320 * util/i386/pc/grub-install.in: Skip menu.lst when removing
25321 /boot/grub/*.lst.
78fa1790 25322
2952da5d 25323 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 25324
2952da5d 25325 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
25326 before adding it to device.map.
25327
01b82a64 253282006-08-15 Johan Rydberg <jrydberg@gnu.org>
25329
fe6b695a 25330 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 25331 compiles a file; using the -MD option.
25332 * conf/common.mk: Regenerate.
25333 * conf/i386-pc.mk: Likewise.
25334 * conf/i386-efi.mk: Likewise.
25335 * conf/powerpc-ieee1275.mk: Likewise.
25336 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 25337
1064790d 253382006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
25339
25340 Move the prototypes of grub_setjmp and grub_longjmp to
25341 cpu/setjmp.h, so that each architecture may specify different
25342 attributes.
f19dbdb7 25343
1064790d 25344 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
25345 (grub_longjmp): Likewise.
25346 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
25347 (grub_longjmp): Likewise.
25348 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
25349 (grub_longjmp): Likewise.
25350
25351 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
25352 [!GRUB_UTIL] (grub_longjmp): Removed.
25353
29dda3ed 253542006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
25355
25356 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
25357 "color!" method does not return any value.
25358
ad2a06ed 253592006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
25360
25361 * include/grub/bitmap.h: New file.
25362
25363 * include/grub/i386/pc/vbeutil.h: Likewise.
25364
25365 * video/bitmap.c: Likewise.
25366
25367 * video/readers/tga.c: Likewise.
25368
25369 * video/i386/pc/vbeutil.c: Likewise.
25370
25371 * commands/videotest.c: Code cleanup and updated to reflect to new
25372 video API.
25373
25374 * term/gfxterm.c: Likewise.
25375
25376 * video/video.c: Likewise.
25377
25378 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
25379 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
25380 (bitmap_mod_SOURCES): New entry.
25381 (bitmap_mod_CFLAGS): Likewise.
25382 (bitmap_mod_LDFLAGS): Likewise.
25383 (tga_mod_SOURCES): Likewise.
25384 (tga_mod_CFLAGS): Likewise.
25385 (tga_mod_LDFLAGS): Likewise.
25386
25387 * include/grub/video.h (grub_video_blit_operators): New enum type.
25388 (grub_video_render_target): Changed as forward declaration and moved
25389 actual definition to be video driver specific.
25390 (grub_video_adapter.blit_bitmap): Added blitting operator.
25391 (grub_video_adapter.blit_render_target): Likewise.
25392 (grub_video_blit_bitmap): Likewise.
25393 (grub_video_blit_render_target): Likewise.
25394
25395 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
25396 driver specific render target definition.
25397 (grub_video_vbe_map_rgba): Added driver internal helper.
25398 (grub_video_vbe_unmap_color): Updated to use
25399 grub_video_i386_vbeblit_info.
25400 (grub_video_vbe_get_video_ptr): Likewise.
25401
25402 * include/grub/i386/pc/vbeblit.h
25403 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
25404 grub_video_i386_vbeblit_info.
25405 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
25406 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
25407 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
25408 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
25409 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
25410 (grub_video_i386_vbeblit_index_index): Likewise.
25411 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
25412 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
25413 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
25414 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
25415 operator.
25416 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
25417 operator.
25418
25419 * video/i386/pc/vbeblit.c: Updated to reflect changes on
25420 include/grub/i386/pc/vbeblit.h.
25421
25422 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
25423 Updated to use grub_video_i386_vbeblit_info.
25424 (grub_video_i386_vbefill_R8G8B8): Likewise.
25425 (grub_video_i386_vbefill_index): Likewise.
25426 (grub_video_i386_vbefill): Added generic filler.
25427
25428 * video/i386/pc/vbefill.c: Updated to reflect changes on
25429 include/grub/i386/pc/vbefill.h.
25430
25431 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
25432 grub_video_i386_vbeblit_info.
25433 (grub_video_vbe_unmap_color): Likewise.
25434 (grub_video_vbe_blit_glyph): Likewise.
25435 (grub_video_vbe_scroll): Likewise.
25436 (grub_video_vbe_draw_pixel): Removed function.
25437 (grub_video_vbe_get_pixel): Likewise.
25438 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
25439 updated code to use it.
25440 (common_blitter): Added common blitter for render target and bitmap.
25441 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
25442 (grub_video_vbe_blit_render_target): Likewise.
25443
bc8c036d 254442006-07-30 Johan Rydberg <jrydberg@gnu.org>
25445
25446 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
25447 is in text mode if there is no console control protocol instance
25448 available.
25449
684a8eff 254502006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
25451
25452 * include/grub/video.h: Code cleanup.
25453
25454 * include/grub/i386/pc/vbe.h: Likewise.
25455
25456 * video/i386/pc/vbe.c: Likewise.
25457
25458 * video/i386/pc/vbeblit.c: Likewise.
25459
25460 * video/i386/pc/vbefill.c: Likewise.
25461
25462 * video/video.c: Likewise. Also added more comments.
25463
5915059b 254642006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
25465
25466 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
25467 (struct grub_biosdisk_dap): Likewise.
25468
25469 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
25470 linkage settings for all functions.
25471
90ce5d56 254722006-07-12 Marco Gerards <marco@gnu.org>
25473
25474 * configure.ac (--enable-mm-debug): Fix typo.
25475
25476 * genkernsyms.sh.in: Use proper quoting for `CC'.
25477
43e7f879 254782006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
25479
25480 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
25481 (normal_mod_ASFLAGS): Remove "-m32".
25482
4889bdec 254832006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
25484
25485 * util/misc.c: Include config.h.
25486 [!HAVE_MEMALIGN]: Do not include malloc.h.
25487 (grub_memalign): Use posix_memalign, if present. Then, use
25488 memalign, if present. Otherwise, emit an error.
25489
25490 * util/grub-emu.c: Do not include malloc.h.
25491
25492 * include/grub/util/misc.h: Include unistd.h. This is required for
25493 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
25494 D. Eades III <hde@foobar-qux.org>.
25495
25496 * configure.ac (AC_GNU_SOURCE): Added.
25497 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
25498 type.
25499
fd39d4da 255002006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
25501
25502 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
25503 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
25504
b786f3b5 255052006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
25506
25507 * include/grub/types.h (grub_host_addr_t): Rename to
25508 grub_target_addr_t.
25509 (grub_host_off_t): Rename to grub_target_off_t.
25510 (grub_host_size_t): Rename to grub_target_size_t.
25511 (grub_host_ssize_t): Rename to grub_target_ssize_t.
25512 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
25513
25514 * include/grub/kernel.h (struct grub_module_header): Change type
25515 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
25516 (grub_module_info): Likewise.
f19dbdb7 25517
051988bb 255182006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
25519
25520 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
25521 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
25522 Velazquez <jesus.velazquez@gmail.com>.
25523
deae281b 255242006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
25525
25526 Count partitions from 1 instead of 0 in the string representation
25527 of partitions. Still use 0-based internally.
f19dbdb7 25528
deae281b 25529 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
25530 (sun_partition_map_iterate): Use grub_partition_t instead of
25531 struct grub_partition *. Cast DESC->START_CYLINDER to
25532 grub_uint64_t after converting the endian.
25533 (sun_partition_map_probe): Subtract 1 for PARTNUM.
25534 (sun_partition_map_get_name): Add 1 to P->INDEX.
25535
25536 * partmap/pc.c (grub_partition_parse): Subtract 1 for
25537 PCDATA->DOS_PART.
25538 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
25539
25540 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
25541 zero instead of one.
25542 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
25543 (gpt_partition_map_get_name): Add 1 into P->INDEX.
25544
25545 * partmap/apple.c (apple_partition_map_iterate): Change the type
25546 of POS to unsigned.
25547 (apple_partition_map_probe): Subtract 1 for PARTNUM.
25548 (apple_partition_map_get_name): Add 1 into P->INDEX.
25549
25550 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
25551 of POS to unsigned.
25552 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
25553 calculate the offset of a partition.
25554 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
25555 (amiga_partition_map_get_name): Add 1 into P->INDEX.
25556
25557 * partmap/acorn.c (acorn_partition_map_find): Change the type of
25558 SECTOR to grub_disk_addr_t.
25559 (acorn_partition_map_iterate): Likewise.
25560 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
25561 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
25562 top.
25563 (acorn_partition_map_get_name): Add 1 into P->INDEX.
25564
25565 * kern/i386/pc/init.c (make_install_device): Add 1 into
25566 GRUB_INSTALL_DOS_PART.
25567
25568 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
25569 conditional.
25570
524a1e6a 255712006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
25572
25573 Clean up the code to support 64-bit addressing in disks and
25574 files. This change is not enough for filesystems yet.
f19dbdb7 25575
524a1e6a 25576 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
25577 type of "start" to grub_uint64_t.
25578 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
25579 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
25580 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
25581 convert addresses.
25582
25583 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
25584 to grub_disk_addr_t.
25585
25586 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
25587 string.
25588
25589 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25590
25591 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
25592 to char *.
25593
25594 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
25595
25596 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
25597
25598 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
25599
25600 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
25601 to grub_off_t, to detect an error from grub_file_seek.
25602 (grub_multiboot_load_elf32): Likewise.
25603
25604 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
25605 maximum unsigned long value when an overflow is detected.
25606 (grub_strtoull): New function.
25607 (grub_divmod64): Likewise.
25608 (grub_lltoa): use grub_divmod64.
25609
25610 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
25611 grub_disk_addr_t.
25612 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
25613 the pointer to next character. Use grub_strtoull instead of
25614 grub_strtoul.
25615 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
25616 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
25617 respectively.
25618
fe6b695a 25619 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 25620 return value is signed.
25621 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
25622 test if OFFSET is less than zero, as OFFSET is unsigned now.
25623
25624 * kern/disk.c (struct grub_disk_cache): Change the type of
25625 "sector" to grub_disk_addr_t.
25626 (grub_disk_cache_get_index): Change the type of SECTOR to
25627 grub_disk_addr_t. Calculate the hash with SECTOR casted to
25628 unsigned after shifting.
25629 (grub_disk_cache_invalidate): Change the type of SECTOR to
25630 grub_disk_addr_t.
25631 (grub_disk_cache_unlock): Likewise.
25632 (grub_disk_cache_store): Likewise.
25633 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
25634 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
25635 grub_disk_addr_t and grub_uint64_t, respectively.
25636 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
25637 body, as the value of OFFSET is tweaked by
25638 grub_disk_check_range. Change the types of START_SECTOR, LEN and
25639 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
25640 respectively.
25641 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
25642 body, as the value of OFFSET is tweaked by
25643 grub_disk_check_range. Change the types of LEN and N to
25644 grub_size_t.
25645
25646 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
25647 and "saved_offset" to grub_off_t.
25648 (test_header): Cast BUF to char *.
25649 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
25650 to char *.
25651 (grub_gzio_read): Change the types of OFFSET and SIZE to
25652 grub_off_t and grub_size_t, respectively.
25653
25654 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
25655 Removed.
25656 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
25657 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
25658 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
25659 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
25660 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
25661
25662 * include/grub/types.h (grub_off_t): Unconditionally set to
25663 grub_uint64_t.
25664 (grub_disk_addr_t): Changed to grub_uint64_t.
25665
25666 * include/grub/partition.h (struct grub_partition): Change the
25667 types of "start", "len" and "offset" to grub_disk_addr_t,
25668 grub_uint64_t and grub_disk_addr_t, respectively.
25669 (grub_partition_get_start): Return grub_disk_addr_t.
25670 (grub_partition_get_len): Return grub_uint64_t.
25671
25672 * include/grub/misc.h (grub_strtoull): New prototype.
25673 (grub_divmod64): Likewise.
25674
25675 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
25676 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
25677 grub_off_t, respectively.
25678 All callers and references changed.
25679
25680 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
25681 grub_size_t in "read".
25682 All callers and references changed.
25683
25684 * include/grub/file.h (struct grub_file): Change the types of
25685 "offset" and "size" to grub_off_t and grub_off_t,
25686 respectively. Change the type of SECTOR to grub_disk_addr_t in
25687 "read_hook".
25688 (grub_file_read): Change the type of LEN to grub_size_t.
25689 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
25690 grub_off_t.
25691 (grub_file_size): Return grub_off_t.
25692 (grub_file_tell): Likewise.
25693 All callers and references changed.
25694
25695 * include/grub/disk.h (struct grub_disk_dev): Change the types of
25696 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
25697 "write".
25698 (struct grub_disk): Change the type of "total_sectors" to
25699 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 25700 "read_hook".
524a1e6a 25701 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
25702 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
25703 (grub_disk_write): Likewise.
25704 All callers and references changed.
25705
25706 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
25707 char * for grub_strncmp to silence gcc.
25708 (grub_iso9660_mount): Likewise.
25709 (grub_iso9660_mount): Likewise.
25710 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
25711 return statement.
25712 (grub_iso9660_iterate_dir): Likewise.
25713 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
25714
25715 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
25716 LEN to grub_disk_addr_t and grub_size_t, respectively.
25717
25718 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
25719
25720 * fs/jfs.c (grub_jfs_read_file): Likewise.
25721
25722 * fs/minix.c (grub_jfs_read_file): Likewise.
25723
25724 * fs/sfs.c (grub_jfs_read_file): Likewise.
25725
25726 * fs/ufs.c (grub_jfs_read_file): Likewise.
25727
25728 * fs/xfs.c (grub_jfs_read_file): Likewise.
25729
25730 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
25731 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
25732 respectively.
25733
25734 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
25735 BLKNR to -1 instead of returning GRUB_ERRNO.
25736 (grub_ext2_read_file): Change the types of SECTOR and
25737 LEN to grub_disk_addr_t and grub_size_t, respectively.
25738
25739 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
25740 LEN to grub_disk_addr_t and grub_size_t, respectively.
25741
25742 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
25743 grub_file_read.
25744
25745 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
25746 string. Do not cast SECTOR explicitly.
25747
25748 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
25749 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
25750 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
25751 grub_disk_addr_t and grub_size_t, respectively. If the sector is
25752 over 2TB and LBA mode is not supported, raise an error.
25753 (get_safe_sectors): New function.
25754 (grub_biosdisk_read): Use get_safe_sectors.
25755 (grub_biosdisk_write): Likewise.
25756
25757 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
25758 (grub_efidisk_write): Likewise.
25759
25760 * disk/loopback.c (delete_loopback): Cosmetic changes.
25761 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
25762 correctly.
25763 (grub_loopback_open): Likewise.
25764 (grub_loopback_read): Likewise. Also, change the type of POS to
25765 grub_off_t, and fix the usage of grub_memset.
25766
25767 * commands/i386/pc/play.c: Include grub/machine/time.h.
25768
25769 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
25770 print FILE->SIZE.
25771
25772 * commands/configfile.c: Include grub/env.h.
25773
25774 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
25775 GRUB_ERRNO directly instead. Change the type of POS to
25776 grub_off_t. Follow the coding standard.
25777
25778 * commands/blocklist.c: Include grub/partition.h.
25779 (grub_cmd_blocklist): Return an error if the underlying device is
25780 not a disk. Take the starting sector of a partition into account,
25781 if a partition is used.
25782
25783 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
25784 a length field.
25785 (lba_mode): Support 64-bit addresses.
25786 (chs_mode): Likewise.
25787 (copy_buffer): Adapted to the new offsets of a length field and a
25788 segment field.
25789 (blocklist_default_start): Allocate 64-bit space.
25790
25791 * boot/i386/pc/boot.S (force_lba): Removed.
25792 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 25793 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 25794 space.
25795 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
25796 is useless.
25797 (lba_mode): Refactored to support a 64-bit address. More size
25798 optimization.
25799 (setup_sectors): Likewise.
25800
53af98ad 258012006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
25802
25803 * DISTLIST: Added include/grub/i386/linux.h. Removed
25804 include/grub/i386/pc/linux.h
25805
25806 * configure.ac (AC_INIT): Bumped to 1.94.
25807
25808 * config.guess: Updated from gnulib.
25809 * config.sub: Likewise.
25810 * install-sh: Likewise.
25811 * mkinstalldirs: Likewise.
25812
b4c1940a 258132006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
25814
25815 * conf/common.rmk (grub_modules_init.lst): Depended on
25816 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
25817 MODSRCFILES.
25818
25819 * genmk.rb (PModule::rule): Reverted the previous change.
25820
cfca1cfd 258212006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
25822
25823 * conf/common.rmk (grub_modules_init.lst): Depends on
25824 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
25825 that the target does not exist before producing.
25826 (grub_modules_init.h): Remove the target before generating.
25827 (grub_emu_init.c): Likewise.
25828
25829 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
25830
aa6d7826 258312006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
25832
25833 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
25834 for the target-specific tests. Make sure that we also have the
25835 up-to-date target variables for those tests.
25836
26c607b9 258372006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
25838
25839 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
25840 (PModule::rule): Likewise.
25841
0162321a 258422006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
25843
25844 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
25845 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
25846 target-specific flags should be prefixed.
25847 (PModule::rule): Likewise.
25848
6c826348 258492006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
25850
25851 * configure.ac (CMP): Check if cmp is available explicitly.
25852
b977bf01 258532006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
25854
25855 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
25856 (target_cpu): New variable.
25857 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 25858
b977bf01 25859 * util/i386/pc/grub-install.in (host_cpu): Removed.
25860 (target_cpu): New variable.
25861 (pkglibdir): Use target_cpu instead of host_cpu.
25862
25863 * util/genmoddep.c: Removed.
f19dbdb7 25864
b977bf01 25865 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
25866 instead of GRUB_HOST_SIZEOF_VOID_P.
25867 * kern/dl.c: Likewise.
25868
25869 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
25870 ...
25871 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
25872 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
25873 (GRUB_TARGET_SIZEOF_LONG): ... this.
25874 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
25875 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
25876 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
25877 to ...
25878 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
25879 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
25880 (GRUB_TARGET_SIZEOF_LONG): ... this.
25881 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
25882 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
25883 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
25884 to ...
25885 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
25886 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
25887 (GRUB_TARGET_SIZEOF_LONG): ... this.
25888 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
25889 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
25890
25891 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
25892 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
25893 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
25894 instead of GRUB_HOST_SIZEOF_LONG.
25895 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
25896 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
25897 GRUB_CPU_WORDS_BIGENDIAN.
25898 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
25899 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
25900 grub_host_ssize_t.
25901
25902 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
25903 (genmoddep_SOURCES): Likewise.
25904 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
25905 (genmoddep_SOURCES): Likewise.
25906 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
25907 (genmoddep_SOURCES): Likewise.
25908 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
25909 Likewise.
25910 (genmoddep_SOURCES): Likewise.
25911
25912 * genmoddep.awk: New file.
25913
25914 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
25915 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
25916 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
25917 (PModule::rule): Likewise.
25918 (Program::rule): Likewise.
25919 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
25920 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
25921 respectively.
25922
25923 * configure.ac: Rewritten intensively to use host and target
25924 instead of build and host, respectively.
25925
25926 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
25927 (host_cpu): Removed.
25928 (target_cpu): New variable.
25929 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
25930 (BUILD_CC): Removed.
25931 (BUILD_CFLAGS): Likewise.
25932 (BUILD_CPPFLAGS): Likewise.
25933 (TARGET_CC): New variable.
25934 (TARGET_CFLAGS): Likewise.
25935 (TARGET_CPPFLAGS): Likewise.
25936 (TARGET_LDFLAGS): Likewise.
25937 (AWK): Likewise.
25938 (include): Use target_cpu instead of host_cpu.
25939 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 25940
b977bf01 25941 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
25942
f09771a1 259432006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
25944
25945 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
25946 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
25947 field 'false' to 'exec_on_false'.
25948 (grub_script_create_cmdif): Renamed argument names to reflect above
25949 changes.
25950
25951 * normal/execute.c (grub_script_execute_cmdif): Likewise.
25952
25953 * normal/script.c (grub_script_create_cmdif): Likewise.
25954
118f4fb3 259552006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
25956
25957 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
25958 top.
25959 (grub_hfsplus_btree_recptr): Likewise.
25960 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
25961 FILEBLOCK both to pass a block number and store next block
25962 number.
25963 (grub_hfsplus_read_block): Rewritten heavily to support an extent
25964 overflow file correctly. Specify errors appropriately, because
25965 fshelp expects that GRUB_ERRNO is set when fails. Reuse
25966 grub_hfsplus_btree_recptr to get the pointer to a found key.
25967 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
25968 is found.
25969
25970 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
25971 linux.mod.
25972 (_linux_mod_SOURCES): New variable.
25973 (_linux_mod_CFLAGS): Likewise.
25974 (_linux_mod_LDFLAGS): Likewise.
25975 (linux_mod_SOURCES): Likewise.
25976 (linux_mod_CFLAGS): Likewise.
25977 (linux_mod_LDFLAGS): Likewise.
25978
25979 * DISTLIST: Added loader/i386/efi/linux.c,
25980 loader/i386/efi/linux_normal.c and
25981 include/grub/i386/efi/loader.h.
25982
25983 * loader/i386/efi/linux.c: New file.
25984 * loader/i386/efi/linux_normal.c: Likewise.
25985 * include/grub/i386/efi/loader.h: Likewise.
25986
89a7d726 259872006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
25988
25989 * commands/blocklist.c: New file.
25990
25991 * DISTLIST: Added commands/blocklist.c.
25992
25993 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 25994 color for the background, and a darker color for the foreground.
89a7d726 25995 (grub_console_checkkey): Return READ_KEY.
25996 (grub_console_cls): Set the background to
25997 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
25998
25999 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
26000
26001 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
26002 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
26003
26004 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
26005 prototype.
26006
26007 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
26008 BG. The spec is wrong again.
26009
26010 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
26011 prototype.
26012 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
26013
26014 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26015 commands/blocklist.c.
26016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 26017
89a7d726 26018 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
26019 (blocklist_mod_SOURCES): New variable.
26020 (blocklist_mod_CFLAGS): Likewise.
26021 (blocklist_mod_LDFLAGS): Likewise.
26022
75c8f258 260232006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
26024
26025 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
26026 duplication.
26027 (lba_mode): Use %eax more intensively to reduce the code size.
26028
da2eb181 260292006-05-20 Marco Gerards <marco@gnu.org>
26030
26031 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
26032
26033 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
26034 for `menuentry'.
26035 (script): Accept leading newlines.
26036 (newlines): New rule to describe 0 or more newlines.
26037 (commands): Accept `command' with trailing newline. Fixed the
26038 order in which arguments were passed to `grub_script_add_cmd'.
26039 Accept commands separated by newlines.
26040 (function): Changed to accept newlines.
26041 (menuentry) Rewritten.
26042
26043 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
26044 front of the list, instead of to the end.
26045
577b4050 260462006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
26047
26048 * util/i386/pc/grub-install.in (bindir): New variable.
26049 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
26050 Shaver <lbgwjl@gmail.com>.
26051
0d6e1189 260522006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
26053
26054 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
26055 grub/machine/linux.h
26056 * loader/i386/pc/linux.c: Likewise.
26057
26058 * include/grub/i386/pc/linux.h: Moved to ...
26059 * include/grub/i386/linux.h: ... here.
26060
26061 * include/grub/i386/linux.h (struct linux_kernel_params): New
26062 struct.
f19dbdb7 26063
31b86e9f 260642006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
26065
26066 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
26067 checking.
26068 (grub_video_vbe_blit_glyph): Likewise.
26069 (grub_video_vbe_blit_bitmap): Likewise.
26070 (grub_video_vbe_blit_render_target): Likewise.
26071
83b984de 260722006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
26073
26074 * configure.ac (--with-platform): Properly quote the square
26075 brackets.
26076
5f0413bd 260772006-05-08 Marco Gerards <marco@gnu.org>
26078
26079 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
26080 this...
26081 (kernel_elf_HEADERS): ...to this. Updated all users.
26082 (grubof_symlist.c): Renamed from this...
26083 (kernel_elf_symlist.c): ...to this. Updated all users.
26084 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
26085 (grubof_SOURCES): Renamed from this...
26086 (kernel_elf_SOURCES): ...to this.
26087 (grubof_HEADERS): Renamed from this...
26088 (kernel_elf_HEADERS): ...to this.
26089 (grubof_CFLAGS): Renamed from this...
26090 (kernel_elf_CFLAGS): ...to this.
26091 (grubof_ASFLAGS): Renamed from this...
26092 (kernel_elf_ASFLAGS): ...to this.
26093 (grubof_LDFLAGS): Renamed from this...
26094 (kernel_elf_LDFLAGS): ...to this.
26095
26096 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
26097 this...
26098 (kernel_elf_HEADERS): ...to this. Updated all users.
26099 (grubof_symlist.c): Renamed from this...
26100 (kernel_elf_symlist.c): ...to this. Updated all users.
26101 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
26102 (grubof_SOURCES): Renamed from this...
26103 (kernel_elf_SOURCES): ...to this.
26104 (grubof_HEADERS): Renamed from this...
26105 (kernel_elf_HEADERS): ...to this.
26106 (grubof_CFLAGS): Renamed from this...
26107 (kernel_elf_CFLAGS): ...to this.
26108 (grubof_ASFLAGS): Renamed from this...
26109 (kernel_elf_ASFLAGS): ...to this.
26110 (grubof_LDFLAGS): Renamed from this...
26111 (kernel_elf_LDFLAGS): ...to this.
26112
26113 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
26114 `kernel.elf' instead of `grubof'.
26115
05568c2e 261162006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
26117
26118 Add --with-platform to configure. Use pkglibdir instead of
26119 pkgdatadir. This is reported by Roger Leigh.
26120
26121 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
26122 (host_vendor): Likewise.
26123 (host_os): Likewise.
26124 (pkgdatadir): Likewise.
26125 (platform): New variable.
26126 (pkglibdir): Likewise.
26127 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 26128
05568c2e 26129 * util/i386/pc/grub-install.in (datadir): Removed.
26130 (host_vendor): Likewise.
26131 (host_os): Likewise.
26132 (pkgdatadir): Likewise.
26133 (platform): New variable.
26134 (pkglibdir): Likewise.
26135 Use PKGLIBDIR instead of PKGDATADIR.
26136
26137 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
26138 instead of GRUB_DATADIR.
26139 (main): Likewise.
26140 * util/i386/pc/grub-mkimage.c (usage): Likewise.
26141 (main): Likewise.
26142 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26143 (main): Likewise.
26144
26145 * configure.ac (--with-platform): New option.
26146 Use PLATFORM instead of HOST_VENDOR to specify a platform.
26147
26148 * Makefile.in: Include a makefile based on PLATFORM instead of
26149 HOST_VENDOR.
26150 (pkgdatadir): Not appended by the machine type.
26151 (pkglibdir): Appended by the machine type.
26152 (host_vendor): Removed.
26153 (platform): New variable.
26154 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
26155 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
26156 (uninstall): Likewise.
26157
4e93851c 261582006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
26159
26160 Use the environment context in the menu. Remove the commands
26161 "default" and "timeout", and use variables instead.
f19dbdb7 26162
4e93851c 26163 * normal/menu.c: Include grub/env.h.
26164 (print_entry): Cast TITLE to silence gcc.
26165 (get_timeout): New function.
26166 (set_timeout): Likewise.
26167 (get_entry_number): Likewise.
26168 (run_menu): Use a default entry, a fallback entry and a timeout
26169 in the environment variables "default", "fallback" and
26170 "timeout". Also, tweak the default entry if it is not within the
26171 current menu entries.
26172 (grub_menu_run): Use a fallback entry in the environment variable
26173 "fallback".
26174
26175 * normal/main.c (read_config_file): Do not initialize
26176 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
26177 NEWMENU->TIMEOUT.
26178 (grub_normal_execute): Use a data slot to store the menu.
26179
26180 * include/grub/normal.h (struct grub_menu): Removed default_entry,
26181 fallback_entry and timeout.
26182 (struct grub_menu_list): Removed.
26183 (grub_menu_list_t): Likewise.
26184 (struct grub_context): Likewise.
26185 (grub_context_t): Likewise.
26186 (grub_context_get): Likewise.
26187 (grub_context_get_current_menu): Likewise.
26188 (grub_context_push_menu): Likewise.
26189 (grub_context_pop_menu): Likewise.
26190 (grub_default_init): Likewise.
26191 (grub_default_fini): Likewise.
26192 (grub_timeout_init): Likewise.
26193 (grub_timeout_fini): Likewise.
26194
26195 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
26196 and timeout.mod.
26197 (normal_mod_SOURCES): Removed normal/context.c.
26198
26199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
26200 commands/default.c, commands/timeout.c and normal/context.c.
26201 (normal_mod_SOURCES): Removed normal/context.c.
26202
26203 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
26204 commands/timeout.c and normal/context.c.
26205 (normal_mod_SOURCES): Removed normal/context.c.
26206
26207 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
26208 commands/default.c, commands/timeout.c and normal/context.c.
26209 (normal_mod_SOURCES): Removed normal/context.c.
26210
26211 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
26212 timeout.mod.
26213 (default_mod_SOURCES): Removed.
26214 (default_mod_CFLAGS): Likewise.
26215 (default_mod_LDFLAGS): Likewise.
26216 (timeout_mod_SOURCES): Removed.
26217 (timeout_mod_CFLAGS): Likewise.
26218 (timeout_mod_LDFLAGS): Likewise.
26219
26220 * DISTLIST: Removed commands/default.c, commands/timeout.c and
26221 normal/context.c.
26222
26223 * commands/default.c: Removed.
26224 * commands/timeout.c: Likewise.
26225 * normal/context.c: Likewise.
26226
1eb9cc1d 262272006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
26228
26229 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
26230
385bd9c1 262312006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
26232
26233 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
26234 "next" to "prev" for readability.
26235 (struct grub_env_sorted_var): New struct.
26236 (grub_env_context): Renamed to ...
26237 (initial_context): ... this.
26238 (grub_env_var_context): Renamed to ...
26239 (current_context): ... this.
26240 (grub_env_find): Look only at CURRENT_CONTEXT.
26241 (grub_env_context_open): Rewritten to copy exported variables from
26242 previous context.
26243 (grub_env_context_close): Rewritten according to the new
26244 scheme. Also, add an assertion to prevent the initial context from
26245 removed.
26246 (grub_env_insert): Removed the code for the sorted list.
26247 (grub_env_remove): Likewise.
26248 (grub_env_export): Simply mark the variable with
26249 GRUB_ENV_VAR_GLOBAL.
26250 (grub_env_set): A cosmetic change for naming consistency.
26251 (grub_env_get): Likewise.
26252 (grub_env_unset): Likewise.
26253 (grub_env_iterate): Rewritten to sort variables within this
26254 function.
26255 (grub_register_variable_hook): Fixed for naming consistency. Call
26256 grub_env_find again, only if NAME is not found at the first time.
26257 (mangle_data_slot_name): New function.
26258 (grub_env_set_data_slot): Likewise.
26259 (grub_env_get_data_slot): Likewise.
26260 (grub_env_unset_data_slot): Likewise.
26261
26262 * include/grub/env.h (grub_env_var_type): New enum.
26263 (GRUB_ENV_VAR_LOCAL): New constant.
26264 (GRUB_ENV_VAR_GLOBAL): Likewise.
26265 (GRUB_ENV_VAR_DATA): Likewise.
26266 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
26267 "type".
26268 (grub_env_set): Replace VAR with NAME for consistency.
26269 (grub_register_variable_hook): Likewise.
26270 (grub_env_export): Specify the name of the argument.
26271 (grub_env_set_data_slot): New prototype.
26272 (grub_env_get_data_slot): Likewise.
26273 (grub_env_unset_data_slot): Likewise.
26274
7f362539 262752006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
26276
26277 Extend the loader so that GRUB can accept a loader which comes
26278 back to GRUB when a loaded image exits. Also, this change adds
26279 support for a chainloader on EFI.
f19dbdb7 26280
7f362539 26281 * term/efi/console.c: Include grub/misc.h.
26282 (grub_console_checkkey): Display a scan code on the top for
26283 debugging. This will be removed once the EFI port gets stable.
26284 Correct the scan code mapping.
26285
26286 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
26287 allocate memory from larger regions, in order to reduce the number
26288 of allocated regions. Otherwise, the MacOSX loader panics.
26289 (filter_memory_map): Avoid less than 1MB for compatibility with
26290 other loaders.
26291 (add_memory_regions): Allocate from the tail of a region, if
26292 possible, to avoid allocating a region near to 1MB, for the MacOSX
26293 loader.
26294
26295 * kern/efi/init.c (grub_efi_set_prefix): Specify
26296 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
26297
26298 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
26299 argument IMAGE_HANDLE and specify it to get a loaded image.
26300 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
26301 grub_efi_get_loaded_image.
fe6b695a 26302 (grub_efi_get_filename): Divide the length by the size of
7f362539 26303 grub_efi_char16_t.
26304 (grub_efi_get_device_path): New function.
26305 (grub_efi_print_device_path): Print End Device Path nodes. Divide
26306 the length by the size of grub_efi_char16_t for a file path device
26307 path node.
26308
26309 * kern/loader.c (grub_loader_noreturn): New variable.
26310 (grub_loader_set): Accept a new argument NORETURN. Set
26311 GRUB_LOADER_NORETURN to NORETURN.
26312 All callers changed.
26313 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
26314 grub_machine_fini.
26315
26316 * include/grub/efi/efi.h (grub_efi_get_device_path): New
26317 prototype.
26318 (grub_efi_get_loaded_image): Take an argument to specify an image
26319 handle.
26320
26321 * include/grub/loader.h (grub_loader_set): Added one more argument
26322 NORETURN.
26323
26324 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
26325 instead of grub_efi_open_protocol.
26326 (grub_efidisk_get_device_name): Likewise.
26327 (grub_efidisk_close): Print a newline.
26328 (grub_efidisk_get_device_handle): Fixed to use
26329 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
26330 GRUB_EFI_DEVICE_PATH_TYPE.
26331
26332 * disk/efi/efidisk.c (device_path_guid): Moved to ...
26333 * kern/efi/efi.c (device_path_guid): ... here.
26334
26335 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
26336 chain.mod.
26337 (kernel_mod_HEADERS): Added efi/disk.h.
26338 (_chain_mod_SOURCES): New variable.
26339 (_chain_mod_CFLAGS): Likewise.
26340 (_chain_mod_LDFLAGS): Likewise.
26341 (chain_mod_SOURCES): Likewise.
26342 (chain_mod_CFLAGS): Likewise.
26343 (chain_mod_LDFLAGS): Likewise.
26344
26345 * DISTLIST: Added include/grub/efi/chainloader.h,
26346 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
26347
26348 * include/grub/efi/chainloader.h: New file.
26349 * loader/efi/chainloader.c: Likewise.
26350 * loader/efi/chainloader_normal.c: Likewise.
26351
c0111d6e 263522006-04-30 Marco Gerards <marco@gnu.org>
26353
26354 * commands/configfile.c (grub_cmd_source): New function.
26355 (GRUB_MOD_INIT): Register the commands `source' and `.'.
26356 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
26357
df5341da 263582006-04-30 Marco Gerards <marco@gnu.org>
26359
26360 * normal/execute.c (grub_script_execute_cmd): Change the return
26361 type to `grub_err_t'. Correctly return the error.
26362 (grub_script_execute_cmdline): In case a command line is not a
26363 command or a function, try to interpret it as an assignment.
26364
f85934bd 263652006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
26366
26367 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
26368 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
26369 skip a node whose name is obviously invalid as UTF-16,
26370 i.e. contains a NUL character. Stop the iteration when the last
26371 directory entry is found. Instead of using the return value of
26372 grub_hfsplus_btree_iterate_node, store the value in RET and use
26373 it, because the iterator can be stopped by the last directory
26374 entry.
26375
8f8a2cf8 263762006-04-30 Marco Gerards <marco@gnu.org>
26377
26378 * include/grub/env.h (grub_env_export): New prototype. Reported
26379 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
26380
a27e84ce 263812006-04-30 Marco Gerards <marco@gnu.org>
26382
26383 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
26384 size of the extents in a catalog file record.
26385
eaef0553 263862006-04-29 Marco Gerards <marco@gnu.org>
26387
26388 * commands/configfile.c (grub_cmd_configfile): Execute the
26389 configfile within its own context.
26390
26391 * include/grub/env.h (grub_env_context_open): New prototype.
26392 (grub_env_context_close): Likewise.
26393
26394 * kern/env.c (grub_env): Removed.
26395 (grub_env_sorted): Likewise.
26396 (grub_env_context): New variable.
26397 (grub_env_var_context): Likewise.
26398 (grub_env_find): Search both the active context and the global
26399 context.
26400 (grub_env_context_open): New function.
26401 (grub_env_context_close): Likewise.
26402 (grub_env_insert): Likewise.
26403 (grub_env_remove): Likewise.
26404 (grub_env_export): Likewise.
26405 (grub_env_set): Changed to use helper functions to avoid code
26406 duplication.
26407 (grub_env_iterate): Rewritten so both the current context and the
26408 global context are being used.
26409
26410 * normal/command.c (export_command): New function.
26411 (grub_command_init): Register the `export' function.
26412
7b455f4d 264132006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
26414
26415 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
26416 explicitly to suppress gcc's warnings.
26417 * fs/fat.c (grub_fat_find_dir): Likewise.
26418 (grub_fat_label): Likewise.
26419 * fs/xfs.c (grub_xfs_read_inode): Likewise.
26420 (grub_xfs_mount): Likewise.
26421 (grub_xfs_label): Likewise.
26422 * fs/affs.c (grub_affs_mount): Likewise.
26423 (grub_affs_label): Likewise.
26424 (grub_affs_iterate_dir): Likewise.
26425 * fs/sfs.c (grub_sfs_mount): Likewise.
26426 (grub_sfs_iterate_dir): Likewise.
26427 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
26428 * fs/hfs.c (grub_hfs_mount): Likewise.
26429 (grub_hfs_cmp_catkeys): Likewise.
26430 (grub_hfs_find_dir): Likewise.
26431 (grub_hfs_dir): Likewise.
26432 (grub_hfs_label): Likewise.
26433 * fs/jfs.c (grub_jfs_mount): Likewise.
26434 (grub_jfs_opendir): Likewise.
26435 (grub_jfs_getent): Likewise.
26436 (grub_jfs_lookup_symlink): Likewise.
26437 (grub_jfs_label): Likewise.
26438 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
26439 (grub_hfsplus_iterate_dir): Likewise.
26440 (grub_hfsplus_btree_iterate_node): Made static.
26441
26442 * util/grub-emu.c (prefix): New variable.
26443 (grub_machine_set_prefix): New function.
26444 (main): Do not set the environment variable "prefix" here. Only
26445 set PREFIX, which is used later by grub_machine_set_prefix.
26446
26447 * include/grub/video.h: Do not include grub/symbol.h.
26448 (grub_video_register): Not exported. This symbol is not defined in
26449 the kernel.
26450 (grub_video_unregister): Likewise.
26451 (grub_video_iterate): Likewise.
26452 (grub_video_setup): Likewise.
26453 (grub_video_restore): Likewise.
26454 (grub_video_get_info): Likewise.
26455 (grub_video_get_blit_format): Likewise.
26456 (grub_video_set_palette): Likewise.
26457 (grub_video_get_palette): Likewise.
26458 (grub_video_set_viewport): Likewise.
26459 (grub_video_get_viewport): Likewise.
26460 (grub_video_map_color): Likewise.
26461 (grub_video_map_rgb): Likewise.
26462 (grub_video_map_rgba): Likewise.
26463 (grub_video_fill_rect): Likewise.
26464 (grub_video_blit_glyph): Likewise.
26465 (grub_video_blit_bitmap): Likewise.
26466 (grub_video_blit_render_target): Likewise.
26467 (grub_video_scroll): Likewise.
26468 (grub_video_swap_buffers): Likewise.
26469 (grub_video_create_render_target): Likewise.
26470 (grub_video_delete_render_target): Likewise.
26471 (grub_video_set_active_render_target): Likewise.
26472
26473 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
26474 Undefined.
26475 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
26476
26477 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
26478 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
26479 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
26480 instead of $(srcdir)/genkernsyms.sh.
26481
26482 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
26483 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
26484 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
26485 instead of $(srcdir)/genkernsyms.sh.
26486
26487 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
26488 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
26489 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
26490 instead of $(srcdir)/genkernsyms.sh.
26491
26492 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
26493 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
26494 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
26495 instead of $(srcdir)/genkernsyms.sh.
26496
26497 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
26498 genkernsyms.sh.
26499
26500 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
26501 genkernsyms.sh.
26502 (gensymlist.sh): New target.
26503 (genkernsyms.sh): Likewise.
26504
26505 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
26506 genkernsyms.sh.in and gensymlist.sh.in.
26507
26508 * genkernsyms.sh: Removed.
26509 * gensymlist.sh: Likewise.
f19dbdb7 26510
7b455f4d 26511 * genkernsyms.sh.in: New file.
26512 * gensymlist.sh.in: Likewise.
26513
1885bb27 265142006-04-25 Hollis Blanchard <hollis@penguinppc.org>
26515
26516 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
26517 clobber "prefix", since we may have already set it manually.
26518
71538dff 265192006-04-25 Hollis Blanchard <hollis@penguinppc.org>
26520
26521 * kern/misc.c (abort): New alias for grub_abort.
26522
2965c7cc 265232006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
26524
26525 A new machine-specific function "grub_machine_set_prefix" is
26526 defined. This is called after loading modules, so that a prefix
26527 initialization can use modules. Also, this change adds an
26528 intensive debugging feature for the memory manager via the
26529 configure option "--enable-mm-debug".
f19dbdb7 26530
2965c7cc 26531 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
26532 PART.LEN.
26533
26534 * kern/sparc64/ieee1275/init.c (abort): Removed.
26535 (grub_stop): Likewise.
26536 (grub_exit): New function.
26537 (grub_set_prefix): Renamed to ...
26538 (grub_machine_set_prefix): ... this.
26539 (grub_machine_init): Do not call grub_set_prefix.
26540
26541 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
26542 (grub_machine_set_prefix): ... this.
26543 (grub_machine_init): Do not call grub_set_prefix.
26544
26545 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
26546 (grub_machine_init): Do not set the prefix here.
26547
26548 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
26549
26550 * kern/efi/init.c: Include grub/mm.h.
26551 (grub_efi_set_prefix): New function.
26552
26553 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
26554 (grub_efi_get_filename): New function.
26555 (grub_print_device_path): Renamed to ...
26556 (grub_efi_print_device_path): ... this.
26557
26558 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
26559 [MM_DEBUG] (grub_realloc): Likewise.
26560 [MM_DEBUG] (grub_free): Likewise.
26561 [MM_DEBUG] (grub_memalign): Likewise.
26562 [MM_DEBUG] (grub_mm_debug): New variable.
26563 [MM_DEBUG] (grub_debug_malloc): New function.
26564 [MM_DEBUG] (grub_debug_free): New function.
26565 [MM_DEBUG] (grub_debug_realloc): New function.
26566 [MM_DEBUG] (grub_debug_memalign): New function.
26567
26568 * kern/misc.c (grub_abort): Print a newline to distinguish
26569 the message.
26570
26571 * kern/main.c (grub_main): Call grub_machine_set_prefix and
26572 grub_set_root_dev after loading modules. This is necessary when
26573 setting a prefix depends on modules.
26574
26575 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
26576 (grub_efi_print_device_path): ... this.
26577 (grub_efi_get_filename): New prototype.
26578 (grub_efi_set_prefix): Likewise.
26579
26580 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
26581 and grub/disk.h.
26582 (grub_efidisk_get_device_handle): New prototype.
26583 (grub_efidisk_get_device_name): Likewise.
26584
26585 * include/grub/mm.h: Include config.h.
26586 (MM_DEBUG): Removed.
26587 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
26588 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
26589 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
26590 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
26591 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
26592 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
26593 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
26594 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
26595 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
26596
26597 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
26598
26599 * disk/efi/efidisk.c: Include grub/partition.h.
26600 (iterate_child_devices): New function.
26601 (add_device): First, compare only last device path nodes, so that
26602 devices are sorted by the types.
26603 (grub_efidisk_get_device_handle): New function.
26604 (grub_efidisk_get_device_name): Likewise.
26605
26606 * configure.ac (--enable-mm-debug): New option to enable the
26607 memory manager debugging feature. This makes the binary much
26608 bigger, so is disabled by default.
26609
9cacaa17 266102006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
26611
26612 Use grub_abort instead of grub_stop, and grub_exit must be
26613 define in each architecture now. Also, this change adds support
26614 for EFI disks.
f19dbdb7 26615
9cacaa17 26616 * util/i386/pc/grub-probefs.c: Include grub/term.h.
26617 (grub_getkey): New function.
26618 (grub_term_get_current): Likewise.
26619
26620 * util/i386/pc/grub-setup.c: Include grub/term.h.
26621 (grub_getkey): New function.
26622 (grub_term_get_current): Likewise.
26623
26624 * util/misc.c (grub_stop): Renamed to ...
26625 (grub_exit): ... this.
26626
26627 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
26628 (grub_exit): ... this.
26629 (grub_machine_init): Use grub_abort instead of abort.
26630 (grub_stop): Removed.
26631
26632 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
26633 abort.
26634
26635 * kern/i386/pc/startup.S (grub_exit): New function.
26636 (cold_reboot): New label.
26637
26638 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
26639 (grub_efi_init): Call grub_efidisk_init.
26640 (grub_efi_fini): Call grub_efidisk_fini.
26641
26642 * kern/efi/efi.c: Include grub/mm.h.
26643 (grub_efi_console_control_guid): Renamed to ...
26644 (console_control_guid): ... this.
26645 (grub_efi_loaded_image_guid): Renamed to ...
26646 (loaded_image_guid): ... this.
26647 (grub_efi_locate_handle): New function.
26648 (grub_efi_open_protocol): Likewise.
26649 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
26650 GRUB_EFI_CONSOLE_CONTROL_GUID.
26651 (grub_efi_exit): Removed.
26652 (grub_stop): Likewise.
26653 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
26654 (grub_exit): New function.
26655 (grub_print_device_path): Likewise.
26656
26657 * kern/rescue.c (grub_rescue_cmd_exit): New function.
26658 (grub_enter_rescue_mode): Register "exit".
26659
26660 * kern/misc.c (grub_real_dprintf): A cosmetic change.
26661 (grub_abort): New function.
26662
26663 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
26664
26665 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
26666
26667 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
26668
26669 * include/grub/efi/efi.h (grub_efi_exit): Removed.
26670 (grub_print_device_path): New prototype.
26671 (grub_efi_locate_handle): Likewise.
26672 (grub_efi_open_protocol): Likewise.
26673
26674 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
26675 * disk/efi/efidisk.c: Likewise.
26676
26677 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
26678
26679 * include/grub/efi/console_control.h
26680 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
26681
26682 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
26683 last 8 bytes as an array.
26684 (GRUB_EFI_DISK_IO_GUID): New macro.
26685 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
26686 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
26687 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
26688 grub_uint8_t.
26689 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
26690 (struct grub_efi_device_path): Rename the member "sub_type" to
26691 "subtype".
26692 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
26693 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
26694 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
26695 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
26696 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
26697 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
26698 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
26699 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
26700 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
26701 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
26702 (struct grub_efi_pci_device_path): New structure.
26703 (grub_efi_pci_device_path_t): New type.
26704 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
26705 (struct grub_efi_pccard_device_path): New structure.
26706 (grub_efi_pccard_device_path_t): New type.
26707 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
26708 (struct grub_efi_memory_mapped_device_path): New structure.
26709 (grub_efi_memory_mapped_device_path_t): New type.
26710 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
26711 (struct grub_efi_vendor_device_path): New structure.
26712 (grub_efi_vendor_device_path_t): New type.
26713 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
26714 (struct grub_efi_controller_device_path): New structure.
26715 (grub_efi_controller_device_path_t): New type.
26716 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
26717 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
26718 (struct grub_efi_acpi_device_path): New structure.
26719 (grub_efi_acpi_device_path_t): New type.
26720 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
26721 (struct grub_efi_expanded_acpi_device_path): New structure.
26722 (grub_efi_expanded_acpi_device_path_t): New type.
26723 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
26724 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
26725 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
26726 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
26727 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
26728 (struct grub_efi_atapi_device_path): New structure.
26729 (grub_efi_atapi_device_path_t): New type.
26730 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
26731 (struct grub_efi_fibre_channel_device_path): New structure.
26732 (grub_efi_fibre_channel_device_path_t): New type.
26733 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
26734 (struct grub_efi_1394_device_path): New structure.
26735 (grub_efi_1394_device_path_t): New type.
26736 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
26737 (struct grub_efi_usb_device_path): New structure.
26738 (grub_efi_usb_device_path_t): New type.
26739 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
26740 (struct grub_efi_usb_class_device_path): New structure.
26741 (grub_efi_usb_class_device_path_t): New type.
26742 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
26743 (struct grub_efi_i2o_device_path): New structure.
26744 (grub_efi_i2o_device_path_t): New type.
26745 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
26746 (struct grub_efi_mac_address_device_path): New structure.
26747 (grub_efi_mac_address_device_path_t): New type.
26748 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
26749 (struct grub_efi_ipv4_device_path): New structure.
26750 (grub_efi_ipv4_device_path_t): New type.
26751 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
26752 (struct grub_efi_ipv6_device_path): New structure.
26753 (grub_efi_ipv6_device_path_t): New type.
26754 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
26755 (struct grub_efi_infiniband_device_path): New structure.
26756 (grub_efi_infiniband_device_path_t): New type.
26757 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
26758 (struct grub_efi_uart_device_path): New structure.
26759 (grub_efi_uart_device_path_t): New type.
26760 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
26761 (struct grub_efi_vendor_messaging_device_path): New structure.
26762 (grub_efi_vendor_messaging_device_path_t): New type.
26763 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
26764 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
26765 (struct grub_efi_hard_drive_device_path): New structure.
26766 (grub_efi_hard_drive_device_path_t): New type.
26767 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
26768 (struct grub_efi_cdrom_device_path): New structure.
26769 (grub_efi_cdrom_device_path_t): New type.
26770 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
26771 (struct grub_efi_vendor_media_device_path): New structure.
26772 (grub_efi_vendor_media_device_path_t): New type.
26773 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
26774 (struct grub_efi_file_path_device_path): New structure.
26775 (grub_efi_file_path_device_path_t): New type.
26776 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
26777 (struct grub_efi_protocol_device_path): New structure.
26778 (grub_efi_protocol_device_path_t): New type.
26779 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
26780 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
26781 (struct grub_efi_bios_device_path): New structure.
26782 (grub_efi_bios_device_path_t): New type.
26783 (struct grub_efi_disk_io): New structure.
26784 (grub_efi_disk_io_t): New type.
26785 (struct grub_efi_block_io_media): New structure.
26786 (grub_efi_block_io_media_t): New type.
26787 (struct grub_efi_block_io): New structure.
26788 (grub_efi_block_io_t): New type.
26789
26790 * include/grub/misc.h (grub_stop): Removed.
26791 (grub_exit): New prototype.
26792 (grub_abort): Likewise.
26793
26794 * include/grub/disk.h (enum grub_disk_dev_id): Added
26795 GRUB_DISK_DEVICE_EFIDISK_ID.
26796
26797 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
26798 disk/efi/efidisk.c.
26799 (kernel_syms.lst): Remove the target if an error occurs.
26800
49986a9f 268012006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
26802
26803 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
26804 as it was simply too buggy.
26805
970d3b8a 268062006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
26807
26808 * kern/misc.c (grub_lltoa): New function.
26809 (grub_vsprintf): Added support for the long long suffix,
26810 i.e. "ll".
26811
ff04ec24 268122006-04-20 Hollis Blanchard <hollis@penguinppc.org>
26813
26814 * Makefile.in (LDFLAGS): Add variable.
26815 (LD): Remove variable.
26816 * configure.ac: Add -m32 to LDFLAGS.
26817 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
26818 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
26819 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
26820 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
26821 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
26822 variables.
26823 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
26824 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
26825 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
26826
37e5e1a4 268272006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
26828
26829 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
26830 length for unknown glyph.
26831
c352d8dd 268322006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
26833
2eab1c0d 26834 Add support for pre-loaded modules into the EFI port.
f19dbdb7 26835
2eab1c0d 26836 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
26837 completely. Accept one more argument DIR. The caller has changed.
26838
26839 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
26840
26841 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
26842 (grub_efi_loaded_image_guid): New variable.
26843 (grub_efi_get_loaded_image): New function.
26844 (grub_arch_modules_addr): Likewise.
26845
26846 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
26847 prototype.
26848
26849 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
26850 (struct grub_efi_loaded_image): New structure.
26851 (grub_efi_loaded_image_t): New type.
26852
268532006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 26854
c352d8dd 26855 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
26856 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
26857 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
26858
6d01d6b4 268592006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
26860
26861 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
26862
976a4ea0 268632006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
26864
26865 * DISTLIST: Added include/grub/efi/console.h,
26866 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
26867 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
26868
26869 * include/grub/efi/console.h: New file.
26870 * include/grub/efi/time.h: Likewise.
26871 * include/grub/i386/efi/kernel.h: Likewise.
26872 * kern/efi/init.c: Likewise.
26873 * kern/efi/mm.c: Likewise.
26874 * term/efi/console.c: Likewise.
f19dbdb7 26875
976a4ea0 26876 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
26877 (grub_stop): Removed.
26878 (grub_get_rtc): Likewise.
26879 (grub_machine_init): Simply call grub_efi_init.
26880 (grub_machine_fini): Call grub_efi_fini.
26881
26882 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
26883 (grub_efi_output_string): Removed.
26884 (grub_efi_stall): New function.
26885 (grub_stop): Likewise.
26886 (grub_get_rtc): Likewise.
26887
26888 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
26889 (grub_efi_stall): New prototype.
26890 (grub_efi_allocate_pages): Likewise.
26891 (grub_efi_free_pages): Likewise.
26892 (grub_efi_get_memory_map): Likewise.
26893 (grub_efi_mm_init): Likewise.
26894 (grub_efi_mm_fini): Likewise.
26895 (grub_efi_init): Likewise.
26896 (grub_efi_fini): Likewise.
26897
26898 * include/grub/i386/efi/time.h: Do not include
26899 grub/symbol.h. Include grub/efi/time.h.
26900 (GRUB_TICKS_PER_SECOND): Removed.
26901 (grub_get_rtc): Likewise.
26902
26903 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
26904 Added padding. The EFI spec is buggy.
26905 (GRUB_EFI_BLACK): New macro.
26906 (GRUB_EFI_BLUE): Likewise.
26907 (GRUB_EFI_GREEN): Likewise.
26908 (GRUB_EFI_CYAN): Likewise.
26909 (GRUB_EFI_RED): Likewise.
26910 (GRUB_EFI_MAGENTA): Likewise.
26911 (GRUB_EFI_BROWN): Likewise.
26912 (GRUB_EFI_LIGHTGRAY): Likewise.
26913 (GRUB_EFI_BRIGHT): Likewise.
26914 (GRUB_EFI_DARKGRAY): Likewise.
26915 (GRUB_EFI_LIGHTBLUE): Likewise.
26916 (GRUB_EFI_LIGHTGREEN): Likewise.
26917 (GRUB_EFI_LIGHTCYAN): Likewise.
26918 (GRUB_EFI_LIGHTRED): Likewise.
26919 (GRUB_EFI_LIGHTMAGENTA): Likewise.
26920 (GRUB_EFI_YELLOW): Likewise.
26921 (GRUB_EFI_WHITE): Likewise.
26922 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
26923 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
26924 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
26925 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
26926 (GRUB_EFI_BACKGROUND_RED): Likewise.
26927 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
26928 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
26929 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
26930 (GRUB_EFI_TEXT_ATTR): Likewise.
26931
26932 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
26933 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
26934 (kernel_mod_HEADERS): Added efi/time.h.
26935
83709125 269362006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
26937
26938 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
26939 include/grub/efi/api.h, include/grub/efi/console_control.h,
26940 include/grub/efi/efi.h, include/grub/efi/pe32.h,
26941 include/grub/i386/efi/time.h, kern/efi/efi.c,
26942 kern/i386/efi/init.c, kern/i386/efi/startup.S,
26943 and util/i386/efi/grub-mkimage.c.
26944
26945 * Makefile.in (RMKFILES): Added i386-efi.rmk.
26946
26947 * genmk.rb (PModule#rule): Do not export symbols if
26948 #{prefix}_EXPORTS is set to "no".
26949
26950 * conf/i386-efi.mk: New file.
26951 * conf/i386-efi.rmk: Likewise.
26952 * include/grub/efi/api.h: Likewise.
26953 * include/grub/efi/console_control.h: Likewise.
26954 * include/grub/efi/efi.h: Likewise.
26955 * include/grub/efi/pe32.h: Likewise.
26956 * include/grub/i386/efi/time.h: Likewise.
26957 * kern/efi/efi.c: Likewise.
26958 * kern/i386/efi/init.c: Likewise.
26959 * kern/i386/efi/startup.S: Likewise.
26960 * util/i386/efi/grub-mkimage.c: Likewise.
26961
269622006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 26963
26964 * include/grub/script.h: Include <grub/parser.h> and
26965 "grub_script.tab.h".
26966 (struct grub_lexer_param): New struct.
26967 (struct grub_parser_param): Likewise.
26968 (grub_script_create_arglist): Pass the state in an argument.
26969 (grub_script_add_arglist): Likewise.
26970 (grub_script_create_cmdline): Likewise.
26971 (grub_script_create_cmdblock): Likewise.
26972 (grub_script_create_cmdif): Likewise.
26973 (grub_script_create_cmdmenu): Likewise.
26974 (grub_script_add_cmd): Likewise.
26975 (grub_script_arg_add): Likewise.
26976 (grub_script_lexer_ref): Likewise.
26977 (grub_script_lexer_deref): Likewise.
26978 (grub_script_lexer_record_start): Likewise.
26979 (grub_script_lexer_record_stop): Likewise.
26980 (grub_script_mem_record): Likewise.
26981 (grub_script_mem_record_stop): Likewise.
26982 (grub_script_malloc): Likewise.
26983 (grub_script_yylex): Likewise.
26984 (grub_script_yyparse): Likewise.
26985 (grub_script_yyerror): Likewise.
26986 (grub_script_yylex): Likewise.
26987 (grub_script_lexer_init): Return the state.
26988
26989 * normal/lexer.c (grub_script_lexer_state): Removed variable.
26990 (grub_script_lexer_done): Likewise.
26991 (grub_script_lexer_getline): Likewise.
26992 (grub_script_lexer_refs): Likewise.
26993 (script): Likewise.
26994 (newscript): Likewise.
26995 (record): Likewise.
26996 (recording): Likewise.
26997 (recordpos): Likewise.
26998 (recordlen): Likewise.
26999 (grub_script_lexer_init): Return the state instead of setting
27000 global variables.
27001 (grub_script_lexer_ref): Use the newly added argument for state
27002 instead of globals.
27003 (grub_script_lexer_deref): Likewise.
27004 (grub_script_lexer_record_start): Likewise.
27005 (grub_script_lexer_record_stop): Likewise.
27006 (recordchar): Likewise.
27007 (nextchar): Likewise.
27008 (grub_script_yylex2): Likewise.
27009 (grub_script_yylex): Likewise.
27010 (grub_script_yyerror): Likewise.
27011
27012 * normal/parser.y (func_mem): Removed variable.
27013 (menu_entry): Likewise.
27014 (err): Likewise.
27015 (%lex-param): New parser option.
27016 (%parse-param): Likewise.
27017 (script): Always return the AST.
27018 (argument): Pass the state around.
27019 (arguments): Likewise.
27020 (grubcmd): Likewise.
27021 (commands): Likewise.
27022 (function): Likewise.
27023 (menuentry): Likewise.
27024 (if_statement): Likewise.
27025 (if): Likewise.
27026
27027 * normal/script.c (grub_script_memused): Removed variable.
27028 (grub_script_parsed): Likewise.
27029 (grub_script_malloc): Added a state argument. Use that instead of
27030 global variables.
27031 (grub_script_mem_record): Likewise.
27032 (grub_script_mem_record_stop): Likewise.
27033 (grub_script_arg_add): Likewise.
27034 (grub_script_add_arglist): Likewise.
27035 (grub_script_create_cmdline): Likewise.
27036 (grub_script_create_cmdif): Likewise.
27037 (grub_script_create_cmdmenu): Likewise.
27038 (grub_script_add_cmd): Likewise.
27039 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 27040
e2a8c904 270412006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 27042
27043 * normal/command.c (grub_command_init): Remove the title command.
27044
27045 * normal/lexer.c (grub_script_yylex): Renamed from this...
27046 (grub_script_yylex2): ... to this.
27047 (grub_script_yylex): New function. Temporary
27048 introduced to filter some tokens.
27049 (grub_script_yyerror): Print a newline.
27050
27051 * normal/main.c (read_config_file): Output information about the
27052 lines that contain errors. Wait for a key after all lines have
27053 been processed. Don't return an empty menu.
27054
27055 * normal/parser.y (func_mem): Don't initialize.
27056 (menu_entry): Likewise.
27057 (err): New variable.
27058 (script): Don't return anything when an error was encountered.
27059 (ws, returns): Removed rules.
27060 (argument): Disabled concatenated variable support.
27061 (arguments): Remove explicit separators.
27062 (grubcmd): Likewise.
27063 (function): Likewise.
27064 (menuentry): Likewise.
27065 (if): Likewise.
27066 (commands): Likewise. Add error handling.
27067
27068 * normal/script.c (grub_script_create_cmdline): If
27069 `grub_script_parsed' is 0, assume the parser encountered an error.
27070
c9a86192 270712006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
27072
27073 * configure.ac: Add support for EFI. Fix the typo
27074 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
27075
70f3b243 270762006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
27077
27078 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
27079 foreign multibyte characters should be shown correctly.
27080
65f201ad 270812006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
27082
27083 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
27084 calculation.
27085 (read_config_file): Made it to close file before returning.
27086
b4b93674 270872006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
27088
27089 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
27090 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
27091 video/i386/pc/vbefill.c.
27092
27093 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
27094 video/i386/pc/vbefill.c.
27095
27096 * include/grub/video.h (grub_video_blit_format): New enum.
27097 (grub_video_mode_info): Added new member blit_format.
27098 (grub_video_get_blit_format): New function prototype.
27099
27100 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
27101 function prototype.
27102 (grub_video_vbe_map_rgb): Likewise.
27103 (grub_video_vbe_unmap_color): Likewise.
27104
27105 * include/grub/i386/pc/vbeblit.h: New file.
27106
27107 * include/grub/i386/pc/vbefill.h: New file.
27108
27109 * video/video.c (grub_video_get_blit_format): New function.
27110 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
27111 (grub_video_vbe_map_rgb): Likewise.
27112 (grub_video_vbe_unmap_color): Likewise.
27113
27114 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
27115 optimized fills.
27116 (grub_video_vbe_blit_render_target): Changed to use more optimized
27117 blits.
27118 (grub_video_vbe_setup): Added detection for optimized settings.
27119 (grub_video_vbe_create_render_target): Likewise.
27120
27121 * video/i386/pc/vbeblit.c: New file.
27122
27123 * video/i386/pc/vbefill.c: New file.
27124
c2379b9c 271252006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
27126
27127 * font/manager.c (grub_font_get_glyph): Removed font fixup from
27128 here...
27129
27130 * util/unifont2pff.rb: ... and moved it to here. Improved argument
27131 parsing to support both hex and dec ranges. If filename was missing
27132 show usage information.
27133
bd0d7896 271342006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
27135
27136 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
27137 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
27138
27139 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
27140 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
27141 (video_mod_SOURCES): Added.
27142 (video_mod_CFLAGS): Likewise.
27143 (video_mod_LDFLAGS): Likewise.
27144 (gfxterm_mod_SOURCES): Likewise.
27145 (gfxterm_mod_CFLAGS): Likewise.
27146 (gfxterm_mod_LDFLAGS): Likewise.
27147 (videotest_mod_SOURCES): Likewise.
27148 (videotest_mod_CFLAGS): Likewise.
27149 (videotest_mod_LDFLAGS): Likewise.
27150 (vesafb_mod_SOURCES): Removed.
27151 (vesafb_mod_CFLAGS): Likewise.
27152 (vesafb_mod_LDFLAGS): Likewise.
27153 (vga_mod_SOURCES): Likewise.
27154 (vga_mod_CFLAGS): Likewise.
27155 (vga_mod_LDFLAGS): Likewise.
27156
27157 * commands/videotest.c: New file.
27158
27159 * font/manager.c (fill_with_default_glyph): Modified to use
27160 grub_font_glyph.
27161 (grub_font_get_glyph): Likewise.
27162 (fontmanager): Renamed from this...
27163 (font_manager): ... to this.
27164
27165 * include/grub/font.h (grub_font_glyph): Added new structure.
27166 (grub_font_get_glyph): Modified to use grub_font_glyph.
27167
27168 * include/grub/misc.h (grub_abs): Added as inline function.
27169
27170 * include/grub/video.h: New file.
27171
27172 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
27173 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
27174 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
27175 (grub_vbe_get_controller_info): Renamed from this...
27176 (grub_vbe_bios_get_controller_info): ... to this.
27177 (grub_vbe_get_mode_info): Renamed from this...
27178 (grub_vbe_bios_get_mode_info): ... to this.
27179 (grub_vbe_set_mode): Renamed from this...
27180 (grub_vbe_bios_set_mode): ... to this.
27181 (grub_vbe_get_mode): Renamed from this...
27182 (grub_vbe_bios_get_mode): ... to this.
27183 (grub_vbe_set_memory_window): Renamed from this...
27184 (grub_vbe_bios_set_memory_window): ... to this.
27185 (grub_vbe_get_memory_window): Renamed from this...
27186 (grub_vbe_bios_get_memory_window): ... to this.
27187 (grub_vbe_set_scanline_length): Renamed from this...
27188 (grub_vbe_set_scanline_length): ... to this.
27189 (grub_vbe_get_scanline_length): Renamed from this...
27190 (grub_vbe_bios_get_scanline_length): ... to this.
27191 (grub_vbe_set_display_start): Renamed from this...
27192 (grub_vbe_bios_set_display_start): ... to this.
27193 (grub_vbe_get_display_start): Renamed from this...
27194 (grub_vbe_bios_get_display_start): ... to this.
27195 (grub_vbe_set_palette_data): Renamed from this...
27196 (grub_vbe_bios_set_palette_data): ... to this.
27197 (grub_vbe_set_pixel_rgb): Removed.
27198 (grub_vbe_set_pixel_index): Likewise.
27199
27200 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
27201 from this...
27202 (grub_vbe_bios_get_controller_info): ... to this.
27203 (grub_vbe_get_mode_info): Renamed from this...
27204 (grub_vbe_bios_get_mode_info): ... to this.
27205 (grub_vbe_set_mode): Renamed from this...
27206 (grub_vbe_bios_set_mode): ... to this.
27207 (grub_vbe_get_mode): Renamed from this...
27208 (grub_vbe_bios_get_mode): ... to this.
27209 (grub_vbe_set_memory_window): Renamed from this...
27210 (grub_vbe_bios_set_memory_window): ... to this.
27211 (grub_vbe_get_memory_window): Renamed from this...
27212 (grub_vbe_bios_get_memory_window): ... to this.
27213 (grub_vbe_set_scanline_length): Renamed from this...
27214 (grub_vbe_set_scanline_length): ... to this.
27215 (grub_vbe_get_scanline_length): Renamed from this...
27216 (grub_vbe_bios_get_scanline_length): ... to this.
27217 (grub_vbe_set_display_start): Renamed from this...
27218 (grub_vbe_bios_set_display_start): ... to this.
27219 (grub_vbe_get_display_start): Renamed from this...
27220 (grub_vbe_bios_get_display_start): ... to this.
27221 (grub_vbe_set_palette_data): Renamed from this...
27222 (grub_vbe_bios_set_palette_data): ... to this.
27223 (grub_vbe_bios_get_controller_info): Fixed problem with registers
27224 getting corrupted after calling it. Added more pushes and pops.
27225 (grub_vbe_bios_set_mode): Likewise.
27226 (grub_vbe_bios_get_mode): Likewise.
27227 (grub_vbe_bios_get_memory_window): Likewise.
27228 (grub_vbe_bios_set_scanline_length): Likewise.
27229 (grub_vbe_bios_get_scanline_length): Likewise.
27230 (grub_vbe_bios_get_display_start): Likewise.
27231 (grub_vbe_bios_set_palette_data): Likewise.
27232
27233 * normal/cmdline.c (cl_set_pos): Refresh the screen.
27234 (cl_insert): Likewise.
27235 (cl_delete): Likewise.
27236
27237 * term/gfxterm.c: New file.
27238
27239 * term/i386/pc/vesafb.c: Removed file.
27240
27241 * video/video.c: New file.
27242
27243 * video/i386/pc/vbe.c (real2pm): Added new function.
27244 (grub_video_vbe_draw_pixel): Likewise.
27245 (grub_video_vbe_get_video_ptr): Likewise.
27246 (grub_video_vbe_get_pixel): Likewise
27247 (grub_video_vbe_init): Likewise.
27248 (grub_video_vbe_fini): Likewise.
27249 (grub_video_vbe_setup): Likewise.
27250 (grub_video_vbe_get_info): Likewise.
27251 (grub_video_vbe_set_palette): Likewise.
27252 (grub_video_vbe_get_palette): Likewise.
27253 (grub_video_vbe_set_viewport): Likewise.
27254 (grub_video_vbe_get_viewport): Likewise.
27255 (grub_video_vbe_map_color): Likewise.
27256 (grub_video_vbe_map_rgb): Likewise.
27257 (grub_video_vbe_map_rgba): Likewise.
27258 (grub_video_vbe_unmap_color): Likewise.
27259 (grub_video_vbe_fill_rect): Likewise.
27260 (grub_video_vbe_blit_glyph): Likewise.
27261 (grub_video_vbe_blit_bitmap): Likewise.
27262 (grub_video_vbe_blit_render_target): Likewise.
27263 (grub_video_vbe_scroll): Likewise.
27264 (grub_video_vbe_swap_buffers): Likewise.
27265 (grub_video_vbe_create_render_target): Likewise.
27266 (grub_video_vbe_delete_render_target): Likewise.
27267 (grub_video_vbe_set_active_render_target): Likewise.
27268 (grub_vbe_set_pixel_rgb): Remove function.
27269 (grub_vbe_set_pixel_index): Likewise.
27270 (index_color_mode): Remove static variable.
27271 (active_mode): Likewise.
27272 (framebuffer): Likewise.
27273 (bytes_per_scan_line): Likewise.
27274 (grub_video_vbe_adapter): Added new static variable.
27275 (framebuffer): Likewise.
27276 (render_target): Likewise.
27277 (initial_mode): Likewise.
27278 (mode_in_use): Likewise.
27279 (mode_list): Likewise.
27280
5f97350b 272812006-03-10 Marco Gerards <marco@gnu.org>
27282
27283 * configure.ac (AC_INIT): Bumped to 1.93.
27284
27285 * DISTLIST: Added `include/grub/hfs.h'.
27286
a3c5c6f8 272872006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
27288
27289 * boot/i386/pc/boot.S (general_error): Before looping, try INT
27290 18H, which might help the BIOS falling back to next boot media.
27291
6de53d26 272922006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
27293
27294 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
27295 Poe Chen <poe.poechen@gmail.com>.
27296
77c4a393 272972006-01-17 Marco Gerards <marco@gnu.org>
27298
27299 * include/grub/normal.h: Include <grub/script.h>.
27300 (grub_command_list): Removed struct.
27301 (grub_command_list_t): Removed type.
27302 (grub_menu_entry): Remove members `num' and `command_list'. Add
27303 members `commands' and `sourcecode'.
27304 * include/grub/script.h: Add inclusion guards.
27305 (grub_script_cmd_menuentry): New struct.
27306 (grub_script_execute_menuentry): New prototype.
27307 (grub_script_lexer_record_start): Likewise.
27308 (grub_script_lexer_record_stop): Likewise.
27309 * normal/execute.c (grub_script_execute_menuentry): New function.
27310 * normal/lexer.c (record, recording, recordpos, recordlen): New
27311 variables.
27312 (grub_script_lexer_record_start): New function.
27313 (grub_script_lexer_record_stop): Likewise.
27314 (recordchar): Likewise.
27315 (nextchar): Likewise.
27316 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
27317 2048 as the buffer size. Add the tokens `menuentry' and `@'.
27318 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
27319 (current_menu): New variable.
27320 (free_menu): Mainly rewritten.
27321 (grub_normal_menu_addentry): New function.
27322 (read_config_file): Rewritten.
27323 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 27324 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 27325 the menu entry.
27326 (run): Mainly rewritten.
27327 * normal/parser.y (menu_entry): New variable.
27328 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
27329 (menuentry): New rule.
27330 (command): Add `menuentry'.
27331 (if_statement): Allow additional returns before `fi'.
27332 * normal/script.c (grub_script_create_cmdmenu): New function.
27333
144f1f98 273342006-01-03 Marco Gerards <marco@gnu.org>
27335
27336 * INSTALL: GNU Bison is required.
27337 * configure.ac: Rewritten the test to detect Bison.
27338 * Makefile.in (YACC): New variable. Reported by Xun Sun
27339 <xun.sun.cn@gmail.com>.
27340
af4b2d89 273412006-01-03 Marco Gerards <marco@gnu.org>
27342
27343 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
27344 the HFS+ filesystem to filesystem blocks.
27345 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
27346 GCC warning is silenced.
27347
15643b71 273482006-01-03 Marco Gerards <marco@gnu.org>
27349
27350 * partmap/apple.c (apple_partition_map_iterate): Convert the data
27351 read from disk from big endian to host byte order.
27352
00905879 273532006-01-03 Hollis Blanchard <hollis@penguinppc.org>
27354
27355 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
27356 documentation.
27357 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
27358 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
27359 embedded HFS+ filesystem.
27360 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
27361 (grub_hfs_sblock): Move from here...
27362 * include/grub/hfs.h: To here... New file.
27363 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
27364 documentation.
27365 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
27366 New macros.
27367 (grub_hfsplus_volheader): Change type of member `magic' to
27368 `grub_uint16_t'.
27369 (grub_hfsplus_data): Add new member `embedded_offset'.
27370 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
27371 returned block.
27372 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
27373 Calculate the offset.
27374
8899bc3e 273752005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
27376
27377 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
27378 Removed.
27379 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
27380
ae8c0277 273812005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
27382
27383 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
27384 ENV->NAME is NULL after allocating ENV->VALUE.
27385
07084456 273862005-12-25 Marco Gerards <marco@gnu.org>
27387
27388 * kern/env.c (grub_env_set): Rewritten the error handling code.
27389
4750f5f1 273902005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
27391
27392 * geninit.sh: Made more robust, and more portable.
27393
50214199 273942005-12-25 Marco Gerards <marco@gnu.org>
27395
27396 Add support for Apple HFS+ filesystems.
f19dbdb7 27397
50214199 27398 * fs/hfsplus.c: New file.
27399
27400 * DISTLIST: Added `fs/hfsplus.c'.
27401
27402 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
27403 (hfsplus_mod_SOURCES): New variable.
27404 (hfsplus_mod_CFLAGS): Likewise.
27405 (hfsplus_mod_LDFLAGS): Likewise.
27406 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
27407 (grub_setup_SOURCES): Likewise.
27408 (grub_mkdevicemap_SOURCES): Likewise.
27409 (grub_emu_SOURCES): Likewise.
27410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27411
27412 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
27413
27414 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
27415
befaed6c 274162005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
27417
27418 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
27419 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
27420 include/grub/parser.h, include/grub/script.h, kern/parser.c,
27421 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
27422 normal/lexer.c, normal/parser.y, normal/script.c, and
27423 partmap/gpt.c.
27424 Removed kern/sparc64/cache.c.
27425
27426 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
27427 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
27428 grub_emu_init.c.
27429
27430 * configure.ac (AC_INIT): Bumped to 1.92.
27431
6a124103 274322005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
27433
27434 * kern/err.c (grub_error_push): Added new function to support error
27435 stacks.
27436 (grub_error_pop): Likewise.
27437 (grub_error_stack_items): New local variable to support error stacks.
27438 (grub_error_stack_pos): Likewise.
27439 (grub_error_stack_assert): Likewise.
27440 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
27441 stack depth.
27442 (grub_print_error): Added support to print errors from error stack.
27443
27444 * include/grub/err.h (grub_error_push): Added function prototype.
27445 (grub_error_pop): Likewise.
27446
be973c1b 274472005-12-09 Hollis Blanchard <hollis@penguinppc.org>
27448
27449 * configure.ac: Accept `powerpc64' as host_cpu.
27450 (amd64): Rename to `biarch32'.
27451
27452 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
27453 non-cacheline-aligned addresses.
27454
27455 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
27456 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
27457 if `size' is non-zero.
27458
b04216ab 274592005-12-03 Marco Gerards <mgerards@xs4all.nl>
27460
27461 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
27462 and `cd' to make sure the filename is not prefixed with a
27463 directory name.
27464 (pkgdata_MODULES): Add `gpt.mod'.
27465 (gpt_mod_SOURCES): New variable.
27466 (gpt_mod_CFLAGS): Likewise.
27467 (gpt_mod_LDFLAGS): Likewise.
27468
27469 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
27470
27471 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
27472 New macro.
27473
27474 * partmap/gpt.c: New file.
27475
27476 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
27477 GPT partition map is detected.
27478
41730ed9 274792005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
27480
27481 * commands/i386/pc/play.c: New file.
27482 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
27483 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
27484 macros.
f19dbdb7 27485
95dc3643 274862005-11-27 Marco Gerards <mgerards@xs4all.nl>
27487
27488 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
27489 ((unused))' to silence gcc warning.
27490
1569ec51 274912005-11-26 Hollis Blanchard <hollis@penguinppc.org>
27492
27493 * configure.ac: Correct `AC_PROG_YACC' test.
27494
9abde152 274952005-11-22 Hollis Blanchard <hollis@penguinppc.org>
27496
27497 * util/powerpc/ieee1275/grub-install.in: Run the mount point
27498 check before installing files.
27499
44b83271 275002005-11-22 Mike Small <smallm@panix.com>
27501
27502 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
27503 number regex so multidigit numbers are recognized correctly.
27504
275052005-11-22 Mike Small <smallm@panix.com>
27506
27507 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
27508 debugging message before attempting to claim memory.
27509 (grub_rescue_cmd_initrd): Add a claim debugging message and try
27510 multiple addresses in case of failure.
27511
9c12956b 275122005-11-22 Hollis Blanchard <hollis@penguinppc.org>
27513
27514 * term/tparm.c (get_space): Remove empty `if' statement.
27515
27516 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
27517
27518 * kern/parser.c (check_varstate): Rename `state' to 's'.
27519
aeaf81d9 275202005-11-22 Hollis Blanchard <hollis@penguinppc.org>
27521
27522 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
27523 variable definitions to the beginning of each function. Sort stack
27524 variables by size.
27525 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
27526 `buf' argument to `char *'.
27527
79bbb63f 275282005-11-22 Hollis Blanchard <hollis@penguinppc.org>
27529
27530 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
27531 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 27532 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 27533 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
27534 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
27535 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
27536 configfile.mod, search.mod, gzio.mod and test.mod.
27537 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
27538 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
27539 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
27540 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
27541 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
27542 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
27543 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
27544 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
27545 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
27546 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
27547 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
27548 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
27549 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
27550 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
27551 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
27552 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
27553 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27554 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
27555 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
27556 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
27557 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
27558 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
27559 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
27560
27561 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
27562 `grep --include'.
27563 (pkgdata_MODULES): Add test.mod.
27564
233b1628 275652005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27566
27567 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
27568 appending to variables with "+=".
27569 (PModule): Use full pathname to generate *.lst filenames.
27570
27571 * Makefile.in: Fixed list rules moved from genmk.rb.
27572 (.DELETE_ON_ERROR): New special target.
27573 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
27574
27575 * conf/i386-pc.rmk: Include conf/common.mk.
27576 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 27577 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 27578 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
27579 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
27580 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
27581 configfile.mod, search.mod, gzio.mod and test.mod.
27582 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
27583 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
27584 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
27585 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
27586 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
27587 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
27588 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
27589 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
27590 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
27591 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
27592 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
27593 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
27594 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
27595 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
27596 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
27597 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
27598 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27599 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
27600 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
27601 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
27602 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
27603 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
27604 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
27605 here...
27606 * conf/common.rmk: ... to here. New file.
27607
27608 * conf/common.mk: New file.
27609
16f820c8 276102005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
27611
27612 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
27613 (grub_script.tab.c): ... here.
27614
27615 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
27616 (grub_script.tab.c): ... here.
27617
27618 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
27619 (grub_script.tab.c): ... here.
27620
27621 * normal/command.c (grub_command_find): Fixed a memory leak of
27622 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
27623
63ba1554 276242005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27625
27626 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
27627 "@" which marks the start of a comment on ARM.
27628 (VARIABLE): Likewise.
27629
7f67dc13 276302005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27631
79bbb63f 27632 Add support for Linux/ADFS partition tables.
7f67dc13 27633
27634 * partmap/acorn.c: New file.
27635
27636 * include/grub/acorn_filecore.h: Likewise.
27637
27638 * DISTLIST: Added `partmap/acorn.c' and
27639 `include/grub/acorn_filecore.h'.
f19dbdb7 27640
7f67dc13 27641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27642 `partmap/acorn.c'.
27643 (pkgdata_MODULES): Add `acorn.mod'.
27644 (acorn_mod_SOURCES): New variable.
27645 (acorn_mod_CFLAGS): Likewise.
27646
27647 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
27648 `partmap/acorn.c'.
27649 (pkgdata_MODULES): Add `acorn.mod'.
27650 (acorn_mod_SOURCES): New variable.
27651 (acorn_mod_CFLAGS): Likewise.
27652
27653 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
27654 (pkgdata_MODULES): Add `acorn.mod'.
27655 (acorn_mod_SOURCES): New variable.
27656 (acorn_mod_CFLAGS): Likewise.
27657 (acorn_mod_LDFLAGS): Likewise.
27658
27659 * include/types.h (grub_disk_addr_t): New typedef.
27660
6d099807 276612005-11-13 Marco Gerards <mgerards@xs4all.nl>
27662
27663 * geninit.sh: New file.
27664
27665 * geninitheader.sh: Likewise.
27666
27667 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
27668 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
27669 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
27670 * commands/configfile.c (grub_configfile_init)
27671 (grub_configfile_fini): Likewise.
27672 * commands/default.c (grub_default_init, grub_default_fini):
27673 Likewise.
27674 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
27675 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
27676 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
27677 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
27678 Likewise.
27679 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
27680 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
27681 Likewise.
27682 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 27683 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 27684 Likewise.
27685 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
27686 Likewise.
fe6b695a 27687 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 27688 Likewise.
27689 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
27690 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
27691 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
27692 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
27693 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
27694 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
27695 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
27696 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
27697 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
27698 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
27699 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
27700 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
27701 * partmap/amiga.c (grub_amiga_partition_map_init)
27702 (grub_amiga_partition_map_fini): Likewise.
27703 * partmap/apple.c (grub_apple_partition_map_init)
27704 (grub_apple_partition_map_fini): Likewise.
27705 * partmap/pc.c (grub_pc_partition_map_init)
27706 (grub_pc_partition_map_fini): Likewise.
27707 * partmap/sun.c (grub_sun_partition_map_init,
27708 grub_sun_partition_map_fini): Likewise.
27709 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
27710 Likewise.
27711
27712 * util/grub-emu.c: Include <grub_modules_init.h>.
27713 (main): Don't initialize and de-initialize any modules directly,
27714 use `grub_init_all' and `grub_fini_all' instead.
27715
27716 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
27717 `grub_vesafb_mod_init'.
27718 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
27719 all users.
27720 * term/i386/pc/vga.c (grub_vga_init): Renamed to
27721 `grub_vga_mod_init'. Updated all users.
27722 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 27723
6d099807 27724 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
27725 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
27726 rules.
27727
27728 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
27729 Generate a function to initialize the module in utilities.
27730 Updated all callers.
27731 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
27732 initialize the module in utilities. Updated all callers.
27733
9046bcf0 277342005-11-09 Hollis Blanchard <hollis@penguinppc.org>
27735
27736 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
27737 escape sequence and a literal ^L to clear the screen.
27738
27739 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
27740 when returning from Open Firmware.
27741
d13ea639 277422005-11-09 Hollis Blanchard <hollis@penguinppc.org>
27743
27744 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
27745 (grub_ofconsole_height): Likewise.
27746 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
27747 manually insert a '\n'.
27748 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
27749 `grub_ofconsole_height'. Return early if these are already set.
27750
a8fcf206 277512005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
27752
27753 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
27754 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
27755 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
27756 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
27757 and `normal/script.c'.
27758 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
27759 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
27760 (test_mod_SOURCES): New variable.
27761 (test_mod_CFLAGS): Likewise.
27762 (test_mod_LDFLAGS): Likewise.
27763 (pkgdata_MODULES): Add `test.mod'.
27764 (grub_script.tab.c): New rule.
27765 (grub_script.tab.h): Likewise.
27766
b6b32745 277672005-11-07 Marco Gerards <mgerards@xs4all.nl>
27768
27769 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27770 `commands/test.c', `normal/execute.c', `normal/lexer.c',
27771 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
27772 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
27773 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
27774 (test_mod_SOURCES): New variable.
27775 (test_mod_CFLAGS): Likewise.
27776 (pkgdata_MODULES): Add `test.mod'.
27777 (grub_script.tab.c): New rule.
27778 (grub_script.tab.h): Likewise.
27779
daac212a 277802005-11-06 Marco Gerards <mgerards@xs4all.nl>
27781
27782 Add initial scripting support.
27783
27784 * commands/test.c: New file.
27785 * include/grub/script.h: Likewise.
27786 * normal/execute.c: Likewise.
27787 * normal/function.c: Likewise.
27788 * normal/lexer.c: Likewise.
27789 * normal/parser.y: Likewise.
27790 * normal/script.c: Likewise.
27791
27792 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 27793
daac212a 27794 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
27795 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
27796 `normal/function.c' and `normal/script.c'.
27797 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
27798 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 27799 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
27800 variables.
daac212a 27801 (pkgdata_MODULES): Add `test.mod'.
27802 (grub_script.tab.c): New rule.
27803 (grub_script.tab.h): Likewise.
27804
27805 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
27806
27807 * include/grub/normal.h (grub_test_init): New prototype.
27808 (grub_test_fini): Likewise.
f19dbdb7 27809
daac212a 27810 * normal/command.c: Include <grub/script.h>.
27811 (grub_command_execute): Rewritten.
f19dbdb7 27812
daac212a 27813 * util/grub-emu.c (main): Call `grub_test_init' and
27814 `grub_test_fini'.
27815
77500b2b 278162005-11-03 Hollis Blanchard <hollis@penguinppc.org>
27817
27818 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
27819 to 0.
27820 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
27821 there are no pending characters.
27822
e45deb9e 278232005-11-03 Hollis Blanchard <hollis@penguinppc.org>
27824
27825 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
27826 `grub_strndup' to drop device arguments. Replace unnecessary
27827 `grub_strndup' with `grub_strdup'.
27828
4ce32619 278292005-11-03 Hollis Blanchard <hollis@penguinppc.org>
27830
27831 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
27832 `debug' environment variable has been set.
27833
278342005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 27835
4ce32619 27836 * Makefile.in (install-local): Use $(DATA).
27837 (uninstall): Likewise.
27838 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
27839 (sbin_UTILITIES): ... to here.
27840 (sbin_SCRIPTS): New variable.
27841 (grub_install_SOURCES): New variable.
27842 * util/powerpc/ieee1275/grub-install.in: New file.
27843 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
27844 variable.
27845 (add_segments): Call `grub_util_get_path'.
27846
25fe6f03 278472005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
27848
27849 From Timothy Baldwin:
27850 * commands/ls.c (grub_ls_list_files): Close FILE with
27851 grub_file_close.
27852 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
27853
04ccf3ec 278542005-10-24 Marco Gerards <mgerards@xs4all.nl>
27855
27856 * include/grub/parser.h: New file.
27857
27858 * kern/parser.c: Likewise.
27859
27860 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
27861 (grub_setup_SOURCES): Likewise.
27862 (grub_probefs_SOURCES): Likewise.
27863 (grub_emu_SOURCES): Likewise.
27864 (kernel_img_HEADERS): Add `parser.h'.
27865
27866 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
27867 (grub_emu_SOURCES): Add `kern/parser.c'.
27868 (grubof_SOURCES): Likewise.
27869
27870 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
27871 (grubof_SOURCES): Add `kern/parser.c'.
27872
27873 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
27874
27875 * kern/misc.c (grub_split_cmdline): Removed function.
27876
27877 * kern/rescue.c: Include <grub/parser.h>.
27878 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
27879 of `grub_split_cmdline'.
27880
27881 * normal/command.c: Include <grub/parser.h>.
27882 (grub_command_execute): Use `grub_parser_split_cmdline' instead
27883 of `grub_split_cmdline'.
27884
27885 * normal/completion.c: Include <grub/parser.h>.
27886 (cmdline_state): New variable.
27887 (iterate_dir): End the filename with a quote depending on the
27888 command line state.
27889 (get_state): new function.
27890 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
27891 split the arguments and determine the current argument. When the
27892 argument string is not quoted, escape all spaces.
27893
6d8f4b0e 278942005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
27895
27896 * normal/sparc64/setjmp.S: New file.
27897
15cf03ed 278982005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
27899
27900 * include/grub/sparc64/libgcc.h: New file.
27901 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
27902 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
27903 normal/sparc64/setjmp.c.
27904
03e8661a 279052005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
27906
27907 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
27908 * kern/sparc64/cache.S: New file.
27909 * kern/sparc64/cache.c: Removed.
27910 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
27911 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
27912 -mtune=ultrasparc.
27913 (COMMON_LDFLAGS): Add -melf64_sparc.
27914 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
27915 (grubof_SOURCES): Use cache.S instead of cache.c.
27916 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
27917 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
27918 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
27919 commented though.
27920 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
27921 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
27922 (linux_mod_CFLAGS): Commented out.
27923 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
27924 out because module isn't built.
27925 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
27926 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
27927 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
27928 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
27929 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
27930 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
27931 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
27932 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
27933 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
27934 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
27935 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
27936 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
27937 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
27938 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
27939
34eeec8a 279402005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
27941
27942 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
27943 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
27944 longer, because HFS should not be used on PC.
27945
708367a3 279462005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27947
27948 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
27949 consistently within the loop.
27950
6fa1251a 279512005-10-15 Marco Gerards <mgerards@xs4all.nl>
27952
27953 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
27954 directory can not be read.
27955
4801580b 279562005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27957
27958 * configure.ac (AC_INIT): Increase the version number to 1.91.
27959
27960 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
27961 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
27962 term/i386/pc/serial.c.
27963
219ad426 279642005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27965
27966 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
27967 file size must be permitted.
27968
27969 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
27970 between %ah and %al.
27971
688e5699 279722005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27973
27974 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
27975 grub_uint64_t.
27976 Call the hook with a NUL-terminated filename.
27977 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
27978 grub_cpu_to_be32.
27979
27980 * kern/term.c (cursor_state): New variable.
27981 (grub_term_set_current): Reset the cursor state on a new
27982 terminal.
27983 (grub_setcursor): Rewritten to use CURSOR_STATE.
27984 (grub_getcursor): New function.
27985
27986 * include/grub/term.h (grub_getcursor): New prototype.
27987
27988 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
27989 integers on ARM. Reported by Timothy Baldwin
27990 <T.E.Baldwin99@members.leeds.ac.uk>.
27991
bb34586c 279922005-10-11 Marco Gerards <mgerards@xs4all.nl>
27993
27994 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
27995 allocated.
27996 (grub_sfs_dir): Likewise.
27997
9a909877 279982005-10-09 Marco Gerards <mgerards@xs4all.nl>
27999
28000 Add support for the SFS filesystem.
28001
28002 * fs/sfs.c: New file.
28003
28004 * DISTLIST: Added `fs/sfs.c'.
28005
28006 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
28007 (grub_probefs_SOURCES): Likewise.
28008 (grub_emu_SOURCES): Likewise.
28009 (pkgdata_MODULES): Add `sfs.mod'.
28010 (sfs_mod_SOURCES): New variable.
28011 (sfs_mod_CFLAGS): Likewise.
28012 (sfs_mod_LDFLAGS): Likewise.
28013
28014 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
28015 (pkgdata_MODULES): Add `sfs.mod'.
28016 (sfs_mod_SOURCES): New variable.
28017 (sfs_mod_CFLAGS): Likewise.
28018
28019 * util/grub-emu.c (main): Call `grub_sfs_init' and
28020 `grub_sfs_fini'.
28021
28022 * include/grub/fs.h (grub_sfs_init): New prototype.
28023 (grub_sfs_fini): Likewise.
28024
57bdbde3 280252005-10-07 Marco Gerards <mgerards@xs4all.nl>
28026
28027 Add support for the AFFS filesystem.
28028
28029 * fs/affs.c: New file.
28030
28031 * DISTLIST: Added `fs/affs.c'.
28032
28033 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
28034 (grub_probefs_SOURCES): Likewise.
28035 (grub_emu_SOURCES): Likewise.
28036 (pkgdata_MODULES): Add `affs.mod'.
28037 (affs_mod_SOURCES): New variable.
28038 (affs_mod_CFLAGS): Likewise.
28039 (affs_mod_LDFLAGS): Likewise.
28040
28041 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
28042 (pkgdata_MODULES): Add `affs.mod'.
28043 (affs_mod_SOURCES): New variable.
28044 (affs_mod_CFLAGS): Likewise.
28045
28046 * util/grub-emu.c (main): Call `grub_affs_init' and
28047 `grub_affs_fini'.
28048
28049 * include/grub/fs.h (grub_affs_init): New prototype.
28050 (grub_affs_fini): Likewise.
28051
047b67e0 280522005-10-01 Marco Gerards <mgerards@xs4all.nl>
28053
28054 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
28055
59b8208a 280562005-10-01 Marco Gerards <mgerards@xs4all.nl>
28057
28058 * configure.ac: Accept `x86_64' as host_cpu. In that case add
28059 `-m32' to CFLAGS.
28060
28061 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
28062 linking.
f19dbdb7 28063
59b8208a 28064 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
28065 (COMMON_LDFLAGS): New variable.
28066 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
28067 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
28068 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
28069 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
28070 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
28071 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
28072 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
28073 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
28074 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
28075 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
28076 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
28077 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
28078 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
28079 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
28080 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
28081 variables.
28082 (normal_mod_ASFLAGS): Add `-m32'.
28083
28084 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
28085 (grub_host_size_t, grub_host_ssize_t): New types.
28086 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 28087 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 28088 `GRUB_HOST_SIZEOF_VOID_P'.
28089
28090 * include/grub/kernel.h (struct grub_module_header): Type of
28091 member offset changed to `grub_host_off_t'. Type of member size
28092 changed to `grub_host_size_t'.
28093 (struct grub_module_info): Type of member offset changed to
28094 `grub_host_off_t'. Type of member size changed to
28095 `grub_host_size_t'.
28096
b4093103 280972005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
28098
28099 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 28100
b4093103 28101 * kern/i386/pc/startup.S (multiboot_header): New label.
28102 (multiboot_entry): Likewise.
28103 (multiboot_trampoline): Likewise.
28104
28105 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28106 Increased to 0x4A0.
28107
28108 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
28109 put parentheses after a question mark.
28110 [!GRUB_UTIL] (my_mod): New variable.
28111
28112 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
28113
b2499b29 281142005-09-28 Marco Gerards <mgerards@xs4all.nl>
28115
28116 Adds support for the XFS filesystem. Btrees are not supported
28117 yet.
28118
28119 * fs/xfs.c: New file.
28120
28121 * DISTLIST: Added `fs/xfs.c'.
28122
28123 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
28124 (grub_probefs_SOURCES): Likewise.
28125 (grub_emu_SOURCES): Likewise.
28126 (pkgdata_MODULES): Add `xfs.mod'.
28127 (xfs_mod_SOURCES): New variable.
28128 (xfs_mod_CFLAGS): Likewise.
28129
28130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
28131 (pkgdata_MODULES): Add `xfs.mod'.
28132 (xfs_mod_SOURCES): New variable.
28133 (xfs_mod_CFLAGS): Likewise.
28134
28135 * util/grub-emu.c (main): Call `grub_xfs_init' and
28136 `grub_xfs_fini'.
28137
28138 * include/grub/fs.h (grub_xfs_init): New prototype.
28139 (grub_xfs_fini): Likewise.
28140
f19dbdb7 28141
83d37a62 281422005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
28143
28144 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
28145 color modes, allow greater than 16 colors to be configured as
28146 a default palette.
28147
47d2d65e 281482005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
28149
28150 * normal/completion.c (complete_arguments): Add the qualifier
28151 const into OPTIONS.
28152
28153 From Omniflux <omniflux+lists@omniflux.com>:
28154 * include/grub/terminfo.h: New file.
28155 * include/grub/tparm.h: Likewise.
28156 * include/grub/i386/pc/serial.h: Likewise.
28157 * term/terminfo.c: Likewise.
28158 * term/tparm.c: Likewise.
28159 * term/i386/pc/serial.c: Likewise.
28160 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
28161 serial.mod.
28162 (terminfo_mod_SOURCES): New variable.
28163 (terminfo_mod_CFLAGS): Likewise.
28164 (serial_mod_SOURCES): Likewise.
28165 (serial_mod_CFLAGS): Likewise.
28166
48b671ff 281672005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
28168
28169 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
28170 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
28171 and kern/powerpc/ieee1275/cmain.c, respectively.
28172
28173 * boot/powerpc/ieee1275/crt0.S: Moved to ...
28174 * kern/powerpc/ieee1275/crt0.S: ... here.
28175
28176 * boot/powerpc/ieee1275/cmain.c: Moved to ...
28177 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 28178
48b671ff 28179 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
28180 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
28181 instead of boot/powerpc/ieee1275/crt0.S and
28182 boot/powerpc/ieee1275/cmain.c, respectively.
28183
28184 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
28185 sectors. It was not used anyway.
28186
09fc77a7 281872005-08-30 Hollis Blanchard <hollis@penguinppc.org>
28188
28189 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
28190 `unused parameter' warning.
28191
003789c7 281922005-08-30 Hollis Blanchard <hollis@penguinppc.org>
28193
28194 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
28195 function.
28196 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
28197 getcharwidth.
28198
67f44c86 281992005-08-28 Marco Gerards <metgerards@student.han.nl>
28200
28201 * include/grub/normal.h (enum grub_completion_type): Added
28202 `GRUB_COMPLETION_TYPE_ARGUMENT'.
28203
28204 * normal/cmdline.c (print_completion): Handle
28205 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
28206 * normal/menu_entry.c (store_completion): Likewise.
28207
28208 * normal/completion.c (complete_arguments): New function.
28209 (grub_normal_do_completion): Call `complete_arguments' when the
28210 current words start with a dash.
28211
0b5abe02 282122005-08-27 Marco Gerards <metgerards@student.han.nl>
28213
28214 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
28215 `gzio.mod' instead of `io.mod').
28216
d9864ee1 282172005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
28218
28219 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
28220 (DISTDIRS): Added io and video.
28221 Rewrite the search routine to make an output consistently.
28222
28223 * DISTLIST: Added conf/sparc64-ieee1275.mk,
28224 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
28225 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
28226 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
28227 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
28228 util/powerpc/ieee1275/misc.c.
f19dbdb7 28229
d9864ee1 28230 * include/grub/gzio.h: New file.
28231 * io/gzio.c: Likewise.
f19dbdb7 28232
d9864ee1 28233 * kern/file.c (grub_file_close): Call grub_device_close only if
28234 FILE->DEVICE is not NULL.
28235
28236 * include/grub/mm.h [!NULL] (NULL): New macro.
28237
28238 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
28239
28240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
28241 (pkgdata_MODULES): Added gzio.mod.
28242 (gzio_mod_SOURCES): New variable.
28243 (gzio_mod_CFLAGS): Likewise.
28244
28245 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
28246 (pkgdata_MODULES): Added gzio.mod.
28247 (gzio_mod_SOURCES): New variable.
28248 (gzio_mod_CFLAGS): Likewise.
28249
28250 * commands/cat.c: Include grub/gzio.h.
28251 (grub_cmd_cat): Use grub_gzfile_open instead of
28252 grub_file_open.
f19dbdb7 28253
d9864ee1 28254 * commands/cmp.c: Include grub/gzio.h.
28255 (grub_cmd_cmp): Use grub_gzfile_open instead of
28256 grub_file_open.
28257
28258 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
28259 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
28260 grub_file_open.
28261 (grub_rescue_cmd_module): Likewise.
28262
fa46f4b5 282632005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
28264
28265 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
28266 kern/sparc64/ieee1275/init.c because it contains _start.
28267 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
28268
e9211b5d 282692005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
28270
28271 * configure.ac: Add support for sparc64 host with ieee1275
28272 firmware.
28273 * configure: Generated from configure.ac.
28274 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
28275 instead of int.
28276 (grub_ofdisk_read): Likewise.
28277 (grub_ofdisk_open): Use %p to print pointer values, and cast the
28278 pointers as (void *) to remove a warning.
28279 (grub_ofdisk_close): Likewise.
28280 (grub_ofdisk_read): Likewise.
28281 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
28282 returns, so make it return void to remove a warning.
28283 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
28284 Corresponding prototype change.
28285 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
28286 values, and cast the pointers as (void *) to remove a warning.
28287 (grub_mm_dump): Likewise.
28288 * conf/sparc64-ieee1275.mk: New file.
28289 * conf/sparc64-ieee1275.rmk: Likewise.
28290 * include/grub/sparc64/setjmp.h: Likewise.
28291 * include/grub/sparc64/types.h: Likewise.
28292 * include/grub/sparc64/ieee1275/console.h: Likewise.
28293 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28294 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28295 * include/grub/sparc64/ieee1275/time.h: Likewise.
28296 * kern/sparc64/cache.c: Likewise.
28297 * kern/sparc64/dl.c: Likewise.
28298 * kern/sparc64/ieee1275/init.c: Likewise.
28299 * kern/sparc64/ieee1275/openfw.c: Likewise.
28300
385c6a92 283012005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
28302
28303 * util/console.c (grub_ncurses_putchar): If C is greater than
28304 0x7f, set C to a question mark.
28305 (grub_ncurses_getcharwidth): New function.
28306 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
28307 getcharwidth.
28308
28309 * normal/menu.c (print_entry): Made aware of Unicode. First,
28310 convert TITLE to UCS-4, and predict the cursor position by
28311 grub_getcharwidth.
28312
28313 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
28314 const to SRC.
28315 * kern/misc.c (grub_utf16_to_utf8): Likewise.
28316
16ccb8b1 283172005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
28318
28319 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
28320 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
28321 grub_strcat.
28322
28323 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
28324 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
28325 grub_strcpy and grub_strlen. Take it into account that a space
28326 character is inserted as a delimiter.
28327
6a85ce79 283282005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
28329
28330 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 28331 invalid magic in the error.
6a85ce79 28332
28333 * commands/search.c: New file.
f19dbdb7 28334
6a85ce79 28335 * util/grub-emu.c (main): Call grub_search_init and
28336 grub_search_fini.
28337
28338 * kern/rescue.c (grub_rescue_print_disks): Removed.
28339 (grub_rescue_print_devices): New function.
28340 (grub_rescue_cmd_ls): Use grub_device_iterate with
28341 grub_rescue_print_devices instead of grub_disk_dev_iterate with
28342 grub_rescue_print_disks.
28343
28344 * kern/partition.c (grub_partition_iterate): Return the result of
28345 PARTMAP->ITERATE instead of GRUB_ERRNO.
28346
28347 * kern/device.c: Include grub/partition.h.
28348 (grub_device_iterate): New function.
28349
28350 * include/grub/partition.h (grub_partition_iterate): Return int
28351 instead of grub_err_t.
28352
28353 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
28354 prototype.
28355 [GRUB_UTIL] (grub_search_fini): Likewise.
28356
28357 * include/grub/device.h (grub_device_iterate): New prototype.
28358
28359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
28360 commands/search.c.
28361 (pkgdata_MODULES): Added search.mod.
28362 (search_mod_SOURCES): New variable.
28363 (search_mod_CFLAGS): Likewise.
28364
28365 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
28366 (pkgdata_MODULES): Added search.mod.
28367 (search_mod_SOURCES): New variable.
28368 (search_mod_CFLAGS): Likewise.
28369
28370 * commands/ls.c (grub_ls_list_disks): Renamed to ...
28371 (grub_ls_list_devices): ... this, and use grub_device_iterate.
28372 All callers changed.
28373
28374 * DISTLIST: Added commands/search.c.
28375
ef095434 283762005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
28377
28378 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
28379 conversion.
28380 (grub_getcharwidth): New function.
28381
28382 * kern/misc.c (grub_utf8_to_ucs4): New function.
28383
28384 * include/grub/term.h (struct grub_term): Added a new member
28385 "getcharwidth".
28386 (grub_getcharwidth): New prototype.
28387
28388 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
28389
28390 * term/i386/pc/console.c (map_char): New function. Segregated from
28391 grub_console_putchar.
28392 (grub_console_putchar): Use map_char.
28393 (grub_console_getcharwidth): New function.
28394 (grub_console_term): Specified grub_console_getcharwidth as
28395 getcharwidth.
28396
28397 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
28398 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
28399
28400 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
28401 GRUB_ERRNO.
28402 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
28403 on grub_strtoul completely.
28404 (write_char): Declare local variables in the beginning of the
28405 function.
28406 (grub_vesafb_getcharwidth): New function.
28407 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
28408 getcharwidth.
28409
1f0a95e4 284102005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
28411
28412 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
28413 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
28414 commands/i386/pc/vbetest.c.
28415
28416 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
28417 call grub_vbe_get_controller_info again, because the returned
28418 information is volatile.
28419 (grub_vbe_set_video_mode): Mostly rewritten.
28420 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
28421 grub_vbe_status_t correctly.
28422 (grub_vbe_get_video_mode_info): Likewise.
28423 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
28424 several if statements.
28425
28426 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
28427 * commands/i386/pc/vbeinfo.c: ... this.
28428
28429 * commands/i386/pc/vbe_test.c: Renamed to ...
28430 * commands/i386/pc/vbetest.c: ... this.
28431
28432 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
28433 ...
28434 (grub_cmd_vbeinfo): ... this. Save video modes before
28435 iterating. Skip a video mode, if it is not available, not enough
28436 information is given or it is monochrome. Show the memory
28437 model. Leave the interpretation of MODEVAR to grub_strtoul
28438 completely.
28439 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
28440 (GRUB_MOD_FINI): Likewise.
28441
28442 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
28443 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
28444 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
28445 duplicated grub_env_get. Leave the interpretation of MODEVAR to
28446 grub_strtoul completely.
28447 (real2pm): Removed.
28448 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
28449 (GRUB_MOD_FINI): Likewise.
28450
28451 * normal/misc.c: Include grub/mm.h.
28452
28453 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
28454 vbe_list_modes with vbetest.mod and vbeinfo.mod.
28455 (vbe_list_modes_mod_SOURCES): Removed.
28456 (vbe_list_modes_mod_CFLAGS): Likewise.
28457 (vbe_test_mod_SOURCES): Likewise.
28458 (vbe_test_mod_CFLAGS): Likewise.
28459 (vbeinfo_mod_SOURCES): New variable.
28460 (vbeinfo_mod_CFLAGS): Likewise.
28461 (vbetest_mod_SOURCES): Likewise.
28462 (vbetest_mod_CFLAGS): Likewise.
28463
992ffbbe 284642005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
28465
28466 * normal/misc.c: New file.
28467
28468 * DISTLIST: Added normal/misc.c.
f19dbdb7 28469
992ffbbe 28470 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
28471 DISK to HOOK. Call HOOK with DISK.
28472 * partmap/apple.c (apple_partition_map_iterate): Likewise.
28473 * partmap/pc.c (pc_partition_map_iterate): Likewise.
28474 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28475
28476 * normal/menu_entry.c (struct screen): Added a new member
28477 "completion_shown".
28478 (completion_buffer): New global variable.
28479 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
28480 (store_completion): New function.
28481 (complete): Likewise.
28482 (clear_completions): Likewise.
28483 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
28484 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
28485 a tab, call complete.
28486
28487 * normal/completion.c (disk_dev): Removed.
28488 (print_simple_completion): Likewise.
28489 (print_partition_completion): Likewise.
28490 (print_func): New global variable.
28491 (add_completion): Do not take the arguments WHAT or PRINT any
28492 longer. Added a new argument TYPE. Instead of printing directly,
28493 call PRINT_FUNC if not NULL.
28494 All callers changed.
28495 (complete_device): Use a local variable DEV instead of
28496 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
28497 (grub_normal_do_completion): Take a new argument HOOK. Do not
28498 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
28499 empty string, return NULL instead.
28500 All callers changed.
28501
28502 * normal/cmdline.c (print_completion): New function.
28503
28504 * kern/partition.c (grub_partition_iterate): Add an argument DISK
28505 to HOOK.
28506 All callers changed.
28507
28508 * kern/disk.c (grub_print_partinfo): Removed.
28509
28510 * include/grub/partition.h (struct grub_partition_map): Add a new
28511 argument DISK into HOOK of ITERATE.
28512 (grub_partition_iterate): Add a new argument DISK to HOOK.
28513
28514 * include/grub/normal.h (enum grub_completion_type): New enum.
28515 (grub_completion_type_t): New type.
28516 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
28517 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
28518 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
28519 (GRUB_COMPLETION_TYPE_FILE): Likewise.
28520 (grub_normal_do_completion): Added a new argument HOOK.
28521 (grub_normal_print_device_info): New prototype.
28522
28523 * include/grub/disk.h (grub_print_partinfo): Removed.
28524
28525 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
28526 (normal_mod_SOURCES): Likewise.
28527 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28528 (normal_mod_SOURCES): Likewise.
28529
28530 * commands/ls.c (grub_ls_list_disks): Use
28531 grub_normal_print_device_info instead of grub_print_partinfo. Free
28532 PNAME.
28533 (grub_ls_list_files): Use grub_normal_print_device_info instead of
28534 duplicating the code.
28535
0bd41162 285362005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
28537
28538 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 28539 follow GCS more precisely.
28540 * commands/i386/pc/vbe_test.c: Likewise.
28541 * include/grub/i386/pc/vbe.h: Likewise.
28542 * term/i386/pc/vesafb.c: Likewise.
28543 * video/i386/pc/vbe.c: Likewise.
0bd41162 28544
6323696a 285452005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
28546
28547 * DISTLIST: Added term/i386/pc/vesafb.c
28548 DISTLIST: Added video/i386/pc/vbe.c
28549 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
28550 DISTLIST: Added commands/i386/pc/vbe_test.c.
28551 * commands/i386/pc/vbe_list_modes.c: New file.
28552 * commands/i386/pc/vbe_test.c: Likewise.
28553 * term/i386/pc/vesafb.c: Likewise.
28554 * video/i386/pc/vbe.c: Likewise.
28555 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
28556 (grub_vbe_probe) Added prototype.
28557 (grub_vbe_set_video_mode) Likewise.
28558 (grub_vbe_get_video_mode) Likewise.
28559 (grub_vbe_get_video_mode_info) Likewise.
28560 (grub_vbe_set_pixel_rgb) Likewise.
28561 (grub_vbe_set_pixel_index) Likewise.
28562 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
28563 (pkgdata_MODULES): Added vesafb.mod.
28564 (pkgdata_MODULES): Added vbe_list_modes.mod.
28565 (pkgdata_MODULES): Added vbe_test.mod.
28566 (vbe_mod_SOURCES): Added.
28567 (vbe_mod_CFLAGS): Likewise.
28568 (vesafb_mod_SOURCES): Likewise.
28569 (vesafb_mod_CFLAGS): Likewise.
28570 (vbe_list_modes_mod_SOURCES): Likewise.
28571 (vbe_list_modes_mod_CFLAGS): Likewise.
28572 (vbe_test_mod_SOURCES): Likewise.
28573 (vbe_test_mod_CFLAGS): Likewise.
28574
0a74e62f 285752005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
28576
0a74e62f 28577 * normal/command.c (grub_command_execute): If INTERACTIVE is
28578 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
28579 CMDLINE. Disable the pager if INTERACTIVE is true.
28580 All callers are changed.
28581
28582 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
28583 before reading a config file.
28584 * normal/main.c (read_config_file): Even if a command is not
28585 found, register it if it is within an entry.
28586
28587 * util/grub-emu.c: Include sys/types.h and unistd.h.
28588 (options): Added --hold.
28589 (struct arguments): Added a new member "hold".
28590 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
28591 missing.
28592 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
28593 cleared by a debugger, if it is not zero.
28594
28595 * include/grub/normal.h (grub_command_execute): Add an argument
28596 INTERACTIVE.
28597
e51f85ae 285982005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
28599
28600 * DISTLIST: Added include/grub/i386/pc/vbe.h.
28601
e9c6f39b 286022005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
28603
28604 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
28605 program with another one, because the old one didn't detect a bug
28606 in gcc-3.4. Always use regparm 2, because the new test is still
28607 not enough for gcc-4.0. Someone must investigate a simple test
28608 case which detects a bug in gcc-4.0.
28609
8de3495c 286102005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
28611
28612 * DISTLIST: Added normal/completion.c.
28613
28614 * normal/completion.c: New file.
f19dbdb7 28615
8de3495c 28616 * term/i386/pc/console.c (grub_console_getwh): New function.
28617 (grub_console_term): Assign grub_console_getwh to getwh.
28618
28619 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
28620 function is defined in normal/completion.c as
28621 grub_normal_do_completion.
28622 (grub_cmdline_get): Use grub_normal_do_completion instead of
28623 grub_tab_complete.
28624
28625 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
28626 returns non-zero, otherwise return 0.
28627 (grub_partition_iterate): First, probe the partition map. Then,
28628 call ITERATE only for this partition map.
28629
28630 * kern/misc.c (grub_strncmp): Rewritten.
28631
28632 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
28633 returns non-zero. Otherwise return 0.
28634
28635 * include/grub/partition.h (grub_partition_map_iterate): Return
28636 int instead of void.
28637
28638 * include/grub/normal.h (grub_normal_do_completion): New prototype.
28639
28640 * include/grub/misc.h (grub_strncmp): Change the type of N to
28641 grub_size_t.
28642
28643 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
28644 of void.
28645
28646 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 28647 unsigned explicitly before comparing it with I.
8de3495c 28648
28649 * kern/main.c (grub_env_write_root): Add the attribute unused into
28650 VAR.
28651
28652 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
28653 normal/completion.c.
28654 (normal_mod_SOURCES): Likewise.
28655 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28656 (normal_mod_SOURCES): Likewise.
28657
28658 * normal/command.c (grub_iterate_commands): If ITERATE returns
28659 non-zero, return one immediately.
28660
e85e144b 286612005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
28662
28663 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
28664 * kern/i386/pc/startup.S: Updated Global Descriptor table's
28665 descriptions.
28666 (grub_vbe_get_controller_info): New function.
28667 (grub_vbe_get_mode_info): Likewise.
28668 (grub_vbe_set_mode): Likewise.
28669 (grub_vbe_get_mode): Likewise.
28670 (grub_vbe_set_memory_window): Likewise.
28671 (grub_vbe_get_memory_window): Likewise.
28672 (grub_vbe_set_scanline_length): Likewise.
28673 (grub_vbe_get_scanline_length): Likewise.
28674 (grub_vbe_set_display_start): Likewise.
28675 (grub_vbe_get_display_start): Likewise.
28676 (grub_vbe_set_palette_data): Likewise.
28677 * include/grub/i386/pc/vbe.h: New file.
28678
c46153d2 286792005-08-08 Hollis Blanchard <hollis@penguinppc.org>
28680
28681 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
28682 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
28683 * DISTLIST: Likewise.
28684 * kern/ieee1275/of.c: Moved to ...
28685 * kern/ieee1275/ieee1275.c: ... here.
28686
0cb90c45 286872005-08-08 Hollis Blanchard <hollis@penguinppc.org>
28688
28689 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
28690 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
28691 Pass 0 as `end' parameter to grub_strtoul().
28692
a19fb360 286932005-08-08 Hollis Blanchard <hollis@penguinppc.org>
28694
28695 * include/grub/powerpc/ieee1275/console.h: Do not include
28696 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
28697 ifdef.
28698 (grub_console_cur_color): Remove i386-specific prototype.
28699 (grub_console_real_putchar): Likewise.
28700 (grub_console_checkkey): Likewise.
28701 (grub_console_getkey): Likewise.
28702 (grub_console_getxy): Likewise.
28703 (grub_console_gotoxy): Likewise.
28704 (grub_console_cls): Likewise.
28705 (grub_console_setcursor): Likewise.
28706 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
28707 Include <grub/machine/console.h>.
28708 * term/ieee1275/ofconsole.c: Likewise.
28709
4ac9bd04 287102005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
28711
28712 * Makefile.in (LIBLZO): New variable.
28713
28714 * configure.ac: Check for LZO version 2.
28715
28716 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
28717 lzo/lzo1x.h instead of lzo1x.h.
28718
28719 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
28720 of -llzo.
28721
28722 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
28723 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
28724
28725 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
28726 copying the data from PARTITION to P.
28727
f4917dfd 287282005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
28729
28730 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
28731 negative, unload the module.
28732
28733 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
28734 map is "pc_partition_map" but not "pc".
28735 (usage): Fix the description. The options are --boot-image and
28736 --core-image but not --boot-file or --core-file.
28737 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
28738 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
28739 DEFAULT_DIRECTORY.
28740
28741 * util/i386/pc/grub-install.in: Do not specify --boot-file or
28742 --core-file. Specify INSTALL_DEVICE as an argument.
28743
28744 * util/console.c: Include config.h.
28745 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
28746 [HAVE_NCURSES_H]: Include ncurses.h.
28747 [HAVE_CURSES_H]: Include curses.h.
28748 [!A_NORMAL] (A_NORMAL): Defined as zero.
28749 [!A_STANDOUT] (A_STANDOUT): Likewise.
28750
28751 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
28752 -lncurses.
28753 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
28754
28755 * configure.ac: Check for curses libraries and headers.
28756
28757 * Makefile.in (LIBCURSES): New variable.
28758
28759 * genmk.rb (Script::rule): Set the executable bits.
28760
28761 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
28762 name of the PC partition map is "pc_partition_map" but not "pc".
28763
0e143073 287642005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
28765
28766 * util/i386/pc/grub-install.in (grub_probefs): New variable.
28767 (modules): Likewise.
28768 (usage): Added descriptions for --modules and --grub-probefs.
28769 Handle --modules and --grub-probefs. Save the arguments in MODULES
28770 and GRUB_PROBEFS, respectively.
28771 Auto-detect a filesystem module against GRUBDIR. If the result is
28772 empty and modules are not specified explicitly, abort the
28773 installation. Add the result to MODULES.
28774
28775 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
28776 disk/powerpc/ieee1275/ofdisk.c,
28777 include/grub/powerpc/ieee1275/init.h and
28778 term/powerpc/ieee1275/ofconsole.c.
28779 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
28780 term/ieee1275/ofconsole.c.
28781
28782 * include/grub/powerpc/ieee1275/console.h: Resurrected.
28783
28784 * COPYING: Upgraded to the latest version. Only the address of the
28785 FSF office has changed.
f19dbdb7 28786
efd6e6d5 287872005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
28788
28789 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
28790 kern/ieee1275.c with kern/ieee1275/of.c.
28791
28792 * kern/ieee1275.c: Moved to ...
28793 * kern/ieee1275/of.c: ... here.
28794
8ceafda2 287952005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
28796
28797 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 28798 readability.
8ceafda2 28799
28800 * config.guess: Updated to the latest version from gnulib.
28801 * config.sub: Likewise.
28802 * install.sh: Likewise.
28803 * mkinstalldirs: Likewise.
28804
28805 * include/grub/console.h: Removed. This file is arch-specific. Do
28806 not put this in include/grub.
28807
28808 * include/grub/i386/pc/console.h: Resurrected.
28809
28810 * util/console.c: Include grub/machine/console.h instead of
28811 grub/console.h.
28812 * util/grub-emu.c: Likewise.
28813
267f6cd9 288142005-08-04 Marco Gerards <metgerards@student.han.nl>
28815
28816 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
28817 hardcoded value.
f19dbdb7 28818
267f6cd9 28819 From Vincent Pelletier <subdino2004@yahoo.fr>
28820 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
28821 Redefined to use grub_getwh.
28822 (grub_term): New member named getwh.
28823 (grub_getwh): New prototype.
28824 * kern/term.c (grub_getwh): New function.
28825 * term/i386/pc/console.c (grub_console_getwh): New function.
28826 (grub_console_term): New member `getwh'.
28827 * term/i386/pc/vga.c (grub_vga_getwh): New function.
28828 (grub_vga_term): New member `getwh'.
0b5abe02 28829 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 28830 grub_ssize_t.
28831 (grub_ofconsole_getw): New function.
28832 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
28833 (grub_ofconsole_term): New field named getwh and new initial
28834 value.
28835
3be7266d 288362005-08-03 Hollis Blanchard <hollis@penguinppc.org>
28837
28838 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
28839 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
28840 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
28841 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
28842 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
28843 of <grub/machine/ieee1275.h>.
28844 * commands/ieee1275/reboot.c: Likewise.
28845 * boot/powerpc/ieee1275/ieee1275.c: Move ...
28846 * kern/ieee1275.c: ... to here. All users updated. Change all
28847 parameter structs to use new type `grub_ieee1275_cell_t'.
28848 * term/powerpc/ieee1275/ofconsole.c: Move ...
28849 * term/ieee1275/ofconsole.c: ... to here. All users updated.
28850 * disk/powerpc/ieee1275/ofdisk.c: Move ...
28851 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
28852 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
28853 to return int.
28854 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
28855 Remove unused prototypes. All users updated.
28856 * include/grub/powerpc/ieee1275/console.h: Removed.
28857 * include/grub/powerpc/ieee1275/ieee1275.h: Define
28858 `grub_ieee1275_cell_t'.
28859 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
28860 Cast comparisons with -1 to the correct type.
28861 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
28862 type to match `grub_ieee1275_entry_fn'.
28863
8b5f3938 288642005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
28865
28866 * DISTLIST: Added util/i386/pc/grub-probefs.c.
28867
28868 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
28869 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
28870 partmap/sun.c.
28871 (grub_probefs_SOURCES): New variable.
28872
28873 * util/i386/pc/grub-probefs.c: New file.
28874
28875 * util/i386/pc/grub-setup.c (main): Call
28876 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
28877 grub_hfs_init and grub_jfs_init to initialize the system. Call
28878 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
28879 grub_pc_partition_map_fini to finish the system.
28880
ea409713 288812005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
28882
28883 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
28884 function.
28885 (grub_multiboot_load_elf32): Likewise.
28886 (grub_multiboot_is_elf64): Likewise.
28887 (grub_multiboot_load_elf64): Likewise.
28888 (grub_multiboot_load_elf): Likewise.
28889 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
28890 an ELF32 or ELF64 file.
28891 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
28892
28893 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
28894 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
28895 NULL before calling FS->LABEL.
28896 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
28897 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
28898 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
28899 before calling FS->LABEL.
28900
141a288b 289012005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
28902
28903 * util/i386/pc/grub-install.in (datadir): New variable.
28904 (libdir): Removed.
28905 (pkgdatadir): New variable.
28906 (pkglibdir): Removed.
28907
0d5f8a54 289082005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
28909
28910 * DISTLIST: Added util/i386/pc/grub-install.in.
28911
28912 * util/i386/pc/grub-install.in: New file.
28913
28914 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
28915 (grub_install_SOURCES): Likewise.
28916
28917 * genmk.rb: Added support for scripts.
28918 (Script): New class.
28919 (scripts): New variable.
28920
28921 * Makefile.in (install-local): Install sbin_SCRIPTS by
28922 INSTALL_SCRIPT.
28923 (uninstall): Remove sbin_SCRIPTS.
28924
28925 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
28926 device, try to get a GRUB device by
28927 grub_util_biosdisk_get_grub_dev.
28928 Free DEST_DEV.
28929
28930 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
28931 description for --device-map.
28932
5f968e1e 289332005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
28934
28935 Change the semantics of variable hooks. They now return strings
28936 instead of error values.
f19dbdb7 28937
5f968e1e 28938 * util/i386/pc/grub-setup.c: Include grub/env.h.
28939 (setup): Use grub_device_set_root instead of grub_env_set.
28940
28941 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
28942 grub_env_get instead of grub_device_set_root and
28943 grub_device_get_root, respectively.
28944
28945 * kern/main.c (grub_env_write_root): New function.
28946 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
28947 grub_env_set instead of grub_device_set_root.
28948
28949 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
28950 many variables.
28951 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
28952 rather than calling ENV->WRITE_HOOK afterwards.
28953 (grub_env_get): Return the result of ENV->READ_HOOK rather than
28954 passing a pointer of a pointer.
28955 (grub_register_variable_hook): Change the types of "read_hook" and
28956 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
28957 respectively.
28958 Allocate the default empty string on the heap, because this string
28959 may be freed later.
28960
28961 * kern/device.c: Include grub/env.h.
28962 (grub_device_set_root): Removed.
28963 (grub_device_get_root): Likewise.
28964 (grub_device_open): Use grub_env_get instead of
28965 grub_device_get_root.
28966
28967 * include/grub/env.h (grub_env_read_hook_t): New type.
28968 (grub_env_write_hook_t): Likewise.
28969 (grub_env_var): Change the types of "read_hook" and "write_hook"
28970 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
28971 (grub_register_variable_hook): Likewise.
28972
28973 * include/grub/device.h (grub_device_set_root): Removed.
28974 (grub_device_set_root): Likewise.
28975
28976 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
28977 make sure that DIRNAME terminates with '/', so that
28978 grub_fat_find_dir will fail if PATH is not a directory.
28979
28980 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
28981 from DIRNAME.
28982 Use the qualifier auto for print_files and print_files_long.
28983 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
28984 as a regular file.
28985 Put a newline only if there is no error.
28986 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
28987 used.
28988
896f0afd 289892005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
28990
28991 * kern/partition.c (grub_partition_probe): Initialize PART to
28992 NULL. Otherwise, when no partition map is registered, this returns
28993 a garbage.
28994
b28b81b2 289952005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
28996
28997 * partmap/apple.c (apple_partition_map_iterate): Check if POS
28998 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
28999 valid.
29000
5f3607e0 290012005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
29002
29003 * commands/ls.c (grub_ls_list_disks): Print the filesystem
29004 information on each device, if it does not have partitions. Print
29005 "Device" instead of "Disk", because this function is not specific
29006 to disk devices.
29007
29008 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
29009 static to ensure that it is put on the memory rather than a
29010 register.
29011
502c87e8 290122005-07-17 Yoshinori Okuji <okuji@enbug.org>
29013
29014 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
29015 (grub_cat_init): Likewise.
29016 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
29017 (options): Likewise.
29018 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
29019 (grub_configfile_init): Likewise.
29020 * font/manager.c (GRUB_MOD_INIT): Likewise.
29021 * commands/help.c (GRUB_MOD_INIT): Likewise.
29022 (grub_help_init): Likewise.
29023 * normal/command.c (grub_command_init): Likewise.
29024 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
29025 * disk/loopback.c (grub_loop_init): Likewise.
29026 (GRUB_MOD_INIT): Likewise.
29027 * commands/ls.c (grub_ls_init): Likewise.
29028 (GRUB_MOD_INIT): Likewise.
29029 (options): Likewise.
29030 * commands/boot.c (grub_boot_init): Likewise.
29031 (GRUB_MOD_INIT): Likewise.
29032 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
29033 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
29034 (GRUB_MOD_INIT): Likewise.
29035 * commands/cmp.c (grub_cmp_init): Likewise.
29036 (GRUB_MOD_INIT): Likewise.
29037
29038 * normal/arg.c: Use <> instead of "" to include header files.
29039 (SHORT_ARG_HELP): New macro.
29040 (SHORT_ARG_USAGE): Likewise.
29041 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
29042 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
29043 descriptions.
29044 (find_short): Check if C is 'h' or 'u' explicitly.
29045 (grub_arg_show_help): Use space characters instead of tabs. Treat
29046 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
29047 are shown with --help and --usage only if they are not used for
29048 the command itself.
29049 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
29050 'h' and 'u'.
29051
29052 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
29053 const into "longarg". Change the type of "shortarg" to int.
29054
f806d18e 290552005-07-17 Yoshinori Okuji <okuji@enbug.org>
29056
29057 * boot/i386/pc/boot.S (boot_drive_check): New label.
29058
29059 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
29060 macro.
29061
29062 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
29063 which do not pass a boot drive correctly. Copied from GRUB Legacy.
29064
e293232b 290652005-07-17 Yoshinori Okuji <okuji@enbug.org>
29066
29067 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
29068 When turning off Gate A20, skip the check and return immediately,
29069 because this is not fatal usually.
29070
ebedfd00 290712005-07-17 Yoshinori Okuji <okuji@enbug.org>
29072
29073 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
29074 be 0x7C00 instead of 0x8000.
29075
29076 * boot/i386/pc/pxeboot.S: Rewritten.
29077
29078 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
29079 EXT_C.
29080 (gate_a20_check_state): Read a byte from 0x108000. Invert the
29081 result.
29082
654fc59f 290832005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
29084
29085 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
29086 robustness. This routine now supports a BIOS call and System
29087 Control Port A to modify the gate A20.
29088
29089 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29090 Increased to 0x440.
29091
09f9923f 290922005-07-12 Hollis Blanchard <hollis@penguinppc.org>
29093
29094 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
29095 device path and resulting ihandle.
29096 (grub_ofdisk_close): dprintf the ihandle being closed.
29097 (grub_ofdisk_read): dprintf function parameters.
29098 * kern/mm.c (grub_mm_init_region): Likewise.
29099 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
29100 (grub_linux_boot): dprintf the Linux entry point, initrd address and
29101 size, and boot arguments.
29102 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
29103 before loading into memory.
29104 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
29105 before loading into memory.
29106
7ef504d8 291072005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
29108
29109 * kern/mm.c: Added much documentation.
29110 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
29111 8, set to 5 instead of 8.
29112
e0f050c2 291132005-07-10 Yoshinori Okuji <okuji@enbug.org>
29114
29115 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
29116
29117 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
29118 (grub_mkdevicemap_SOURCES): New variable.
29119
29120 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
29121 lib/device.c of GRUB Legacy.
29122
7224189a 291232005-07-10 Yoshinori Okuji <okuji@enbug.org>
29124
29125 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
29126 instead of PATH is NULL.
29127
68c864eb 291282005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
29129
29130 * commands/cmp.c (BUFFER_SIZE): New macro.
29131 (grub_cmd_cmp): Close the right file at the right time. Compare
29132 only data just read. Don't report files of different size as
29133 identical. Dynamically allocate buffers. Move variable
29134 declarations at the beginning of function.
29135
e6f3e614 291362005-07-09 Yoshinori Okuji <okuji@enbug.org>
29137
29138 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
29139 reverse.
29140
f8f1559a 291412004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
29142
29143 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
29144 when backspace is pressed at beginning of line.
29145
39c9d41d 291462005-07-03 Yoshinori Okuji <okuji@enbug.org>
29147
29148 * DISTLIST: Added genfslist.sh.
29149
29150 * normal/main.c (fs_module_list): New variable.
29151 (autoload_fs_module): New function.
29152 (read_fs_list): Likewise.
29153 (grub_normal_execute): Call read_fs_list.
29154
29155 * kern/fs.c (grub_fs_autoload_hook): New variable.
29156 (grub_fs_probe): Added support for auto-loading.
29157
29158 * include/grub/normal.h (struct grub_fs_module_list): New struct.
29159 (grub_fs_module_list_t): New type.
29160
29161 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
29162 (grub_fs_autoload_hook): New prototype.
29163
29164 * genfslist.sh: New file.
f19dbdb7 29165
39c9d41d 29166 * genmk.rb: Added a rule to generate a filesystem list.
29167
121c1d83 291682005-06-30 Marco Gerards <metgerards@student.han.nl>
29169
29170 * configure.ac: Fix the test for cross-compiling.
29171
29172 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
29173 define GRUB_UTIL anymore.
29174
29175 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
29176 so this function works on other systems than just big endian.
29177 (load_modules): Likewise.
29178 (add_segments): Likewise.
29179
e75d76e1 291802005-06-23 Hollis Blanchard <hollis@penguinppc.org>
29181
29182 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
29183 contains `l' modifier, get a long from va_arg().
29184
50b5a0a7 291852005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
29186
29187 * kern/mm.c (grub_free): If the next free block which is being
29188 merged is the first free block, set the first block to the block
29189 being freed.
29190 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
29191
89371b20 291922005-05-08 Hollis Blanchard <hollis@penguinppc.org>
29193
29194 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
29195 `grub_ieee1275_chosen'.
29196
168d6e58 291972005-05-08 Hollis Blanchard <hollis@penguinppc.org>
29198
29199 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
29200 (grub_ieee1275_chosen): New variable.
29201 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
29202 `chosen'.
29203 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
29204 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
29205 Rename first argument to `phandle' for consistency.
29206 (grub_ieee1275_get_property_length): Likewise.
29207 (grub_ieee1275_next_property): Likewise. Change type of first argument
29208 to grub_ieee1275_phandle_t.
29209 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
29210 Move export next to declaration.
29211 (grub_ieee1275_chosen): New variable.
29212 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
29213 Correct cosmetic typo.
29214 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
29215 `grub_ieee1275_chosen'.
29216 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
29217 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
29218 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
29219 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
29220 `grub_ieee1275_chosen'.
29221
ca5baa3f 292222005-05-10 Hollis Blanchard <hollis@penguinppc.org>
29223
29224 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
29225 /chosen/bootargs.
29226 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
29227 /chosen/bootargs as "variable=value" pairs.
29228
708b345f 292292005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
29230
29231 * include/grub/misc.h (grub_dprintf): New macro.
29232 (grub_real_dprintf): New prototype.
29233 (grub_strword): Likewise.
29234 (grub_iswordseparator): Likewise.
29235 * kern/misc.c (grub_real_dprintf): New function.
29236 (grub_strword): Likewise.
29237 (grub_iswordseparator): Likewise.
29238
f4c5e67c 292392005-04-30 Hollis Blanchard <hollis@penguinppc.org>
29240
29241 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
29242 (roundup): Remove macro.
29243 (grub_ieee1275_flags): Make static.
29244 (grub_ieee1275_realmode): Remove.
29245 (grub_ieee1275_test_flag): New function.
29246 (grub_ieee1275_set_flag): Likewise.
29247 (find_options): Rename to `grub_ieee1275_find_options'; update
29248 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
29249 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
29250 (cmain): New prototype.
29251 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
29252 `grub_ieee1275_flags' directly.
29253 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
29254 machine/biosdisk.h.
29255 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
29256 Don't include grub/machine/init.h.
29257 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
29258 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
29259 Remove prototype.
29260 (grub_ieee1275_realmode): Likewise.
29261 (grub_ieee1275_flag): New enum.
29262 (grub_ieee1275_test_flag): New prototype.
29263 (grub_ieee1275_set_flag): New prototype.
29264 * include/grub/powerpc/ieee1275/init.h: Remove file.
29265 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
29266 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
29267 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
29268 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
29269 comment.
29270 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
29271 `grub_ieee1275_test_flag'.
29272 (grub_ieee1275_encode_devname): Likewise.
29273
ed16607e 292742005-04-21 Hollis Blanchard <hollis@penguinppc.org>
29275
29276 * include/grub/powerpc/ieee1275/ieee1275.h
29277 (grub_ieee1275_encode_devname): New prototype.
29278 (grub_ieee1275_get_filename): Likewise.
29279 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
29280 function.
29281 (grub_set_prefix): Likewise.
29282 (grub_machine_init): Call grub_set_prefix.
29283 * kern/powerpc/ieee1275/openfw.c: Fix typos.
29284 (grub_parse_type): New enum.
29285 (grub_ieee1275_get_devargs): New function.
29286 (grub_ieee1275_get_devname): Likewise.
29287 (grub_ieee1275_parse_args): Likewise.
29288 (grub_ieee1275_get_filename): Likewise.
29289 (grub_ieee1275_encode_devname): Likewise.
29290
be369920 292912005-03-30 Marco Gerards <metgerards@student.han.nl>
29292
29293 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
29294 `grub_loader_unset'.
29295
a5ce3a4a 292962005-03-26 Hollis Blanchard <hollis@penguinppc.org>
29297
29298 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
29299 instead of grub_ieee1275_interpret.
29300 (grub_halt_init): New function.
29301 (grub_halt_fini): Likewise.
29302 (GRUB_MOD_INIT): Correct message grammar.
29303 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
29304 instead of grub_ieee1275_interpret.
29305 (grub_reboot_init): New function.
29306 (grub_reboot_fini): Likewise.
29307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
29308 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
29309 util/i386/pc/misc.c with commands/ieee1275/halt.c,
29310 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
29311 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
29312 function.
29313 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
29314 Add prototype.
29315 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
29316 prototype.
29317 (grub_halt): Likewise.
29318 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
29319 (cmain): Remove __attribute__((unused)).
29320 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
29321 (grub_heap_len): Likewise.
29322 (grub_machine_fini): New function.
29323 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
29324 (grub_halt): Likewise.
29325 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
29326 function.
29327 * util/powerpc/ieee1275/misc.c: New file.
29328
0058f771 293292005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
29330
29331 * DISTLIST: New file.
29332 * gendistlist.sh: Likewise.
f19dbdb7 29333
0058f771 29334 * Makefile.in (COMMON_DISTFILES): Removed.
29335 (BOOT_DISTFILES): Likewise.
29336 (CONF_DISTFILES): Likewise.
29337 (DISK_DISTFILES): Likewise.
29338 (FS_DISTFILES): Likewise.
29339 (INCLUDE_DISTFILES): Likewise.
29340 (KERN_DISTFILES): Likewise.
29341 (LOADER_DISTFILES): Likewise.
29342 (TERM_DISTFILES): Likewise.
29343 (UTIL_DISTFILES): Likewise.
29344 (DISTFILES): Likewise.
29345 (uninstall): Uninstall files in $(pkgdata_DATA).
29346 (DISTLIST): New target.
29347 (distdir): Use the contents of the file DISTLIST to get a list of
29348 distributed files.
29349
46b3b8a5 293502005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
29351
29352 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
29353 descriptor. This is ported from GRUB Legacy.
29354
29355 * gencmdlist.sh: Added an extra semicolon to make it work with
29356 old sed versions. Reported by Robert Bihlmeyer
29357 <robbe@orcus.priv.at>.
29358
5822ff87 293592005-03-08 Yoshinori Okuji <okuji@enbug.org>
29360
29361 Automatic loading of commands is supported.
f19dbdb7 29362
5822ff87 29363 * normal/main.c (read_command_list): New function.
29364 (grub_normal_execute): Call read_command_list.
29365
29366 * normal/command.c (grub_register_command): Return zero or CMD.
29367 Allocate CMD->NAME from the heap.
29368 Initialize CMD->MODULE_NAME to zero.
29369 Find the same name as well. If the same command is found and it is
29370 a dummy command, overwrite members. If it is not a dummy command,
29371 return zero.
29372 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
29373 (grub_command_find): If a dummy command is found, load a module
29374 and retry to find a command only once.
29375
29376 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
29377 make sure that each command is loaded.
29378
29379 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
29380 macro.
29381 (struct grub_command): Remove const from the member `name'.
29382 Add a new member `module_name'.
29383 (grub_register_command): Return grub_command_t.
29384
29385 * commands/help.c (grub_cmd_help): Call grub_command_find to make
29386 sure that each command is loaded.
29387
29388 * genmk.rb (PModule::rule): Specify a module name without the
29389 suffix ".mod" to gencmdlist.sh.
29390
7b1f4b57 293912005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
29392
29393 * gencmdlist.sh: New file.
f19dbdb7 29394
7b1f4b57 29395 * genmk.rb (PModule::rule): Generate a rule for a command list.
29396 Clean command.lst.
29397 Generate command.lst from $(COMMANDFILES).
29398
29399 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
29400 (DATA): Added $(pkgdata_DATA).
29401 (install-local): Install files in $(pkgdata_DATA).
29402
062aaf39 294032005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
29404
29405 * term/i386/pc/vga.c (debug_command): Removed.
29406 (GRUB_MOD_INIT): Do not register the command "debug".
29407
29408 From Hollis Blanchard:
29409 * commands/configfile.c: New file.
29410 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29411 commands/configfile.c.
29412 (pkgdata_MODULES): Added configfile.mod.
29413 (configfile_mod_SOURCES): New variable.
29414 (configfile_mod_CFLAGS): Likewise.
29415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29416 commands/configfile.c.
29417 (pkgdata_MODULES): Added configfile.mod.
29418 (configfile_mod_SOURCES): New variable.
29419 (configfile_mod_CFLAGS): Likewise.
29420 * util/grub-emu.c (main): Call grub_configfile_init and
29421 grub_configfile_fini.
29422 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
29423 prototype.
29424 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 29425
cee01aa6 294262005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
29427
29428 * normal/arg.c (grub_arg_show_help): Do not show the bug report
29429 address.
29430
29431 * commands/help.c (grub_cmd_help): Do not print newlines after
29432 the last command in print_command_help.
29433
93f3a1d8 294342005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
29435
29436 * commands/default.h: New file.
29437 * commands/timeout.h: Likewise.
29438 * normal/context.c: Likewise.
f19dbdb7 29439
93f3a1d8 29440 * util/misc.c: Do not include sys/times.h.
29441 Include sys/time.h and grub/machine/time.h.
29442 (grub_get_rtc): Rewritten with gettimeofday.
29443
29444 * util/grub-emu.c (main): Call grub_default_init and
29445 grub_timeout_init before grub_normal_init, and call
29446 grub_timeout_fini and grub_default_fini after grub_main.
29447
29448 * util/console.c (grub_ncurses_checkkey): Return the read
29449 character or -1.
29450
29451 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
29452 timeouts.
29453
29454 * normal/main.c (read_config_file): Push MENU. If this fails,
29455 print an error and wait for a user input.
29456 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
29457 If a menu is empty or an error occurs, pop MENU.
29458 (grub_normal_execute): Pop and free MENU after grub_menu_run
29459 returns.
29460
29461 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
29462
29463 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
29464 include time.h.
29465 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
29466 without GRUB_UTIL.
29467 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
29468 time.h.
29469 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
29470 without GRUB_UTIL.
29471
29472 * include/grub/normal.h (struct grub_menu_list): New struct.
29473 (grub_menu_list_t): New type.
29474 (struct grub_context): New struct.
29475 (grub_context_t): New type.
29476 (grub_register_command): Got rid of EXPORT_FUNC.
29477 (grub_unregister_command): Likewise.
29478 (grub_context_get): New prototype.
29479 (grub_context_get_current_menu): Likewise.
29480 (grub_context_push_menu): Likewise.
29481 (grub_context_pop_menu): Likewise.
29482 [GRUB_UTIL] (grub_default_init): Likewise.
29483 [GRUB_UTIL] (grub_default_fini): Likewise.
29484 [GRUB_UTIL] (grub_timeout_init): Likewise.
29485 [GRUB_UTIL] (grub_timeout_fini): Likewise.
29486
29487 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
29488 commands/timeout.c and normal/context.c.
29489 (pkgdata_MODULES): Added default.mod and timeout.mod.
29490 (normal_mod_SOURCES): Added normal/context.c.
29491 (default_mod_SOURCES): New variable.
29492 (default_mod_CFLAGS): Likewise.
29493 (timeout_mod_SOURCES): Likewise.
29494 (timeout_mod_CFLAGS): Likewise.
29495 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
29496 conf/i386-pc.rmk.
29497 (pkgdata_MODULES): Added default.mod and timeout.mod.
29498 (normal_mod_SOURCES): Added normal/context.c.
29499 (default_mod_SOURCES): New variable.
29500 (default_mod_CFLAGS): Likewise.
29501 (timeout_mod_SOURCES): Likewise.
29502 (timeout_mod_CFLAGS): Likewise.
29503
29504 * Makefile.in (all-local): Added $(MKFILES).
29505
4ed2e1dd 295062005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
29507
29508 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
29509 (grub_emu_SOURCES): Likewise.
29510 (pkgdata_MODULES): Add `sun.mod'.
29511 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
29512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29513 `partmap/sun.c'.
29514 (pkgdata_MODULES): Add `sun.mod'.
29515 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
29516 * include/grub/partition.h (grub_sun_partition_map_init): New
29517 prototype.
29518 (grub_sun_partition_map_fini): Likewise.
29519 * partmap/sun.c: New file.
29520 * util/grub-emu.c (main): Initialize and de-initialize the sun
29521 partitionmap support.
29522
4d4e372e 295232005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
29524
29525 This implements an Emacs-like menu entry editor.
f19dbdb7 29526
4d4e372e 29527 * normal/menu_entry.c: New file.
f19dbdb7 29528
4d4e372e 29529 * util/console.c (grub_ncurses_putchar): Translate some Unicode
29530 characters to ASCII.
29531 (saved_char): New variable.
29532 (grub_ncurses_checkkey): Rewritten completely.
29533 (grub_ncurses_getkey): Likewise.
29534 (grub_ncurses_init): Call raw instead of cbreak.
29535
29536 * normal/menu.c (print_entry): Do not put a space.
29537 (init_page): Renamed to ...
29538 (grub_menu_init_page): ... this. All callers changed.
29539 (edit_menu_entry): Removed.
29540 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
29541
29542 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
29543
29544 * kern/misc.c (grub_vprintf): Call grub_refresh.
29545
29546 * normal/menu.c (DISP_LEFT): Renamed to ...
29547 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
29548 * normal/menu.c (DISP_UP): Renamed to ...
29549 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
29550 * normal/menu.c (DISP_RIGHT): Renamed to ...
29551 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
29552 * normal/menu.c (DISP_DOWN): Renamed to ...
29553 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
29554 * normal/menu.c (DISP_HLINE): Renamed to ...
29555 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
29556 * normal/menu.c (DISP_VLINE): Renamed to ...
29557 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
29558 * normal/menu.c (DISP_UL): Renamed to ...
29559 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
29560 * normal/menu.c (DISP_UR): Renamed to ...
29561 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
29562 * normal/menu.c (DISP_LL): Renamed to ...
29563 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
29564 * normal/menu.c (DISP_LR): Renamed to ...
29565 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
29566 * normal/menu.c (TERM_WIDTH): Renamed to ...
29567 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
29568 * normal/menu.c (TERM_HEIGHT): Renamed to ...
29569 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
29570 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
29571 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
29572 * normal/menu.c (TERM_MARGIN): Renamed to ...
29573 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
29574 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
29575 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
29576 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
29577 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
29578 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
29579 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
29580 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
29581 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
29582 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
29583 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
29584 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
29585 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
29586 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
29587 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
29588 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
29589 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
29590 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
29591 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
29592 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
29593 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
29594 All callers changed.
29595
29596 * include/grub/normal.h: New prototype.
29597
29598 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29599 normal/menu_entry.c.
29600 (normal_mod_SOURCES): Likewise.
29601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29602 (normal_mod_SOURCES): Likewise.
29603
e6b92c8a 296042005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
29605
29606 * include/grub/normal.h (grub_halt_init): New prototype.
29607 (grub_halt_fini): Likewise.
29608 (grub_reboot_init): Likewise.
29609 (grub_reboot_fini): Likewise.
29610
29611 * util/grub-emu.c: Include signal.h.
29612 (main_env): New global variable.
29613 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
29614 catch C-c.
29615 (grub_machine_fini): New function.
29616 (main): Call grub_halt_init and grub_reboot_init before
29617 grub_main, and grub_reboot_fini and grub_halt_fini after it.
29618 Call setjmp with MAIN_ENV to go back afterwards.
29619 Call grub_machine_fini right before return.
29620
29621 * include/grub/util/misc.h: Include setjmp.h.
29622 (main_env): New prototype.
29623
29624 * include/grub/kernel.h (grub_machine_fini): New prototype.
29625 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
29626 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
29627
29628 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
29629 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
29630 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 29631
e6b92c8a 29632 * util/i386/pc/misc.c: New file.
f19dbdb7 29633
e6b92c8a 29634 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29635 util/i386/pc/misc.c, commands/i386/pc/halt.c and
29636 commands/i386/pc/reboot.c.
29637
c642636f 296382005-02-14 Guillem Jover <guillem@hadrons.org>
29639
29640 * include/grub/dl.h (grub_dl_check_header): New prototype.
29641 (grub_arch_dl_check_header): Change return type to grub_err_t,
29642 remove size parameter and export function. Update all callers.
29643 * kern/dl.c (grub_dl_check_header): New function.
29644 (grub_dl_load_core): Use `grub_dl_check_header' instead of
29645 `grub_arch_dl_check_header'. Check ELF type. Check if sections
29646 are inside the core.
29647 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
29648 independent ELF header checks.
29649 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
29650 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
29651 `grub_dl_check_header' instead of explicit checks. Check for the
29652 ELF type.
29653 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
29654 `grub_dl_check_header' instead of explicit checks. Remove arch
29655 specific ELF header checks.
29656
e6b92c8a 29657 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
29658 argument SIZE.
29659
5eabe94b 296602005-02-13 Hollis Blanchard <hollis@penguinppc.org>
29661
29662 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
29663 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
29664
1b14a681 296652005-02-12 Hollis Blanchard <hollis@penguinppc.org>
29666
29667 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 29668 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 29669 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 29670 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 29671 * partmap/amiga.c (amiga_partition_map_iterate): Return
29672 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
29673 * partmap/apple.c (apple_partition_map_iterate): Likewise.
29674
aca108aa 296752005-02-01 Guillem Jover <guillem@hadrons.org>
29676
29677 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
29678 help info.
29679
c9f9c556 296802005-01-31 Marco Gerards <metgerards@student.han.nl>
29681
29682 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
29683 Removed prototype.
29684 (grub_rescue_cmd_linux): New prototype.
29685 (grub_rescue_cmd_initrd): Likewise.
29686 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
29687 `bi_rec'.
29688 (grub_linux_release_mem): Release the memory for the initrd.
29689 (grub_load_linux): Renamed from this...
29690 (grub_rescue_cmd_linux): ...To this. Changed all callers.
29691 Changed `entry' not to be static. Loop over memory regions to
29692 find another one when the default fails.
29693 (grub_rescue_cmd_initrd): New function.
29694 (grub_linux_init): Remove function.
29695 (grub_linux_fini): Likewise.
29696 (GRUB_MOD_INIT): Register `initrd'.
29697 (GRUB_MOD_FINI): Unregister `initrd'.
29698 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
29699 Function removed.
29700 (grub_linux_normal_fini): Likewise.
29701 (GRUB_MOD_INIT): Register `initrd'.
29702 (GRUB_MOD_FINI): Unregister `initrd'.
29703
990cf3aa 297042005-01-31 Marco Gerards <metgerards@student.han.nl>
29705
29706 * commands/help.c: New file.
29707 * normal/arg.c (show_help): Renamed to...
29708 (grub_arg_show_help): ... this.
29709 * commands/i386/pc/halt.c: New file.
29710 * commands/i386/pc/reboot.c: Likewise.
29711 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
29712 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
29713 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
29714 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
29715 variables.
29716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29717 `commands/help.c'.
29718 (pkgdata_MODULES): Add `help.mod'.
29719 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
29720 * grub/i386/pc/init.h (grub_reboot): New prototype.
29721 (grub_halt): Likewise.
29722 * include/grub/normal.h (grub_arg_show_help): New prototype.
29723 (grub_help_init): Likewise.
29724 (grub_help_fini): Likewise.
29725 * util/grub-emu.c (main): Initialize and deinitialize the help
29726 command.
29727
29728 * normal/cmdline.c (grub_cmdline_get): Doc fix.
29729
29730 * normal/command.c (grub_command_init): Fixed the description of
29731 the `set' and `unset' commands.
29732
297332005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 29734
29735 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
29736 function.
29737 * commands/ieee1275/halt.c: New file.
29738 * commands/ieee1275/reboot.c: Likewise.
29739 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
29740 `__attribute__ ((unused))'. Some GCS related fixed.
29741 (grub_suspend_init) [GRUB_UTIL]: Function removed.
29742 (grub_suspend_fini): Likewise.
29743 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
29744 and `halt.mod'.
29745 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
29746 (halt_mod_CFLAGS): New variables.
29747 * include/grub/powerpc/ieee1275/ieee1275.h
29748 (grub_ieee1275_interpret): New prototype.
29749
1ab09cc7 297502005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
29751
29752 * include/grub/misc.h (memmove): New prototype.
29753 (memcpy): Likewise.
29754
8b8cbdb2 297552005-01-22 Hollis Blanchard <hollis@penguinppc.org>
29756
29757 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
29758 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
29759
e3741a27 297602005-01-22 Marco Gerards <metgerards@student.han.nl>
29761
29762 * kern/misc.c (grub_strndup): Function rewritten.
29763
776bd780 297642005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
29765
29766 * normal/menu.c (TERM_WIDTH): Macro redefined.
29767 (TERM_TOP_BORDER_Y): Likewise.
29768 (draw_border): Replaced while-loop by a for-loop. Make the number
29769 of lines consistent with the number of lines displayed in
29770 print_entries. Added a margin below the rectangle.
29771 (print_entry): Make the entry fit in the rectangle.
29772 (print_entries): Display the scroll arrows next to the right
29773 border.
29774
78026bce 297752005-01-21 Marco Gerards <metgerards@student.han.nl>
29776
29777 * fs/minix.c (grub_minix_find_file): Reserve more space for
29778 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
29779 `grub_strncpy' to copy `path' into it.
29780
67bbaf0f 297812005-01-21 Marco Gerards <metgerards@student.han.nl>
29782
29783 Add the loopback device, a device via which files can be accessed
29784 as devices.
f19dbdb7 29785
67bbaf0f 29786 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
29787 (pkgdata_MODULES): Add loopback.mod.
29788 (loopback_mod_SOURCES): New variable.
29789 (loopback_mod_CFLAGS): Likewise.
29790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29791 `disk/loopback.c'.
29792 (pkgdata_MODULES): Add loopback.mod.
29793 (loopback_mod_SOURCES): New variable.
29794 (loopback_mod_CFLAGS): Likewise.
29795 * disk/loopback.c: new file.
29796 * include/grub/normal.h (grub_loop_init): New prototype.
29797 (grub_loop_fini): New prototype.
29798 * util/grub-emu.c (main): Initialize and de-initialize loopback
29799 support.
29800 * include/grub/disk.h (grub_disk_dev_id): Add
29801 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
29802
6f1c18bd 298032005-01-20 Hollis Blanchard <hollis@penguinppc.org>
29804
29805 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
29806 function.
29807 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
29808 (suspend_mod_SOURCES): New variable.
29809 (suspend_mod_CFLAGS): Likewise.
29810 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
29811 New prototype.
29812 * commands/ieee1275/suspend.c: New file.
29813
b38551da 298142005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29815
29816 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 29817 ((unused))' to `__attribute__ ((used))'.
b38551da 29818 (GRUB_MOD_FINI): Likewise.
29819 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
29820 * genmk.rb (PModule): Assign space to common symbols when linking
29821 modules.
29822
777aff39 298232005-01-20 Marco Gerards <metgerards@student.han.nl>
29824
29825 * include/grub/mm.h (grub_mm_init_region): Change the type of the
29826 `unsigned' arguments to `grub_size_t'.
29827 (grub_malloc): Likewise.
29828 (grub_realloc): Likewise.
29829 (grub_memalign): Likewise.
29830 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
29831 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
29832 * util/misc.c (grub_malloc): Likewise.
29833 (grub_realloc): Likewise.
29834 * kern/mm.c (get_header_from_pointer): Change the casts to
29835 `unsigned' into a cast to `grub_size_t'.
29836
29837 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
29838 point to `currnode' when `currnode' is changed.
29839
29840 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
29841 Schottelius <nico-linux@schottelius.org>.
29842
d0ff18e1 298432005-01-09 Hollis Blanchard <hollis@penguinppc.org>
29844
29845 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
29846 (note_path): Remove variable.
29847 (GRUB_IEEE1275_NOTE_NAME): New macro.
29848 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
29849 (grub_ieee1275_note_hdr): New structure.
29850 (grub_ieee1275_note_desc): Likewise.
29851 (grub_ieee1275_note): Likewise.
29852 (load_note): Remove `dir' argument. All callers updated. Remove
29853 `note_img' and `path'. Do not load a file from `note_path'.
29854 Initialize a struct grub_ieee1275_note and write that to `out'.
29855 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
29856
4ca7004c 298572005-01-05 Marco Gerards <metgerards@student.han.nl>
29858
29859 * util/misc.c (grub_util_read_image): Revert last change. It
29860 called `grub_util_read_at', which seeks from the beginning of the
29861 file.
29862
0b412211 298632005-01-04 Hollis Blanchard <hollis@penguinppc.org>
29864
29865 * TODO: Add note about endianness in grub-mkimage.
29866 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
29867 section.
29868 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
29869 (grub_mkimage_SOURCES): New target.
29870 * include/grub/kernel.h (grub_start_addr): Remove variable.
29871 (grub_end_addr): Likewise.
29872 (grub_total_module_size): Likewise.
29873 (grub_kernel_image_size): Likewise.
29874 (GRUB_MODULE_MAGIC): New constant.
29875 (grub_module_info): New structure.
29876 (grub_arch_modules_addr): New prototype.
29877 (grub_get_end_addr): Remove prototype.
29878 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
29879 * include/grub/powerpc/ieee1275/kernel.h: New file.
29880 * include/grub/util/misc.h (grub_util_get_fp_size): New
29881 prototype.
29882 (grub_util_read_at): Likewise.
29883 (grub_util_write_image_at): Likewise.
29884 * kern/main.c (grub_get_end_addr): Remove function.
29885 (grub_load_modules): Call grub_arch_modules_addr instead of using
29886 grub_end_addr. Look for a grub_module_info struct in memory. Use
29887 the grub_module_info fields instead of calling grub_get_end_addr
29888 as loop conditions. Move grub_add_unused_region code here.
29889 (grub_add_unused_region): Remove function.
29890 * kern/i386/pc/init.c: Include grub/cache.h.
29891 (grub_machine_init): Remove call to grub_get_end_addr. Remove
29892 one call to add_mem_region.
29893 (grub_arch_modules_addr): New function.
29894 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
29895 (grub_total_module_size): Likewise.
29896 Include grub/machine/kernel.h.
29897 (grub_arch_modules_addr): New function.
29898 * util/grub-emu.c (grub_end_addr): Remove variable.
29899 (grub_total_module_size): Likewise.
29900 (grub_arch_modules_addr): New function.
29901 * util/misc.c: Include unistd.h.
29902 (grub_util_get_fp_size): New function.
29903 (grub_util_read_at): Likewise.
29904 (grub_util_write_image_at): Likewise.
29905 (grub_util_read_image): Call grub_util_read_at.
29906 (grub_util_write_image): Call grub_util_write_image_at.
29907 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
29908 additional memory in kernel_img for a struct grub_module_info.
29909 Fill in that grub_module_info.
29910 * util/powerpc/ieee1275/grub-mkimage.c: New file.
29911
458786f8 299122005-01-03 Hollis Blanchard <hollis@penguinppc.org>
29913
29914 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
29915 New function.
29916 * include/grub/powerpc/ieee1275/ieee1275.h
29917 (grub_ieee1275_milliseconds): New prototype.
29918 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
29919 Change to 1000.
29920 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
29921 grub_ieee1275_milliseconds.
29922
ac507d1b 299232005-01-03 Hollis Blanchard <hollis@penguinppc.org>
29924
29925 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
29926 variable.
29927 (find_options): New function.
29928 (cmain): Call find_options.
29929 * include/grub/powerpc/ieee1275/ieee1275.h
29930 (grub_ieee1275_realmode): New extern variable.
29931 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
29932 grub_map if grub_ieee1275_realmode is false.
29933
6b8fd1c4 299342004-12-29 Marco Gerards <metgerards@student.han.nl>
29935
29936 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
29937 lines are inserted and make it work like readline. Reported by
29938 Vincent Pelletier <subdino2004@yahoo.fr>.
29939
8514a1e0 299402004-12-28 Marco Gerards <metgerards@student.han.nl>
29941
29942 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
29943
29944 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
29945 `kern/powerpc/cache.S'.
29946
924b6140 299472004-12-27 Marco Gerards <metgerards@student.han.nl>
29948
29949 * genmk.rb: Handle the `Program' class in the main loop. Written
29950 by Johan Rydberg <jrydberg@gnu.org>.
29951 (Program): New class.
29952 (programs): New variable.
29953 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
29954 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
29955 instead of "grub/kernel.h". Include <grub/machine/init.h>.
29956 (help_arch): Function removed.
29957 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
29958 `powerpc/libgcc.h' and `loader.h'.
29959 (pkgdata_PROGRAMS): New variable.
29960 (sbin_UTILITIES): Variable removed.
29961 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
29962 (grubof_SOURCES): Variable re-defined so it only includes the
29963 core functionality.
29964 (grubof_CFLAGS): Remove `-DGRUBOF'.
29965 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
29966 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
29967 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
29968 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
29969 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
29970 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
29971 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
29972 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
29973 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
29974 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
29975 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29976 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
29977 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
29978 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
29979 (pc_mod_CFLAGS): New variables.
29980 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
29981 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
29982 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
29983 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
29984 Moved from here...
29985 * include/grub/i386/pc/init.h (grub_os_area_addr)
29986 (rub_os_area_size): ... to here.
29987 * include/grub/powerpc/ieee1275/ieee1275.h
29988 (grub_ieee1275_entry_fn): Export symbol.
29989 * include/grub/powerpc/ieee1275/init.h: New file.
29990 * include/grub/powerpc/libgcc.h: Likewise.
29991 * include/grub/cache.h: Likewise.
29992 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
29993 <hollis@penguinppc.org>.
29994 * kern/dl.c: Include <grub/cache.h>.
29995 (grub_dl_flush_cache): New function.
29996 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
29997 for this module.
29998 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
29999 (grub_console_init): Removed prototypes.
30000 (grub_machine_init): Don't initialize the modules anymore.
30001 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
30002 static.
30003 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
30004 Macro undef removed.
30005 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
30006 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
30007 relocation `R_PPC_REL32'. Return an error when the relocation is
30008 unknown.
30009 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
30010 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
30011 * util/misc.c (grub_arch_sync_caches): Likewise.
30012
e4b47e0c 300132004-12-19 Marco Gerards <metgerards@student.han.nl>
30014
30015 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
30016 `symlist.c', add `grubof_symlist.c'.
30017 (symlist.c): Variable removed.
30018 (grubof_HEADERS): Variable added.
30019 (grubof_symlist.c): New target.
30020 (kernel_syms.lst): Use `grubof_HEADERS' instead of
30021 `kernel_img_HEADERS'.
30022 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
30023 * kern/powerpc/dl.c: New file.
30024 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
30025 Function removed.
30026 (grub_arch_dl_relocate_symbols): Likewise.
30027 (grub_register_exported_symbols): Likewise.
30028
4ceb3636 300292004-12-13 Marco Gerards <metgerards@student.han.nl>
30030
30031 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
30032 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
30033 to fail instead. Reported by Vincent Pelletier
30034 <subdino2004@yahoo.fr>.
30035
30036 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
30037 it is not allocated. Reported by Vincent Pelletier
30038 <subdino2004@yahoo.fr>.
30039
30040 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
30041 output so the output looks better.
f19dbdb7 30042
3f1578fe 300432004-12-04 Marco Gerards <metgerards@student.han.nl>
30044
30045 Modulize the partition map support and add support for the amiga
30046 partition map.
f19dbdb7 30047
3f1578fe 30048 * commands/ls.c: Include <grub/partition.h> instead of
30049 <grub/machine/partition.h>.
30050 * kern/disk.c: Likewise.
30051 * kern/rescue.c: Likewise.
30052 * loader/i386/pc/chainloader.c: Likewise.
30053 * normal/cmdline.c: Likewise.
30054 * kern/powerpc/ieee1275/init.c: Likewise.
30055 (grub_machine_init): Call `grub_pc_partition_map_init',
30056 `grub_amiga_partition_map_init' and
30057 `grub_apple_partition_map_init'.
30058 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
30059 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
30060 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
30061 `partition.h' and `pc_partition.h'.
30062 (grub_setup_SOURCES): Remove
30063 `disk/i386/pc/partition.c'. Add `kern/partition.c',
30064 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
30065 (grub_emu_SOURCES): Likewise.
30066 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
30067 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
30068 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
30069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
30070 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
30071 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
30072 (grubof_SOURCES): Likewise.
30073 * disk/i386/pc/partition.c: File removed.
30074 * disk/powerpc/ieee1275/partition.c: Likewise.
30075 * include/grub/powerpc/ieee1275/partition.h: Likewise.
30076 * include/grub/i386/pc/partition.h: Likewise.
30077 * kern/partition.c: New file.
30078 * partmap/amiga.c: Likewise.
30079 * partmap/apple.c: Likewise.
30080 * partmap/pc.c: Likewise.
30081 * include/grub/partition.h: Likewise..
30082 * include/grub/pc_partition.h: Likewise.
30083 * util/grub-emu.c: Include <grub/partition.h> instead of
30084 <grub/machine/partition.h>.
30085 (main): Call `grub_pc_partition_map_init',
30086 `grub_amiga_partition_map_init' and
30087 `grub_apple_partition_map_init' and deinitialize afterwards.
30088 * util/i386/pc/biosdisk.c: Include `#include
30089 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
30090 `<grub/machine/partition.h>'.
30091 * util/i386/pc/grub-setup.c: Likewise.
30092 * util/i386/pc/biosdisk.c: Likewise.
30093 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
30094 partition information in case of a PC partition.
30095 * util/i386/pc/grub-setup.c: Include `#include
30096 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
30097 `<grub/machine/partition.h>'.
30098 (setup): Only access the PC specific partition information in case
30099 of a PC partition.
30100
0ef4ced9 301012004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 30102
0ef4ced9 30103 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
30104 (grub_longjmp): Likewise.
30105 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
30106 20.
30107 * normal/powerpc/setjmp.S: New file.
30108 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
30109 `normal/powerpc/setjmp.S'.
30110 (grubof_CFLAGS): Add `-DGRUBOF'.
30111 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
30112 [GRUB_UTIL && !GRUBOF].
f19dbdb7 30113
19950e29 301142004-11-16 Marco Gerards <metgerards@student.han.nl>
30115
30116 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
30117 property named `name'. Correctly handle the error returned by
30118 `grub_ieee1275_finddevice' if a device can not be opened.
30119
a2fea427 301202004-11-02 Hollis Blanchard <hollis@penguinppc.org>
30121
30122 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
30123 `actual' for negativity.
30124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
30125 kern/fshelp.c.
30126
41ea0ea3 301272004-11-01 Marco Gerards <metgerards@student.han.nl>
30128
30129 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
30130 (PAGE_OFFSET): New macro.
30131 (CRTC_ADDR_PORT): Likewise.
30132 (CRTC_DATA_PORT): Likewise.
30133 (START_ADDR_HIGH_REGISTER): Likewise.
30134 (START_ADDR_LOW_REGISTER): Likewise.
30135 (GRAPHICS_ADDR_PORT): Likewise.
30136 (GRAPHICS_DATA_PORT): Likewise.
30137 (READ_MAP_REGISTER): Likewise.
30138 (INPUT_STATUS1_REGISTER): Likewise.
30139 (INPUT_STATUS1_VERTR_BIT): Likewise.
30140 (page): New variable.
30141 (wait_vretrace): New function.
30142 (set_read_map): Likewise.
30143 (set_start_address): Likewise.
30144 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
30145 the right page.
30146 (check_vga_mem): Take the page into account.
30147 (write_char): Likewise.
30148 (write_cursor): Likewise.
30149 (scroll_up): Likewise. Copy the page to the page that is not
30150 shown and switch between both pages.
30151 (grub_vga_putchar): Fix off by one error.
30152 (grub_vga_cls): Wait for the vertical retrace. Take the page into
30153 account.
30154
ad0bd20b 301552004-11-01 Marco Gerards <metgerards@student.han.nl>
30156
30157 Add support for iso9660 (including rockridge).
f19dbdb7 30158
ad0bd20b 30159 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
30160 (iso9660_mod_SOURCES): New variable.
30161 (iso9660_mod_CFLAGS): Likewise.
30162 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
30163 * include/grub/fs.h (grub_iso9660_init): New prototype.
30164 * util/grub-emu.c (main): Call `grub_iso9660_init'.
30165 * fs/iso9660.c: New file.
30166
30167 * include/grub/misc.h (grub_strncat): New prototype.
30168 * kern/misc.c (grub_strncat): New function.
f19dbdb7 30169
ad0bd20b 30170 * fs/hfs.c (grub_hfs_mount): Translate the error
30171 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
30172 * fs/jfs.c (grub_jfs_mount): Likewise.
30173 * fs/ufs.c (grub_ufs_mount): Likewise.
30174
a5477a59 301752004-10-28 Hollis Blanchard <hollis@penguinppc.org>
30176
30177 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
30178 which initialized BAT registers.
30179 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
30180 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
30181 Move from here...
30182 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
30183 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
30184 ... to here.
30185 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
30186 (grub_mapclaim): Likewise.
30187 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
30188 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
30189 hand.
30190
9304c1f8 301912004-10-19 Hollis Blanchard <hollis@penguinppc.org>
30192
30193 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
30194 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
30195 -ffreestanding and -msoft-float.
30196
86f4ae25 301972004-10-15 Hollis Blanchard <hollis@penguinppc.org>
30198
30199 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
30200 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
30201 set in grub_ieee1275_flags.
30202
38912228 302032004-10-14 Hollis Blanchard <hollis@penguinppc.org>
30204
30205 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
30206 prototype.
30207 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
30208 grub_console_init first.
30209 Change the memory range used for grub_ieee1275_claim and
30210 grub_mm_init_region.
30211 Print an error message if the claim fails.
30212 Include <grub/misc.h>.
30213
d1923dc8 302142004-10-13 Hollis Blanchard <hollis@penguinppc.org>
30215
30216 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
30217 Call grub_children_iterate for device nodes of type `scsi',
30218 `ide', or `ata'.
30219 (grub_ofdisk_open): Remove manual device alias resolution.
30220 Fix memory leak when device cannot be opened.
f19dbdb7 30221 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 30222 (grub_children_iterate): New prototype.
30223 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
30224 New function.
30225 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
30226 Return -1 if args.size was -1.
30227
4512e4f3 302282004-10-11 Hollis Blanchard <hollis@penguinppc.org>
30229
30230 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
30231 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
30232 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
30233 Open Firmware's memory for it; claim memory from _start to _end.
30234 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
30235 (_end): New extern.
30236 (_start): Zero BSS from __bss_start to _end.
30237 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
30238 New extern.
30239 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
30240
4d61feb0 302412004-10-11 Hollis Blanchard <hollis@penguinppc.org>
30242
ad0bd20b 30243 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
30244 -1 if args.base was -1.
4d61feb0 30245
026fa2f9 302462004-10-08 Hollis Blanchard <hollis@penguinppc.org>
30247
30248 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
30249 escape sequence instead of a literal ^L. Also call
30250 grub_ofconsole_gotoxy.
30251
9f2220ef 302522004-10-03 Hollis Blanchard <hollis@penguinppc.org>
30253
30254 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
30255 void * arguments to grub_addr_t. All callers updated. Also make
30256 the `result' argument optional.
30257 (grub_ieee1275_release): change void * arguments to grub_addr_t.
30258 All callers updated.
30259
8a572cd7 302602004-09-22 Hollis Blanchard <hollis@penguinppc.org>
30261
30262 * commands/ls.c (grub_ls_list_files): Use the string following the
30263 initial ')', if present, as the filesystem path.
30264 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
30265
30266 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
30267
18aa81f2 302682004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
30269
30270 Make the source code of the menu interface more readable.
f19dbdb7 30271
18aa81f2 30272 * normal/menu.c: Include grub/mm.h.
30273 (TERM_WIDTH): New macro.
30274 (TERM_HEIGHT): Likewise.
30275 (TERM_INFO_HEIGHT): Likewise.
30276 (TERM_MARGIN): Likewise.
30277 (TERM_SCROLL_WIDTH): Likewise.
30278 (TERM_TOP_BORDER_Y): Likewise.
30279 (TERM_LEFT_BORDER_X): Likewise.
30280 (TERM_BORDER_WIDTH): Likewise.
30281 (TERM_MESSAGE_HEIGHT): Likewise.
30282 (TERM_BORDER_HEIGHT): Likewise.
30283 (TERM_NUM_ENTRIES): Likewise.
30284 (TERM_FIRST_ENTRY_Y): Likewise.
30285 (TERM_ENTRY_WIDTH): Likewise.
30286 (TERM_CURSOR_X): Likewise.
30287 (draw_border): Use macros instead of magic numbers.
30288 (print_entry): Likewise.
30289 (print_entries): Likewise.
30290 (run_menu): Likewise. Also, handle the key 'e'.
30291 (run_menu_entry): Ignore empty command lines.
30292 (print_message): Added a new argument EDIT. If EDIT is true,
30293 print a different message.
30294 (init_page): Likewise.
30295 (edit_menu_entry): New function. Not implemented yet.
30296
b47efe30 302972004-09-17 Marco Gerards <metgerards@student.han.nl>
30298
30299 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
30300 can be loaded from normal mode.
f19dbdb7 30301
b47efe30 30302 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
30303 `multiboot.mod'.
30304 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
30305 (multiboot_mod_CFLAGS): New variables.
30306 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 30307 * loader/i386/pc/multiboot_normal.c: Likewise.
30308
b47efe30 30309 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
30310 attribute `unused'.
f19dbdb7 30311
b47efe30 30312 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
30313 `fdiro' to read the mode information from instead of `diro'.
30314
30315 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
30316 looking up a symlink.
30317
30318 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
30319 macro.
30320 * normal/command.c (grub_command_execute): Don't parse the
30321 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
30322 flags of the command.
30323
30324 * normal/menu.c (grub_menu_run): Fix typo.
30325
da75ac71 303262004-09-14 Hollis Blanchard <hollis@penguinppc.org>
30327
30328 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
30329
30330 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
30331 `y + 1' instead of `y - 1'.
30332
30333 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 30334
062b24c2 303352004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
30336
30337 From Hollis Blanchard <hollis@penguinppc.org>:
30338 * kern/misc.c (memmove): New alias for grub_memmove.
30339 (memcmp): New alias for grub_memcmp.
30340 (memset): New alias for grub_memset.
f19dbdb7 30341 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 30342 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 30343 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 30344 (grub_ieee1275_get_property): Likewise.
f19dbdb7 30345
8ddad845 303462004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
30347
30348 Added normal mode command `chainloader' as module chain.mod, which
30349 depends on normal.mod and _chain.mod.
f19dbdb7 30350
8ddad845 30351 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
30352 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
30353 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
30354 Deleted prototype.
30355 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
30356 but arguments parsing moved to ...
30357 (grub_chainloader_cmd): ... here. New function.
30358 * include/grub/i386/pc/chainloader.h: New file.
30359 * loader/i386/pc/chainloader_normal.c: Likewise.
30360
2c1f4ce3 303612004-09-11 Marco Gerards <metgerards@student.han.nl>
30362
30363 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
30364 (grub_mkimage_LDFLAGS): Likewise.
30365 (grub_emu_SOURCES): Likewise.
30366 (kernel_img_HEADERS): Added fshelp.h.
30367 * fs/ext2.c: Include <grub/fshelp.h>.
30368 (FILETYPE_REG): New macro.
30369 (FILETYPE_INO_REG): Likewise.
30370 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
30371 Changed all users.
30372 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
30373 all users.
30374 (grub_fshelp_node): New struct.
30375 (grub_ext2_data): Added member `diropen'. Changed member `inode'
30376 to a pointer.
30377 (grub_ext2_get_file_block): Removed function.
30378 (grub_ext2_read_block): New function.
30379 (grub_ext2_read_file): Replaced parameter `data' by `node'.
30380 This function was written.
30381 (grub_ext2_mount): Read the root inode. Create a diropen struct.
30382 (grub_ext2_find_file): Removed function.
30383 (grub_ext2_read_symlink): New function.
30384 (grub_ext2_iterate_dir): Likewise.
30385 (grub_ext2_open): Rewritten.
30386 (grub_ext2_dir): Rewritten.
30387 * include/grub/fshelp.h: New file.
30388 * fs/fshelp.c: Likewise.
30389
3c52136a 303902004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
30391
30392 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
30393 (print_message): Add a missing newline.
30394 (run_menu): Added timeout support.
30395 (run_menu_entry): New local function.
30396 (grub_menu_run): Added support for booting.
30397
30398 * kern/loader.c (grub_loader_is_loaded): New function.
30399
30400 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
30401 (grub_get_rtc): Exported.
30402
30403 * include/grub/i386/pc/time.h: Include grub/symbol.h.
30404 (grub_get_rtc): Exported.
30405
30406 * include/grub/normal.h (struct grub_command_list): Remove
30407 constant from the member `command'.
30408
30409 * include/grub/loader.h (grub_loader_is_loaded): Declared.
30410
30411 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
30412
30413 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
30414
aa033560 304152004-08-28 Marco Gerards <metgerards@student.han.nl>
30416
30417 Add support for the JFS filesystem.
30418
30419 * fs/jfs.c: New file.
30420 * include/grub/fs.h (grub_jfs_init): New prototype.
30421 (grub_jfs_fini): New prototype.
30422 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
30423 (grub_emu_SOURCES): Likewise.
30424 (pkgdata_MODULES): Add jfs.mod.
30425 (jfs_mod_SOURCES): New variable.
30426 (jfs_mod_CFLAGS): Likewise.
30427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
30428 (grubof_SOURCES): Likewise.
30429 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
30430
30431 * fs/fat.c (grub_fat_find_dir): Convert the filename little
30432 endian to the host endian.
30433 (grub_fat_utf16_to_utf8): Move function from there...
30434 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 30435 the endianness of the source string anymore.
aa033560 30436 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
30437
94bc45af 304382004-08-24 Marco Gerards <metgerards@student.han.nl>
30439
30440 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
30441 (grub_boot_fini) [GRUB_UTIL]: Likewise.
30442 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
30443 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 30444
94bc45af 30445 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
30446 (grub_hfs_iterate_dir): Make the function static. Add prototypes
30447 for `node_found' and `it_dir'.
30448 (grub_hfs_dir): Add prototype for `dir_hook'.
30449
30450 * fs/minix.c (grub_minix_get_file_block): Add prototype for
30451 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
30452 and `indir32' to silence a gcc warning.
30453
30454 * include/grub/fs.h (grub_hfs_init): New prototype.
30455 (grub_hfs_fini): Likewise.
f19dbdb7 30456
30457
97543f08 304582004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
30459
30460 Each disk device has its own id now. This is useful to make use
30461 of multiple disk devices.
f19dbdb7 30462
97543f08 30463 * include/grub/disk.h (grub_disk_dev_id): New enum.
30464 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
30465 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
30466
30467 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
30468 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
30469
30470 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
30471 GRUB_DISK_DEVICE_OFDISK_ID as an id.
30472
30473 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
30474 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
30475
30476 * include/grub/disk.h (struct grub_disk_dev): Added a new member
30477 "id" which is used by the cache manager.
30478
30479 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
30480 of just "GRUB".
30481
64372eb4 304822004-08-18 Marco Gerards <metgerards@student.han.nl>
30483
30484 * fs/hfs.c: New file.
30485 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
30486 (grub_emu_SOURCES): Likewise.
30487 (pkgdata_MODULES): Add hfs.mod.
30488 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
30489 (grubof_SOURCES): Likewise.
30490 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
30491
30492 * include/grub/misc.h (grub_strncasecmp): Add prototype.
30493 * kern/misc.c (grub_strncasecmp): Add function.
30494
cc61b58f 304952004-08-14 Marco Gerards <metgerards@student.han.nl>
30496
30497 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
30498 with parentheses.
30499
30500 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
30501 (grub_ext2_dir): In case the directory entry type is unknown, read
30502 it from the inode.
30503
0ef123f6 305042004-08-02 Peter Bruin <pjbruin@dds.nl>
30505
30506 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
30507 grub_load_linux instead of grub_rescue_cmd_linux as second
30508 argument of grub_rescue_register_command.
30509
30510 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
30511
a447c5df 305122004-07-27 Marco Gerards <metgerards@student.han.nl>
30513
30514 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
30515 function.
30516 * commands/boot.c: Remove the check for `GRUB_UTIL'.
30517 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
30518 `loader/powerpc/ieee1275/linux.c',
30519 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
30520 * include/grub/powerpc/ieee1275/ieee1275.h
30521 (grub_ieee1275_release): New prototype.
30522 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
30523 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
30524 normal, boot, linux and linux_normal.
30525 * loader/powerpc/ieee1275/linux.c: New file.
30526 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30527
5a9e3546 305282004-07-12 Marco Gerards <metgerards@student.han.nl>
30529
30530 * normal/arg.c (grub_arg_parse): Correct error handling after
30531 reallocating the argumentlist (check if `argl' is not null instead
30532 of checking if `args' is not null).
30533 * kern/mm.c (grub_realloc): Return the same pointer when using the
30534 same region, instead of returning the header address.
30535
e15199cb 305362004-07-11 Marco Gerards <metgerards@student.han.nl>
30537
30538 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
30539 one block instead of two when looking for the initial partition.
30540 (grub_partition_probe): Initialize the local variable `p' with 0.
30541 Use base 10 for the grub_strtoul call.
30542 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
30543 need for one local variable.
30544 (grub_strtoul): Don't add the new value to `num', instead of that
30545 just assign it.
30546
020616c2 305472004-07-11 Marco Gerards <metgerards@student.han.nl>
30548
30549 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
30550 (pxeboot_img_SOURCES): New variable.
30551 (pxeboot_img_ASFLAGS): Likewise.
30552 (pxeboot_img_LDFLAGS): Likewise.
30553 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
30554 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
30555 <lode_leroy@hotmail.com>.
30556
6c51eb64 305572004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
30558
30559 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
30560 there was no input.
30561
cfb12aff 305622004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
30563
30564 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
30565 the history buffer logic.
30566
6eabba74 305672004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
30568
30569 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
30570 (FILETYPE_INO_SYMLINK): New macros.
30571 (grub_ext2_find_file): Check if the node is a directory using the
30572 inode stat information instead of using the filetype in the
30573 dirent. Exclude the first character of an absolute symlink.
30574 (grub_ext2_dir): Mask out the filetype part of the mode member of
30575 the inode.
30576
66e19ef8 305772004-05-24 Marco Gerards <metgerards@student.han.nl>
30578
30579 Add support for UFS version 1 and 2. Add support for the minix
30580 filesystem version 1 and 2, both the variants with 14 and 30 long
30581 filenames.
f19dbdb7 30582
66e19ef8 30583 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
30584 fs/minix.c.
30585 (grub_emu_SOURCES): Likewise.
30586 (pkgdata_MODULES): Add ufs.mod and minix.mod.
30587 (ufs_mod_SOURCES): New variable.
30588 (ufs_mod_CFLAGS): Likewise.
30589 (minix_mod_SOURCES): Likewise.
30590 (minix_mod_CFLAGS): Likewise.
30591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
30592 fs/minix.c.
30593 (grubof_SOURCES): Likewise.
30594 * fs/ufs.c: New file.
30595 * fs/minix.c: New file.
30596 * include/grub/fs.h (grub_ufs_init): New prototype.
30597 (grub_ufs_fini): Likewise.
30598 (grub_minix_init): Likewise.
30599 (grub_minix_fini): Likewise.
30600 * util/grub-emu.c (main): Initialize and deinitialize UFS and
30601 minix fs.
30602
cc2e748a 306032004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
30604
30605 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
30606 commands/ls.c, commands/terminal.c, commands/boot.c,
30607 commands/cmp.c and commands/cat.c.
30608 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
30609
30610 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
30611 "env.h"
30612
4b13b216 306132004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
30614
30615 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
30616 and grub_, respectively. Because the conversion is trivial and
30617 mechanical, I omit the details here. Please refer to the CVS
30618 if you need more information.
30619
6a142551 306202004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
30621
30622 * include/pupa: Renamed to ...
30623 * include/grub: ... this.
30624 * util/i386/pc/pupa-mkimage.c: Renamed to ...
30625 * util/i386/pc/grub-mkimage.c: ... this.
30626 * util/i386/pc/pupa-setup.c: Renamed to ...
30627 * util/i386/pc/grub-setup.c: ... this.
30628 * util/pupa-emu.c: Renamed to ...
30629 * util/grub-emu.c: ... this.
30630
e56cdf21 306312004-03-29 Marco Gerards <metgerards@student.han.nl>
30632
30633 Add support for the newworld apple macintosh (PPC). This has been
30634 tested on the powerbook 2000 only. It only adds support for
30635 generic ieee1275 functions, console and disk support. This should
30636 be easy to port to other architectures with support for Open
30637 Firmware.
f19dbdb7 30638
e56cdf21 30639 * configure.ac: Accept the powerpc as host_cpu. In the case of
30640 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
30641 specific tests are only executed while building for the i386.
30642 Inverse test for crosscompile.
30643 * genmk.rb (Utility): Allow assembler files.
30644 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
30645 * conf/powerpc-ieee1275.rmk: New file.
30646 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
30647 * disk/powerpc/ieee1275/partition.c: Likewise.
30648 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
30649 * include/pupa/powerpc/ieee1275/console.h: Likewise.
30650 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
30651 * include/pupa/powerpc/ieee1275/time.h: Likewise.
30652 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
30653 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
30654 * include/pupa/powerpc/ieee1275/loader.h
30655 * include/pupa/powerpc/setjmp.h: Likewise.
30656 * include/pupa/powerpc/types.h: Likewise.
30657 * kern/powerpc/ieee1275/init.c: Likewise.
30658 * kern/powerpc/ieee1275/openfw.c: Likewise.
30659 * term/powerpc/ieee1275/ofconsole.c: Likewise.
30660
30661 These files were written by Johan Rydberg
30662 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 30663
e56cdf21 30664 * boot/powerpc/ieee1275/cmain.c: New file.
30665 * boot/powerpc/ieee1275/crt0.S: Likewise.
30666 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
30667 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
30668
8c8cc205 306692004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
30670
30671 * Makefile.in: Update copyright.
30672 * genmodsrc.sh: Likewise.
30673 * gensymlist.sh: Likewise.
30674 * term/i386/pc/vga.c: Indent correctly.
30675
30676 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
30677 bugreporting address.
30678 * util/i386/pc/pupa-setup.c (usage): Likewise,
30679 (main): Call pupa_ext2_init and pupa_ext2_fini.
30680
f19dbdb7 30681 * fs/fat.c (log2): Renamed to ...
8c8cc205 30682 (fat_log2): ... this.
30683 All callers changed.
30684 * kern/misc.c (memcpy): Alias to pupa_memmove.
30685 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
30686 lvalue cast.
30687 * util/console.c (pupa_ncurses_fini): Return 0.
30688
30689 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
30690 Move fail label here.
30691 [__GNU__]: Don't warn when using stat.
30692 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
30693 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
30694 long int. Use strtol instead of strtoul.
f19dbdb7 30695
db1771cf 306962004-03-14 Marco Gerards <metgerards@student.han.nl>
30697
30698 * commands/boot.c: New file.
30699 * commands/cat.c: Likewise.
30700 * commands/cmp.c: Likewise.
30701 * commands/ls.c: Likewise.
30702 * commands/terminal.c: Likewise.
30703 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
30704 (pupa_register_command): Changed interface to match the new
30705 argument parser.
30706 (pupa_command_execute): Changed (almost rewritten) so it uses
30707 pupa_split_command. Added support for setting variables using the
30708 syntax `foo=bar'.
30709 (rescue_command): Changed to work with the new argument parser.
30710 (terminal_command): Moved from here to commands/terminal.c.
30711 (set_command): New function.
30712 (unset_command): New function.
30713 (insmod_command): New function.
30714 (rmmod_command): New function.
30715 (lsmod_command): New function.
30716 (pupa_command_init): Don't initialize the command terminal
30717 anymore. Initialize the commands set, unset, insmod, rmmod and
30718 lsmod.
30719 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
30720 (kernel_img_HEADERS): Add arg.h and env.h.
30721 (pupa_mkimage_LDFLAGS): Add kern/env.c.
30722 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
30723 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
30724 normal/arg.c.
30725 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
30726 terminal.mod.
30727 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
30728 (boot_mod_SOURCES): New variable.
30729 (terminal_mod_SOURCES): Likewise.
30730 (ls_mod_SOURCES): Likewise.
30731 (cmp_mod_SOURCES): Likewise.
30732 (cat_mod_SOURCES): Likewise.
30733
30734 * normal/arg.c: New file.
30735 * kern/env.c: Likewise.
30736 * include/pupa/arg.h: Likewise.
30737 * include/pupa/env.h: Likewise.
30738 * font/manager.c (font_command): Changed to match argument parsing
30739 interface changes.
30740 (PUPA_MOD_INIT): Likewise.
30741 * hello/hello.c (pupa_cmd_hello): Likewise.
30742 (PUPA_MOD_INIT): Likewise.
30743 * include/pupa/disk.h: Include <pupa/device.h>.
30744 (pupa_print_partinfo): New prototype.
30745 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
30746 (pupa_dl_get_prefix): Likewise.
30747 * include/pupa/misc.h: Include <pupa/err.h>.
30748 (pupa_isgraph): New prototype.
30749 (pupa_isdigit): Likewise.
30750 (pupa_split_cmdline): Likewise.
30751 * include/pupa/normal.h: Include <pupa/arg.h>.
30752 (pupa_command): Changed the prototype of the member `func' to
30753 match the argument parsing interface. Added member `options'.
30754 (pupa_register_command): Updated to match function.
30755 (pupa_arg_parse): New prototype.
30756 (pupa_hello_init) [PUPA_UTIL]: New prototype.
30757 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
30758 (pupa_ls_init) [PUPA_UTIL]: Likewise.
30759 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
30760 (pupa_cat_init) [PUPA_UTIL]: Likewise.
30761 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
30762 (pupa_boot_init) [PUPA_UTIL]: Likewise.
30763 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
30764 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
30765 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
30766 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
30767 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
30768 * kern/disk.c: Include <pupa/file.h>.
30769 (pupa_print_partinfo): New function.
30770 * kern/dl.c: Include <pupa/env.h>.
30771 (pupa_dl_dir): Variable removed.
30772 (pupa_dl_load): Use the environment variable `prefix' instead of
30773 the variable pupa_dl_dir.
30774 (pupa_dl_set_prefix): Function removed.
30775 (pupa_dl_get_prefix): Likewise.
30776 * kern/i386/pc/init.c: Include <pupa/env.h>.
30777 (pupa_machine_init): Use the environment variable `prefix' instead of
30778 using pupa_dl_set_prefix to set the prefix.
30779 * kern/main.c: Include <pupa/env.h>.
30780 (pupa_set_root_dev): Use the environment variable `prefix' instead of
30781 using pupa_dl_get_prefix to get the prefix.
30782 * kern/misc.c: Include <pupa/env.h>.
30783 (pupa_isdigit): New function.
30784 (pupa_isgraph): Likewise.
30785 (pupa_ftoa): Likewise.
30786 (pupa_vsprintf): Added support for printing values of the type
30787 `double'. Make it possible to format variable output when using
30788 formatting like `%1.2%f'.
30789 (pupa_split_cmdline): New function.
30790 * kern/rescue.c: Include <pupa/env.h>.
30791 (next_word): Removed function.
30792 (pupa_rescue_cmd_prefix): Likewise.
30793 (pupa_rescue_cmd_set): New function.
30794 (pupa_rescue_cmd_unset): New function.
30795 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
30796 split the command line instead of splitting it here. Added
30797 support for setting variables using the syntax `foo=bar'. Don't
30798 initialize the prefix command anymore. Initialized the set and
30799 unset commands.
30800 * normal/cmdline.c: Include <pupa/env.h>.
30801 (pupa_tab_complete): Added prototypes for print_simple_completion,
30802 print_partition_completion, add_completion, iterate_commands,
30803 iterate_dev, iterate_part and iterate_dir. Moved code to print
30804 partition information from here to kern/disk.c.
fe6b695a 30805 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 30806 * normal/main.c: Include <pupa/env.h>.
30807 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
30808 instead of using pupa_dl_get_prefix to get the prefix.
30809 * term/i386/pc/vga.c: Include <pupa/arg.h>.
30810 (check_vga_mem): Cast pointers to `void *' to silence a gcc
30811 warning.
30812 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
30813 (pupa_vga_setcolor): Declare unused variables with `__attribute__
30814 ((unused))' to silence a gcc warning.
30815 (pupa_vga_setcolor): Likewise.
30816 (debug_command): Changed to match argument parsing
30817 interface changes.
30818 * util/pupa-emu.c: Include <pupa/env.h>.
30819 (options): Added 0's for unused fields to silence a gcc warning.
30820 (argp): Likewise.
30821 (main): Use the environment variable `prefix' instead of using
30822 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
30823 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
30824 and terminal.
30825
30826 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
30827 * util/misc.c: Include <malloc.h>.
30828 (pupa_malloc): Rewritten so errors are correctly reported.
30829 (pupa_realloc): Likewise.
30830 (pupa_memalign): Likewise.
30831 (pupa_mm_init_region): Declare unused variables with
30832 `__attribute__ ((unused))' to silence a gcc warning.
30833 * normal/i386/setjmp.S: Remove tab at the end of the file to
30834 silence a gcc warning.
30835 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
30836 variables with `__attribute__ ((unused))' to silence a gcc
30837 warning.
30838 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
30839 local variable i unsigned to silence a gcc warning.
30840
30841 * kern/term.c: Include <pupa/misc.h>.
30842 (pupa_more_lines): New variable.
30843 (pupa_more): Likewise.
30844 (pupa_putcode): When the pager is active pause at the end of every
30845 screen.
30846 (pupa_set_more): New function.
30847 * include/pupa/term.h (pupa_set_more): New prototype.
30848
30849
3b1139cb 308502004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
30851
30852 Now this project is GRUB 2 rather than PUPA. The location of
30853 the CVS repository was moved to GRUB's.
f19dbdb7 30854
3b1139cb 30855 * configure.ac: Use bug-grub as the reporting address.
30856 Use GRUB instead of PUPA.
30857 Change the version number to 1.90.
30858
8367695c 308592004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
30860
30861 * genkernsyms.sh: Updated copyright information.
30862 * genmk.rb: Likewise.
30863 * genmodsrc.sh: Likewise.
30864 * gensymlist.sh: Likewise.
30865 * boot/i386/pc/boot.S: Likewise.
30866 * boot/i386/pc/diskboot.S: Likewise.
30867 * disk/i386/pc/biosdisk.c: Likewise.
30868 * disk/i386/pc/partition.c: Likewise.
30869 * font/manager.c: Likewise.
30870 * fs/ext2.c: Likewise.
30871 * fs/fat.c: Likewise.
30872 * include/pupa/boot.h: Likewise.
30873 * include/pupa/device.h: Likewise.
30874 * include/pupa/disk.h: Likewise.
30875 * include/pupa/dl.h: Likewise.
30876 * include/pupa/elf.h: Likewise.
30877 * include/pupa/err.h: Likewise.
30878 * include/pupa/file.h: Likewise.
30879 * include/pupa/font.h: Likewise.
30880 * include/pupa/fs.h: Likewise.
30881 * include/pupa/kernel.h: Likewise.
30882 * include/pupa/loader.h: Likewise.
30883 * include/pupa/misc.h: Likewise.
30884 * include/pupa/mm.h: Likewise.
30885 * include/pupa/net.h: Likewise.
30886 * include/pupa/normal.h: Likewise.
30887 * include/pupa/rescue.h: Likewise.
30888 * include/pupa/setjmp.h: Likewise.
30889 * include/pupa/symbol.h: Likewise.
30890 * include/pupa/term.h: Likewise.
30891 * include/pupa/types.h: Likewise.
30892 * include/pupa/i386/setjmp.h: Likewise.
30893 * include/pupa/i386/types.h: Likewise.
30894 * include/pupa/i386/pc/biosdisk.h: Likewise.
30895 * include/pupa/i386/pc/boot.h: Likewise.
30896 * include/pupa/i386/pc/console.h: Likewise.
30897 * include/pupa/i386/pc/init.h: Likewise.
30898 * include/pupa/i386/pc/kernel.h: Likewise.
30899 * include/pupa/i386/pc/linux.h: Likewise.
30900 * include/pupa/i386/pc/loader.h: Likewise.
30901 * include/pupa/i386/pc/memory.h: Likewise.
30902 * include/pupa/i386/pc/multiboot.h: Likewise.
30903 * include/pupa/i386/pc/partition.h: Likewise.
30904 * include/pupa/i386/pc/time.h: Likewise.
30905 * include/pupa/i386/pc/vga.h: Likewise.
30906 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
30907 * include/pupa/util/getroot.h: Likewise.
30908 * include/pupa/util/misc.h: Likewise.
30909 * include/pupa/util/resolve.h: Likewise.
30910 * kern/device.c: Likewise.
30911 * kern/disk.c: Likewise.
30912 * kern/dl.c: Likewise.
30913 * kern/err.c: Likewise.
30914 * kern/file.c: Likewise.
30915 * kern/fs.c: Likewise.
30916 * kern/loader.c: Likewise.
30917 * kern/main.c: Likewise.
30918 * kern/misc.c: Likewise.
30919 * kern/mm.c: Likewise.
30920 * kern/rescue.c: Likewise.
30921 * kern/term.c: Likewise.
30922 * kern/i386/dl.c: Likewise.
30923 * kern/i386/pc/init.c: Likewise.
30924 * kern/i386/pc/lzo1x.S: Likewise.
30925 * kern/i386/pc/startup.S: Likewise.
30926 * loader/i386/pc/chainloader.c: Likewise.
30927 * loader/i386/pc/linux.c: Likewise.
30928 * loader/i386/pc/multiboot.c: Likewise.
30929 * normal/cmdline.c: Likewise.
30930 * normal/command.c: Likewise.
30931 * normal/main.c: Likewise.
30932 * normal/menu.c: Likewise.
30933 * normal/i386/setjmp.S: Likewise.
30934 * term/i386/pc/console.c: Likewise.
30935 * term/i386/pc/vga.c: Likewise.
30936 * util/console.c: Likewise.
30937 * util/genmoddep.c: Likewise.
30938 * util/misc.c: Likewise.
30939 * util/pupa-emu.c: Likewise.
30940 * util/resolve.c: Likewise.
30941 * util/unifont2pff.rb: Likewise.
30942 * util/i386/pc/biosdisk.c: Likewise.
30943 * util/i386/pc/getroot.c: Likewise.
30944 * util/i386/pc/pupa-mkimage.c: Likewise.
30945 * util/i386/pc/pupa-setup.c: Likewise.
30946
e6eced71 309472004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
30948
30949 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
30950 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
30951 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
30952 reading and reset it after reading.
30953 (pupa_ext2_close): Return PUPA_ERR_NONE.
30954
30955 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
30956 Correct value.
30957 (struct linux_kernel_header): Add kernel_version and
30958 initrd_addr_max.
30959 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
30960 pupa_file_read succeeds.
30961 (pupa_rescue_cmd_initrd): Implement.
30962
5aded270 309632003-12-03 Marco Gerards <metgerards@student.han.nl>
30964
30965 * fs/ext2.c (pupa_ext2_label): New function.
30966 (pupa_ext2_fs): Added label.
30967 * fs/fat.c (pupa_fat_label): New function.
30968 (pupa_fat_fs): Added label.
30969 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
30970
30971 * kern/misc.c (pupa_strndup): New function.
30972 * include/pupa/misc.h (pupa_strndup): New prototype.
30973
30974 * include/pupa/normal.h: Include <pupa/err.h>.
30975 (pupa_set_history): New prototype.
30976 (pupa_iterate_commands): New prototype.
30977 * normal/cmdline.c: Include <pupa/machine/partition.h>,
30978 <pupa/disk.h>, <pupa/file.h>.
30979 (hist_size): New variable.
30980 (hist_lines): Likewise.
30981 (hist_end): Likewise.
30982 (hist_used): Likewise.
30983 (pupa_set_history): New function.
30984 (pupa_history_get): Likewise.
30985 (pupa_history_add): Likewise.
30986 (pupa_history_replace): Likewise.
30987 (pupa_tab_complete): Likewise.
30988 (pupa_cmdline_run): Added tab completion and history buffer. Tab
30989 completion shows partitionnames while completing partitions, this
30990 feature was suggested by Jeff Bailey.
30991 * normal/command.c (pupa_iterate_commands): New function.
30992 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
30993 (pupa_normal_init): Initialize history buffer.
30994 (PUPA_MOD_INIT): Likewise.
30995 (pupa_normal_fini): Free the history buffer.
30996 (PUPA_MOD_FINI): Likewise.
30997
30998 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
30999 key.
31000
31001 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
31002 * configure.ac [i386]: Check for regparam bug.
31003 (NESTED_FUNC_ATTR) [! i386]: Defined.
31004
1f7315a3 310052003-11-17 Marco Gerards <metgerards@student.han.nl>
31006
31007 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
31008 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
31009 (pupa_emu_SOURCES): New variable.
31010 (pupa_emu_LDFLAGS): Likewise.
31011 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
31012 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
31013 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
31014 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
31015 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
31016 (pupa_jmp_buf): New typedef.
31017 (pupa_setjmp) [PUPA_UTIL]: New macro.
31018 (pupa_longjmp) [PUPA_UTIL]: Likewise.
31019 * include/pupa/term.h (struct pupa_term): New member `refresh'.
31020 (pupa_refresh): New prototype.
31021 * include/pupa/util/getroot.h: New file.
31022 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
31023 it.
31024 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
31025 (pupa_rescue_cmd_cat): Likewise.
31026 (pupa_rescue_cmd_ls): Likewise.
31027 (pupa_rescue_cmd_testload): Likewise.
31028 (pupa_rescue_cmd_lsmod): Likewise.
31029 * normal/cmdline.c (pupa_cmdline_get): Likewise.
31030 * normal/menu.c (run_menu): Likewise.
31031 * kern/term.c (pupa_cls): Likewise.
31032 (pupa_refresh): New function.
31033 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
31034 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
31035 * util/console.c: New file.
f19dbdb7 31036
1f7315a3 31037 * util/i386/pc/getroot.c: New file.
31038 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
31039 (pupa_putchar): New function.
31040 (pupa_refresh): Likewise.
31041 (xgetcwd): Function moved to ...
31042 (strip_extra_slashes): Likewise.
31043 (get_prefix): Likewise.
f19dbdb7 31044 * util/i386/pc/getroot.c: ... here.
1f7315a3 31045 (find_root_device): Function moved and renamed to...
31046 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
31047 Changed all callers.
31048 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
31049 and renamed to...
31050 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
31051 Changed all callers.
31052 * util/misc.c (pupa_memalign): New function.
31053 (pupa_mm_init_region): Likewise.
31054 (pupa_register_exported_symbols): Likewise.
31055 (pupa_putchar): Function removed.
31056 * util/pupa-emu.c: New file.
31057
9a5c1ade 310582003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
31059
31060 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
31061 (_multiboot_mod_SOURCES): New variable.
31062 (_multiboot_mod_CFLAGS): Likewise.
31063 * loader/i386/pc/multiboot.c: New file.
31064 * include/pupa/i386/pc/multiboot.h: Likewise.
31065 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
31066 (pupa_multiboot_real_boot): New function.
31067 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
31068 (pupa_multiboot_real_boot): New prototype.
31069 (pupa_rescue_cmd_multiboot): Likewise
31070 (pupa_rescue_cmd_module): Likewise.
31071
31072 * kern/loader.c (pupa_loader_set): Continue when
31073 pupa_loader_unload_func() fails.
31074 (pupa_loader_unset): New function.
31075 * include/pupa/loader.h (pupa_loader_unset): New prototype.
31076
31077 * kern/misc.c (pupa_stpcpy): New function.
31078 * include/pupa/misc.h (pupa_stpcpy): New prototype.
31079
8e72a9c0 310802003-11-12 Marco Gerards <metgerards@student.han.nl>
31081
31082 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
31083 for available extensions.
31084
31085 * include/pupa/i386/pc/time.h: New file.
31086 * kern/disk.c: Include <pupa/machine/time.h>.
31087 (PUPA_CACHE_TIMEOUT): New macro.
31088 (pupa_last_time): New variable.
31089 (pupa_disk_open): Flush the cache when there was a timeout.
31090 (pupa_disk_close): Reset the timer.
31091 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
31092 pupa_currticks.
31093 * util/misc.c: Include <sys/times.h>
31094 (pupa_get_rtc): New function.
31095
c4adbd32 310962003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
31097
31098 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
31099 as blocks.
31100 (pupa_ext2_get_file_block): Use blocks member.
31101
31102 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
31103 first block. Return -1 instead of pupa_errno on error.
31104
bfd30f06 311052003-10-27 Marco Gerards <metgerards@student.han.nl>
31106
31107 * README: In the pupa-mkimage example use _chain instead of chain
31108 and ext2 instead of fat.
31109 * TODO: Replace ext2fs with jfs as an example. Add an item for
31110 adding journal playback for ext2fs.
31111 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
31112 (pkgdata_MODULES): Added ext2.mod.
31113 (ext2_mod_SOURCES): New variable.
31114 (ext2_mod_CFLAGS): Likewise.
31115 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
31116 * include/pupa/misc.h (pupa_strncpy): New prototype.
31117 (pupa_strcat): Likewise.
31118 (pupa_strncmp): Likewise.
31119 * kern/misc.c (pupa_strcat): Enable function.
31120 (pupa_strncpy): New function.
31121 (pupa_strncmp): Likewise.
31122 * fs/ext2.c: New file.
f19dbdb7 31123
bfd30f06 31124 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
31125 when the read failed before retrying.
31126 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
31127 (_FILE_OFFSET_BITS): Likewise.
31128 * configure.ac: Added AC_SYS_LARGEFILE.
31129
98d15063 311302003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
31131
31132 * genmk.rb (PModule#rule): Make sure to get only symbol names
31133 from the output of nm.
59cad637 31134 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 31135
18d9c7cd 311362003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
31137
31138 I forgot to check in these changes for a long time. This adds
31139 incomplete support for VGA console, and this is still very
31140 buggy. Also, a lot of consideration is required for I18N,
31141 UNICODE, and VGA font issues. Therefore, assume that this is
31142 such that "better than nothing".
f19dbdb7 31143
18d9c7cd 31144 * font/manager.c: New file.
31145 * include/pupa/font.h: Likewise.
31146 * include/pupa/i386/pc/vga.h: Likewise.
31147 * term/i386/pc/vga.c: Likewise.
31148 * util/unifont2pff.rb: Likewise.
31149
31150 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
31151 (pkgdata_MODULES): Added vga.mod and font.mod.
31152 (vga_mod_SOURCES): New variables.
31153 (vga_mod_CFLAGS): Likewise.
31154 (font_mod_SOURCES): Likewise.
31155 (font_mod_CFLAGS): Likewise.
31156
31157 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
31158
31159 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 31160 (struct pupa_term): Added init and fini.
18d9c7cd 31161 Changed the argument of putchar to pupa_uint32_t.
31162
31163 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
31164 (pupa_console_real_putchar): New prototype.
31165 (pupa_console_putchar): Removed.
31166 (pupa_console_checkkey): Exported.
31167 (pupa_console_getkey): Likewise.
31168
31169 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
31170 characters.
31171
31172 * kern/term.c (pupa_term_set_current): Rewritten.
31173 (pupa_putchar): Likewise.
31174 (pupa_putcode): New function.
31175
31176 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
31177 (pupa_console_real_putchar): ... this.
31178 (pupa_vga_set_mode): New function.
31179 (pupa_vga_get_font): Likewise.
31180
31181 * normal/command.c: Include pupa/term.h.
31182 (terminal_command): New function.
31183 (pupa_command_init): Register the command "terminal".
31184
31185 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
31186 (DISP_UP): Likewise.
31187 (DISP_RIGHT): Likewise.
31188 (DISP_DOWN): Likewise.
31189 (DISP_HLINE): Likewise.
31190 (DISP_VLINE): Likewise.
31191 (DISP_UL): Likewise.
31192 (DISP_UR): Likewise.
31193 (DISP_LL): Likewise.
31194 (DISP_LR): Likewise.
31195
31196 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 31197
977329f5 311982003-02-08 NIIBE Yutaka <gniibe@m17n.org>
31199
31200 * util/resolve.c (pupa_util_resolve_dependencies): BUG
31201 FIX. Reverse the path_list.
31202
31203 * include/pupa/normal.h: Export pupa_register_command and
31204 pupa_unregister_command.
31205
31206 * hello/hello.c (pupa_cmd_hello): New module.
31207 * conf/i386-pc.rmk: Added hello.mod.
31208
1f5ab428 312092003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
31210
31211 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 31212
1f5ab428 31213 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
31214 (compress_kernel): New variable.
31215 (generate_image): Heavily modified to support compressing a
31216 large part of the core image.
31217
31218 * util/misc.c (pupa_util_read_image): Fix a file descriptor
31219 leak.
31220 (pupa_util_load_image): New function.
31221
31222 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
31223 (pupa_compressed_size): New variable.
31224 (codestart): Enable Gate A20 here.
31225 Decompress the compressed part of the core image.
31226 Rearrange the code to put functions and variables which are
31227 required for initialization in the non-compressed part.
31228 Include lzo1x.S.
31229
31230 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
31231 here.
31232
31233 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
31234
f19dbdb7 31235 * include/pupa/i386/pc/kernel.h
1f5ab428 31236 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
31237 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
31238 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
31239 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
31240 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
31241
31242 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
31243
31244 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
31245 (Utility#rule): Likewise.
31246
31247 * configure.ac: Check if LZO is available.
31248
ce5bf700 312492003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
31250
31251 * include/pupa/normal.h: New file.
31252 * include/pupa/setjmp.h: Likewise.
31253 * include/pupa/i386/setjmp.h: Likewise.
31254 * normal/cmdline.c: Likewise.
31255 * normal/command.c: Likewise.
31256 * normal/main.c: Likewise.
31257 * normal/menu.c: Likewise.
31258 * normal/i386/setjmp.S: Likewise.
f19dbdb7 31259
ce5bf700 31260 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
31261 (pupa_rescue_cmd_initrd): Likewise.
31262
31263 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
31264 Likewise.
31265
31266 * kern/i386/pc/startup.S (translation_table): New variable.
31267 (translate_keycode): New function.
31268 (pupa_console_getkey): Call translate_keycode.
31269
31270 * kern/rescue.c (attempt_normal_mode): New function.
31271 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
31272 it failed, print a message.
31273
31274 * kern/mm.c (pupa_real_malloc): Print more information when a
31275 free magic is broken.
31276 (pupa_free): If the first free header is not free actually, set
31277 it to P.
31278
31279 * kern/main.c (pupa_load_normal_mode): Just load the module
31280 "normal".
31281 (pupa_main): Don't print the message
31282 "Entering into rescue mode..." here.
31283
31284 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
31285 Declared.
31286 (pupa_rescue_cmd_initrd): Likewise.
31287 (pupa_rescue_cmd_initrd): Likewise.
31288
31289 * include/pupa/symbol.h (FUNCTION): Specify the type.
31290 (VARIABLE): Likewise.
31291
31292 * include/pupa/err.h (pupa_err_t): Added
31293 PUPA_ERR_UNKNOWN_COMMAND.
31294
31295 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
31296 (pupa_dl_get_prefix): Likewise.
31297
31298 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
31299 Added _chain.mod and _linux.mod instead of chain.mod and
31300 linux.mod.
31301 (chain_mod_SOURCES): Renamed to ...
31302 (_chain_mod_SOURCES): ... this.
31303 (chain_mod_CFLAGS): Renamed to ...
31304 (_chain_mod_CFLAGS): ... this.
31305 (linux_mod_SOURCES): Renamed to ...
31306 (_linux_mod_SOURCES): ... this.
31307 (linux_mod_CFLAGS): Renamed to ...
31308 (_linux_mod_CFLAGS): ... this.
31309 (normal_mod_SOURCES): New variable.
31310 (normal_mod_CFLAGS): Likewise.
31311 (normal_mod_ASFLAGS): Likewise.
31312
313132003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
31314
31315 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
31316 possible.
31317
fe6b695a 31318 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 31319 recursively.
31320 (pupa_dl_unref): Unrefer depending modules recursively.
31321 Don't call pupa_dl_unload implicitly, because PUPA can crash if
31322 a module is unloaded before one depending on that module is
31323 unloaded.
31324 (pupa_dl_unload): Unload depending modules explicitly,
31325 if possible.
31326
c04da074 313272003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
31328
31329 * include/pupa/i386/pc/linux.h: New file.
31330 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 31331
c04da074 31332 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
31333 Removed.
31334 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
31335 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
31336 of PUPA_CHAINLOADER_BOOT_SECTOR.
31337
31338 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
31339 (pupa_linux_prot_size): New variable.
31340 (pupa_linux_tmp_addr): Likewise.
31341 (pupa_linux_real_addr): Likewise.
31342 (pupa_linux_boot_zimage): New function.
31343 (pupa_linux_boot_bzimage): Likewise.
31344
31345 * kern/i386/pc/init.c (struct mem_region): New structure.
31346 (MAX_REGIONS): New macro.
31347 (mem_regions): New variable.
31348 (num_regions): Likewise.
31349 (pupa_os_area_addr): Likewise.
31350 (pupa_os_area_size): Likewise.
31351 (pupa_lower_mem): Likewise.
31352 (pupa_upper_mem): Likewise.
31353 (add_mem_region): New function.
31354 (compact_mem_regions): Likewise.
31355 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
31356 the size of the conventional memory and that of so-called upper
31357 memory (before the first memory hole).
31358 Instead of adding each found region to free memory, use
31359 add_mem_region and add them after removing overlaps.
31360 Also, add only 1/4 of the upper memory to free memory. The rest
31361 is used for loading OS images. Maybe this is ad hoc, but this
31362 makes it much easier to relocate OS images when booting.
31363
31364 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
31365 (pupa_enter_rescue_mode): Don't register initrd and module.
31366
31367 * kern/mm.c: Include pupa/dl.h.
31368
31369 * kern/main.c: Include pupa/file.h and pupa/device.h.
31370
31371 * kern/loader.c (pupa_loader_load_module_func): Removed.
31372 (pupa_loader_load_module): Likewise.
31373
31374 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
31375 ``.o''.
31376
31377 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
31378 (pupa_linux_tmp_addr): Likewise.
31379 (pupa_linux_real_addr): Likewise.
31380 (pupa_linux_boot_zimage): Likewise.
31381 (pupa_linux_boot_bzimage): Likewise.
31382
31383 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
31384 (pupa_upper_mem): Likewise.
31385 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
31386 module is too dangerous.
31387
31388 * include/pupa/loader.h (pupa_os_area_addr): Declared.
31389 (pupa_os_area_size): Likewise.
31390 (pupa_loader_set): Remove the first argument. Loader doesn't
31391 manage modules or initrd any longer.
31392 (pupa_loader_load_module): Removed.
31393
31394 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
31395 (linux_mod_SOURCES): New variable.
31396 (linux_mod_CFLAGS): Likewise.
31397
a13f9237 313982003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
31399
31400 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
31401 the length of a blocklist correctly.
31402
31403 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
31404 Use ioctl only if the OS file is a block device.
31405 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
31406 not very useful for normal files.
31407
31408 * kern/main.c (pupa_set_root_dev): New function.
31409 (pupa_load_normal_mode): Likewise.
31410 (pupa_main): Call those above.
31411
31412 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
31413 pupa_uint16_t.
31414
31415 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
31416
a5ffe966 314172003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31418
31419 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
31420 (setup): Configure the installed partition information and the
31421 dl prefix.
31422
31423 * loader/i386/pc/chainloader.c (my_mod): New variable.
31424 (pupa_chainloader_unload): New function.
31425 (pupa_rescue_cmd_chainloader): Refer itself.
31426 (PUPA_MOD_INIT): Save its own module in MY_MOD.
31427
31428 * kern/i386/pc/startup.S (install_partition): Removed.
31429 (version_string): Likewise.
31430 (config_file): Likewise.
31431 (pupa_install_dos_part): New variable.
31432 (pupa_install_bsd_part): Likewise.
31433 (pupa_prefix): Likewise.
31434 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
31435
31436 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
31437 and pupa/misc.h.
31438 (make_install_device): New function.
31439 (pupa_machine_init): Set the dl prefix.
31440
31441 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
31442 (buf): Renamed to ...
31443 (linebuf): ... this.
31444 (pupa_rescue_cmd_prefix): New function.
31445 (pupa_rescue_cmd_insmod): Likewise.
31446 (pupa_rescue_cmd_rmmod): Likewise.
31447 (pupa_rescue_cmd_lsmod): Likewise.
31448 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
31449 rmmod and lsmod.
31450
31451 * kern/mm.c (pupa_memalign): If failed even after invalidating
31452 disk caches, unload unneeded modules and retry.
31453
31454 * kern/misc.c (pupa_memmove): New function.
31455 (pupa_memcpy): Removed.
31456 (pupa_strcpy): New function.
31457 (pupa_itoa): Made static.
31458
31459 * kern/dl.c (pupa_dl_iterate): New function.
31460 (pupa_dl_ref): Likewise.
31461 (pupa_dl_unref): Likewise.
31462 (pupa_dl_unload): Return if succeeded or not.
31463 (pupa_dl_unload_unneeded): New function.
31464 (pupa_dl_unload_all): Likewise.
31465 (pupa_dl_init): Renamed to ...
31466 (pupa_dl_set_prefix): ... this.
31467 (pupa_dl_get_prefix): New function.
31468
31469 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
31470 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
31471 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
31472 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
31473 (pupa_install_dos_part): Declared.
31474 (pupa_install_bsd_part): Likewise.
31475 (pupa_prefix): Likewise.
31476 (pupa_boot_drive): Likewise.
31477
31478 * include/pupa/types.h: Fix a typo.
31479
31480 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
31481 pupa_memmove.
31482 (pupa_memmove): Declared.
31483 (pupa_strcpy): Likewise.
31484
31485 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
31486 pupa_mod_init takes one argument, its own module.
31487 (pupa_dl_unload_unneeded): Declared.
31488 (pupa_dl_unload_all): Likewise.
31489 (pupa_dl_ref): Likewise.
31490 (pupa_dl_unref): Likewise.
31491 (pupa_dl_iterate): Likewise.
31492 (pupa_dl_init): Renamed to ...
31493 (pupa_dl_set_prefix): ... this.
31494 (pupa_dl_get_prefix): Declared.
31495
31496 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 31497 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 31498 unloaded.
31499 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
31500 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
31501
31502 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
31503 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
31504
012d7999 315052003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
31506
31507 * util/i386/pc/pupa-setup.c (setup): Define the internal
31508 function find_first_partition_start at the top level, because GCC
31509 3.0.x cannot compile internal functions in deeper scopes
31510 correctly.
31511 (find_root_device): Use lstat instead of stat.
31512 Don't follow symbolic links.
31513 Fix the path-constructing code.
31514
31515 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
31516 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
31517 by a BLKGETSIZE ioctl first, because block devices don't fill
31518 the member st_mode of the structure stat on Linux.
31519 [__linux__] (linux_find_partition): Use a temporary buffer
31520 REAL_DEV for the working space. Copy it to DEV before returning.
31521 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
31522 buffer cache consistent.
31523 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
31524 strncmp. The previous value was merely wrong.
31525 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
31526
31527 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
31528 FAT size is 12. The previous value was merely wrong.
31529
31530 * kern/main.c (pupa_main): Don't split the starting message from
31531 newlines.
31532
31533 * kern/term.c (pupa_putchar): Put CR after LF instead of before
31534 LF, because BIOS goes crazy about character attributes in this
31535 case.
31536
1cc73a62 315372003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
31538
31539 * include/i386/pc/util/biosdisk.h: New file.
31540 * util/i386/pc/biosdisk.c: Likewise.
31541 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 31542
1cc73a62 31543 * Makefile.in (INCLUDE_DISTFILES): Added
31544 include/pupa/i386/pc/util/biosdisk.h.
31545 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
31546 directory util/i386/pc.
31547 (install-local): Added a rule for sbin_UTILITIES.
31548 (uninstall): Likewise.
31549
31550 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
31551
31552 * util/misc.c (xrealloc): New function.
31553 (pupa_malloc): Likewise.
31554 (pupa_free): Likewise.
31555 (pupa_realloc): Likewise.
31556 (pupa_stop): Likewise.
31557 (pupa_putchar): Likewise.
31558
31559 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
31560
31561 * include/pupa/util/misc.h (xrealloc): Declared.
31562
31563 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
31564 macro.
31565 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
31566 (PUPA_BOOT_MACHINE_BPB_END): ... this.
31567
31568 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
31569 [PUPA_UTIL] (pupa_fat_fini): Likewise.
31570
31571 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
31572 way should be implemented.
31573 [PUPA_UTIL] (pupa_fat_fini): Likewise.
31574
31575 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
31576 the size of NAME for safety.
31577 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
31578 0x88.
31579
31580 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
31581 (pupa_setup_SOURCES): Likewise.
31582
31583 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
31584
08b70fe8 315852002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
31586
31587 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
31588 bunch of pushl's from pusha, because this destroys the return
31589 value.
31590
62ddcc8f 315912002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
31592
31593 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
31594 This means that any missing prototypes could be fatal. Also, you
31595 must take care when writing assembly code. See the comments at
31596 the beginning of startup.S, for more details.
f19dbdb7 31597
62ddcc8f 31598 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
31599 compilation mechanism.
31600 (pupa_chainloader_real_boot): Likewise.
31601 (pupa_biosdisk_rw_int13_extensions): Likewise.
31602 (pupa_biosdisk_rw_standard): Likewise.
31603 (pupa_biosdisk_check_int13_extensions): Likewise.
31604 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
31605 (pupa_biosdisk_get_diskinfo_standard): Likewise.
31606 (pupa_get_memsize): Likewise.
31607 (pupa_get_mmap_entry): Likewise.
31608 (pupa_console_putchar): Likewise.
31609 (pupa_console_setcursor): Likewise.
31610 (pupa_getrtsecs): Use pushl instead of push.
31611
31612 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
31613 memory instead of the stack for a mmap entry, because some
31614 BIOSes may ignore the maximum size and overflow.
31615
31616 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
31617
31618 * genmk.rb (PModule#rule): Compile automatically generated
31619 sources with module-specific CFLAGS as well as other sources.
31620
9962ed99 316212002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
31622
31623 * configure.ac: Check ld.
31624 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
31625 respectively, before checking endianness and sizes.
31626
31627 * Makefile.in (LD): New variable.
f19dbdb7 31628
abdfc3c5 316292002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
31630
31631 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
31632
6a161fa9 316332002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
31634
31635 * Changelog: New file.
31636