]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* Makefile.util.def (example_unit_test): Add
[grub2.git] / ChangeLog
CommitLineData
dd363028
BC
12010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
2
3 * Makefile.util.def (example_unit_test): Add
4 grub-core/gnulib/libgnu.a.
5
f5a109e2
GS
62010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
7
8 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
9
6d0fa83c
VS
102010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11
12 Support xz compression on yeeloong.
13
14 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
15 * configure.ac: Check for LZMA.
16 * grub-core/Makefile.core.def (xz_decompress): New target.
17 (none_decompress): Likewise.
18 * grub-core/boot/decompressor/minilib.c: New file.
19 * grub-core/boot/decompressor/none.c: Likewise.
20 * grub-core/boot/decompressor/xz.c: Likewise.
21 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
22 * grub-core/kern/mips/cache_flush.S: Likewise.
23 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
24 * grub-core/kern/mips/startup.S: Move first stage to ...
25 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
26 nomacro.
27 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
28 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
29 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
30 Allocate statically.
31 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
32 Allocate statically or use scratch. Don't check CRC32.
33 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
34 Allocate statically. Don't check CRC32.
35 * include/grub/decompressor.h: New file.
36 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
37 Removed.
38 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
39 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
40 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
41 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
42 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
43 * util/grub-mkimage.c (grub_compression_t): New type.
44 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
45 (image_target_desc): New field default_compression.
46 (image_targets): Adjust yeeloong targets.
47 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
48 (compress_kernel): New parameter comp.
49 (generate_image): Likewise. Handle new compression case.
50 (options): New option --compression
51 (help): Likewise.
52 (main): Handle new option.
53
1b655af6
GS
542010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
55
56 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
57
8f03f0b5
CW
582010-09-22 Colin Watson <cjwatson@ubuntu.com>
59
60 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
61 typo in __i386__ conditional.
62
7835dfd3
VS
632010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
66 include.
67
e255597e
VS
682010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
69
6d0fa83c 70 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
71
72 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
73 new tags as supported.
74 (acpiv2_size): New function.
75 (grub_multiboot_get_mbi_size): Take new tags into account.
76 (grub_multiboot_make_mbi): Add new tags.
77 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 78
6cc14051 792010-09-21 Aleš Nesrsta <starous@volny.cz>
80
81 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
82 Added missing configuration of USB device.
83
df7769d8
CW
842010-09-21 Colin Watson <cjwatson@ubuntu.com>
85
86 * grub-core/normal/menu_entry.c (run): Make sure we always return
87 a value.
88
b031012d
CW
892010-09-21 Colin Watson <cjwatson@ubuntu.com>
90
91 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
92 NumberOfPages is UINT64 according to the UEFI specification, not
93 UINTN. Fix printf format.
94
174de8f3
CW
952010-09-21 Colin Watson <cjwatson@ubuntu.com>
96
97 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
98 `err' to grub_usb_err_t.
99 Reported and tested by: KESHAV P.R.
100
d7dbe923
CW
1012010-09-21 Colin Watson <cjwatson@ubuntu.com>
102
103 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
104 tpart non-const, so that we can assign to it. (Since this is a
105 typedef, the constness refers to the pointer rather than what it
106 points to.)
107
8d5e2af3
CW
1082010-09-21 Colin Watson <cjwatson@ubuntu.com>
109
110 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
111 $(top_srcdir)/grub-core/gnulib as well as
112 $(top_builddir)/grub-core/gnulib.
113 Reported by: KESHAV P.R.
114
5c527783
CW
1152010-09-21 Colin Watson <cjwatson@ubuntu.com>
116
117 * util/grub-install.in: Fix the bootloader ID option to be
118 consistently --bootloader-id, not --bootloader_id.
119 Reported by: KESHAV P.R.
120
d309a16e
CW
1212010-09-21 Colin Watson <cjwatson@ubuntu.com>
122
123 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
124 check hash checksum." consistently translatable.
125
b830cd16
YB
1262010-09-21 Yves Blusseau <blusseau@zetam.org>
127
128 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
129 $(top_builddir).
130
c4fe27a8
CW
1312010-09-21 Colin Watson <cjwatson@ubuntu.com>
132
133 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
134 (GRUB_MOD_INIT): Register sha1sum command.
135 (GRUB_MOD_FINI): Unregister sha1sum command.
136
a4c1d277
YB
1372010-09-21 Yves Blusseau <blusseau@zetam.org>
138
139 Keep boot and grub directory names in sync with utils scripts
140
141 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
142 * config.h.in: Add previous macros.
143 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
144 * util/grub-install.in: Use $bootdir and $grubdir variables.
145
4eff79d2
CW
1462010-09-21 Colin Watson <cjwatson@ubuntu.com>
147
148 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
149 convert partition names to disk names if the new `convert' parameter
150 is set.
151 (grub_util_biosdisk_get_grub_dev): If opening the disk device
152 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
153 disk in its own right. This can happen with Xen disk images.
154
934d7e44
YB
1552010-09-21 Yves Blusseau <blusseau@zetam.org>
156
157 * util/grub-editenv.c: Update strings to avoid warnings when generating
158 grub.pot file.
159 * util/grub-setup.c: Likewise.
934d7e44 160
df3367cc
VS
1612010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * configure.ac: Change version to 1.99~beta0.
164
77a94e98
VS
1652010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
168 Add BADRAM.
169 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
170 Likewise.
171 * include/multiboot.h: Resynced with specification.
172 * include/multiboot2.h: Likewise.
173
269004c1
CW
1742010-09-21 Colin Watson <cjwatson@ubuntu.com>
175
176 Fix po directory handling.
177
178 * configure.ac: Create po/Makefile.in rather than po/Makefile.
179 * grub-core/gnulib/Makefile.am: Import gettext module.
180 * m4/gnulib-cache.m4: Likewise.
181 * m4/gnulib-comp.m4: Likewise.
182 * m4/gettext.m4: New file, from gnulib.
183 * m4/glibc2.m4: Likewise.
184 * m4/iconv.m4: Likewise.
185 * m4/intdiv0.m4: Likewise.
186 * m4/intl.m4: Likewise.
187 * m4/intldir.m4: Likewise.
188 * m4/intlmacosx.m4: Likewise.
189 * m4/intmax.m4: Likewise.
190 * m4/inttypes-pri.m4: Likewise.
191 * m4/lcmessage.m4: Likewise.
192 * m4/lib-ld.m4: Likewise.
193 * m4/lib-link.m4: Likewise.
194 * m4/lib-prefix.m4: Likewise.
195 * m4/lock.m4: Likewise.
196 * m4/nls.m4: Likewise.
197 * m4/po.m4: Likewise.
198 * m4/printf-posix.m4: Likewise.
199 * m4/progtest.m4: Likewise.
200 * m4/threadlib.m4: Likewise.
201 * m4/uintmax_t.m4: Likewise.
202 * m4/visibility.m4: Likewise.
203 * po/Makefile.am: Remove.
204 * po/Makefile.in.in: New file, from gettext.
205 ($(DOMAIN).pot-update): Support POTFILES-shell.
206 * po/Makevars: New file.
207 * po/POTFILES-shell: Rename to ...
208 * po/POTFILES-shell.in: ... this. Update.
209 * po/POTFILES: Rename to ...
210 * po/POTFILES.in: ... this. Update.
211 * po/Rules-quot: New file, from gettext.
212 * po/boldquot.sed: Likewise.
213 * po/en@boldquot.header: Likewise.
214 * po/en@quot.header: Likewise.
215 * po/insert-header.sin: Likewise.
216 * po/quot.sed: Likewise.
217 * po/remove-potcdate.sin: Likewise.
218
3e0fa5d0
VS
2192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
222
ade9bd66
VS
2232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * util/grub.d/20_linux_xen.in: Use submenus.
226
fc55cc4c
VS
2272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
228
229 Support submenus.
230
231 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
232 parameter submenu. All users updated.
233 * grub-core/normal/main.c (free_menu): Rename to ...
234 (grub_normal_free_menu): ... this. Made global.
235 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
236 if requested.
237 * grub-core/normal/menu_entry.c (screen): New field submenu.
238 (make_screen): Set submenu.
239 (run): Open new context if requested.
240 * include/grub/menu.h (grub_menu_entry): New field submenu.
241 * include/grub/normal.h (grub_normal_free_menu): New proto.
242
600cedf7
VS
2432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
244
245 Menu entries extractor.
246
247 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
248 variants.
249 (GRUB_MOD_INIT): Register new variants.
250 (GRUB_MOD_FINI): Unregister new variants.
251 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
252 into grub_cmd_legacy_source.
253 (grub_cmd_legacy_source): Implement extractor variants.
254 (GRUB_MOD_INIT): Register new variants.
255 (GRUB_MOD_FINI): Unregister new variants.
256 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
257 as an extractor.
258 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
259 search as an extractor.
260 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
261 test as an extractor.
262 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
263 as an extractor.
264 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
265 (grub_env_new_context): New function.
266 (grub_env_context_open): Likewise.
267 (grub_env_extractor_open): Likewise.
268 (grub_env_extractor_close): Likewise.
269 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
270 grub_extractor_level.
271 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
272 * include/grub/env.h (grub_env_extractor_open): New proto.
273 (grub_env_extractor_close): Likewise.
274 * include/grub/normal.h (grub_extractor_level): New external variable.
275
7bda3a87
VS
2762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
277
278 Make cutmem accept a region specification.
279 Suggested by: Samuel Thibault
280
281 * grub-core/mmap/mmap.c (parsemem): New function.
282 (grub_cmd_cutmem): Handle new arguments.
283
2ea57f88
VS
2842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
285
286 New command cutmem.
287
288 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
289 (GRUB_MOD_INIT): Register new command.
290 (GRUB_MOD_FINI): Unregister new command.
291
74342e31
VS
2922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
293
294 Support some annoying BSD and Minix subpartitions.
295
296 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
297 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
298 Properly handle concatenation.
299 * grub-core/kern/device.c (grub_device_iterate): Likewise.
300 * grub-core/normal/completion.c (iterate_partition): Likewise.
301 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
302 contain partition. All users updated.
303 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
304 struct.
305 (grub_openbsdlabel_partition_map): Likewise.
306 (bsdlabel_partition_map_iterate): Rename to ..
307 (iterate_real): ... this. New arguments sector, freebsd and pmap.
308 (bsdlabel_partition_map_iterate): New function.
309 (netopenbsdlabel_partition_map_iterate): Likewise.
310 (netbsdlabel_partition_map_iterate): Likewise.
311 (openbsdlabel_partition_map_iterate): Likewise.
312 (GRUB_MOD_INIT): Register new partmaps.
313 (GRUB_MOD_FINI): Unregister new partmaps.
314 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
315 (grub_partition_msdos_iterate): ... this. All users updated.
316 Don't support embedding other than in a minix partition.
317 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
318 proto.
319 * include/grub/partition.h (grub_partition): New field msdostype.
320 * util/grub-install.in: Handle openbsd and netbsd types being in
321 part_bsd module.
322
1e8d555b
VS
3232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
324
325 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
326
327 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
328 * grub-core/Makefile.core.def (mdraid): Renamed to ...
329 (mdraid09): ... this.
330 (mdraid1x): New module.
331 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
332 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
333
899d8af4
VS
3342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
337 vsprintf.
338
40901acd
CW
3392010-09-20 Colin Watson <cjwatson@ubuntu.com>
340
341 * grub-core/commands/efi/lsefimmap.c: Correct header.
342 * NEWS: Update.
343
dfe3b247
CW
3442010-09-20 Colin Watson <cjwatson@ubuntu.com>
345
346 * util/grub-editenv.c (argp_parser): Don't pass translated strings
347 as printf format strings; the translations might contain '%' which
348 could cause a crash.
349 (main): Likewise.
350 * util/grub-fstest.c (argp_parser): Likewise.
351 * util/grub-setup.c (argp_parser): Likewise.
352 (main): Likewise.
353
3286a4b4
VS
3542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
355
356 Use argp in grub-fstest.
357
358 * util/grub-fstest.c: Don't include getopt.h.
359 Include argp.h.
360 (root): New variable.
361 (args_count): Likewise.
362 (nparm): Likewise.
363 (num_disks): Likewise.
364 (images): Likewise.
365 (cmd): Likewise.
366 (debug_str): Likewise.
367 (args): Likewise.
368 (options): Transformed to argp.
369 (usage): Removed.
370 (main): Split argument parsing into ...
371 (argp_parser): ... this. Changed to argp format.
372 (argp): New variable.
373 (main): Use argp_parse.
374
3dccbe4b
TG
3752010-09-20 Tristan Gingold <gingold@free.fr>
3762010-09-20 Robert Millan <rmh.grub@aybabtu.com>
3772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * grub-core/commands/efi/lsefimmap.c: New file.
380 * grub-core/Makefile.core.def (lsefimmap): New module.
381 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
382
38c259a7
VS
3832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
384
385 Pause the execution (10s max) if any errors are displayed so the user
386 has a chance to see them.
387
388 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
389 (grub_print_error): Increment grub_err_printed_errors.
390 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
391 execution if any errors were displayed.
392 (show_menu): Remove old code for pause.
393 * grub-core/normal/menu_entry.c (run): Likewise.
394 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
395 users updated.
396 (grub_normal_get_char_counter): Likewise.
397 * include/grub/err.h (grub_err_printed_errors): New external variable.
398 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
399
f218b09c
VS
4002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
401
402 Support multiboot VBE info.
403
404 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
405 Take VBE info into account.
406 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
407 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
408 Call fill_vbe_info when appropriate.
409 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
410 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
411 as supported.
412 (grub_multiboot_get_mbi_size): Take new tags into account.
413 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
414 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
415 Call fill_vbe_tag when appropriate.
416 (grub_multiboot_make_mbi): Properly align tags.
417 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
418 function.
419 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
420 proto.
421 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
422
a9cc5438
VS
4232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
424
425 Suport manual terminal geometry specification.
426
427 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
428 Save state in grub_ofconsole_terminfo_output.
429 (grub_ofconsole_term): Use grub_terminfo_getwh.
430 (grub_ofconsole_getwh): Removed.
431 * grub-core/term/serial.c (grub_serial_getwh): Removed.
432 (grub_serial_term): Use grub_terminfo_getwh.
433 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
434 (options): New struct.
435 (OPTION_*): New enum.
436 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
437 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
438 width and height.
439 (grub_terminfo_getwh): New proto.
440 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
441
1a8fed20
VS
4422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
443
444 Handle legacy "terminal" command.
445
446 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
447 and FLAG_TERMINAL.
448 (legacy_commands): Add terminal and title.
449 (grub_legacy_parse): Handle terminal. Simplify title handling.
450
41e9c57d
VS
4512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
454 parameters overflow.
455
61c874c5
CW
4562010-09-20 Colin Watson <cjwatson@ubuntu.com>
457
458 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
459 widthspec.h.
460
461 * docs/grub.texi (Shell-like scripting): Document `!'.
462 (Network): Simplify using new i386-pc-pxe format. Mention
463 grub-mknetdir.
464
465 * NEWS: Update.
466
943682b4
CW
4672010-09-20 Colin Watson <cjwatson@ubuntu.com>
468
469 * Makefile.am (SUBDIRS): Restore "."; it's important to force
470 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
471 when needed.
472
6d3d698d
CW
4732010-09-20 Colin Watson <cjwatson@ubuntu.com>
474
475 * grub-core/commands/efi/lsefisystab.c: Correct header.
476 * grub-core/commands/efi/lssal.c: Likewise.
477 * grub-core/commands/testload.c: Likewise.
478
c982589f
CW
4792010-09-20 Colin Watson <cjwatson@ubuntu.com>
480
481 * util/grub-mkrescue.in: Add explicit root argument to --set to
482 prevent the UUID being interpreted as an argument to --set (matches
483 previous change to prepare_grub_to_access_device).
484
a63c31b6
CW
4852010-09-20 Colin Watson <cjwatson@ubuntu.com>
486
487 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
488 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
489 the verbosity of later #ifs.
490 (find_partition_start): Define this function on FreeBSD too.
491 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
492 function.
493 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
494 on FreeBSD.
495
6439b8ee
YB
4962010-09-20 Yves Blusseau <blusseau@zetam.org>
497
498 * util/grub-editenv.c: Use argp instead of getopt.
499
c5930ec8
YB
5002010-09-20 Yves Blusseau <blusseau@zetam.org>
501
502 * util/grub-setup.c: Use argp instead of getopt.
503
15c69261
YB
5042010-09-20 Yves Blusseau <blusseau@zetam.org>
505
506 Use gnulib-tool to create gnulib source files.
507
508 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
509 grub-core/gnulib directories
510 * .bzignore: Add **/.deps and autogenerated gnulib files
511 * configure.ac: Assign auxiliary directory to build-aux, add invocation
512 of gnulib macros, add grub-core/gnulib/Makefile
513 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
514 include m4 directory to aclocal.
515 * Makefile.util.def: Remove direct compilation of gnulib source files
516 and use the new grub-core/gnulib/libgnu.a.
517 * build-aux/config.rpath: move config.rpath from top directory to
518 build-aux
519 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
520 in gnulib headers
521 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
522 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
523 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
524 header.
525 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
526 string.
527
e511c9f5
YB
5282010-09-20 Yves Blusseau <blusseau@zetam.org>
529
530 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
531 grub-core/genmod.sh and grub-core/gensyminfo.sh
532
c2dede05
BC
5332010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
534
535 Add a test for echo command options.
536
537 * tests/grub_cmd_echo.in: New test.
538 * Makefile.util.def: Rules for new test.
539
c55f5018
SJ
5402010-09-20 Szymon Janc <szymon@janc.net.pl>
541
542 Remove crc.mod and move crc command to hashsum.mod.
543 Remove lib/crc.c - users updated to use gcrypt implementation.
544
545 * grub-core/commands/crc.c: Removed.
546 * grub-core/Makefile.core.def (crc): Module removed.
547 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
548 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
549 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
550 * grub-core/lib/crc.c: Removed.
551 * include/grub/lib/crc.h: Removed.
552 * Makefile.util.def (crc): Remove lib/crc.c
553 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
554 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
555 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
556 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
557 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
558 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
559
e0337366
VS
5602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
563
742f9232
VS
5642010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
565
566 Split config.h for util and core.
567
568 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
569 (ADDR32): Likewise.
570 (DATA32): Likewise.
571 (BSS_START_SYMBOL): Likewise.
572 (END_SYMBOL): Likewise.
573 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
574 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
575 * config.h.in: New file.
576 * configure.ac: Use config-util.h as config define file.
577 Rename MACHINE into GRUB_MACHINE. All users updated.
578 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
579 updated.
580 (NESTED_FUNC_ATTR): Likewise.
581 Substitue new variables.
582 (COND_HAVE_ASM_USCORE): New conditional.
583 * grub-core/Makefile.am (ASM_PREFIX): New variable.
584 (kernel_syms.lst): Use ASM_PREFIX.
585 * grub-core/kern/emu/console.c: Include config-util.h.
586 * grub-core/kern/emu/misc.c: Likewise.
587 * grub-core/kern/emu/mm.c: Likewise.
588 * include/grub/emu/misc.h: Likewise.
589 * include/grub/libgcc.h: Likewise.
590
39feb0e8
VS
5912010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
594 constants usage.
595 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
596 Fix GRUB_TERM_KEY_* constants usage.
597 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
598
9af6dac3
VS
5992010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
600
601 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
602 print pointer.
603 * grub-core/bus/usb/uhci.c: Remove empty define.
604 (grub_uhci_check_transfer): Add missing cast.
605 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
606 print pointer.
607 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
608 PRIuGRUB_SIZE.
609 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
610
d6d94820
VS
6112010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * grub-core/Makefile.core.def (legacycfg): Add
614 lib/i386/pc/vesa_modes_table.c on emu.
615
3572f2b6
BC
6162010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
617
618 Reduce number of temporary files generated by build system.
619
620 * grub-core/gencmdlist.sh: Removed.
621 * grub-core/genfslist.sh: Removed.
622 * grub-core/genhandlerlist.sh: Removed.
623 * grub-core/genmodsrc.sh: Removed.
624 * grub-core/genpartmaplist.sh: Removed.
625 * grub-core/genparttoollist.sh: Removed.
626 * grub-core/gentermiinallist.sh: Removed.
627 * grub-core/genvideolist.sh: Removed.
628
629 * grub-core/genmod.sh.in: New file.
630 * grub-core/gensyminfo.sh.in: New file.
631
632 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
633 * conf/Makefile.extra-dist: Update with new files.
634 * gentpl.py: Remove rules related to unnecessary temporary files.
635 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
636 and und-* files.
637 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
638 genmod.sh scripts.
639 * grub-core/bus/usb/uhci.c: Remove empty #define.
640 * grub-core/genmoddep.awk: Updated with new syminfo format.
641 * util/bash-completion.d/Makefile.am: Add config.log to
642 CLEANFILES.
643
c836b030
YB
6442010-09-19 Yves Blusseau <blusseau@zetam.org>
645
646 * Makefile.util.def: Add forgotten $(LIBINTL) library.
647
2f4e8053
BC
6482010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
649
650 * util/grub-mkconfig.in: Check the config script for syntax errors
651 before saving.
652
75831c34
CW
6532010-09-19 Colin Watson <cjwatson@ubuntu.com>
6542010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * Makefile.util.def (grub-install): Use util/grub-install.in on all
657 platforms.
658 * util/grub-install.in: Add EFI and IEEE1275 support.
659 * util/i386/efi/grub-install.in: Removed.
660 * util/ieee1275/grub-install.in: Likewise.
661
eaf41b25
VS
6622010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
665 (grub_cmd_cmosclean): Likewise.
666 (GRUB_MOD_INIT): Register command cmosclean.
667 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
668 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
669
1a9130dd
CPE
6702010-09-18 Carles Pina i Estany <carles@pina.cat>
6712010-09-18 Aleš Nesrsta <starous@volny.cz>
6722010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
673
674 Add keyboard layouts support.
675
676 * Makefile.util.def (grub-mklayout): New file.
677 (grub-kbdcomp): New script.
678 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
679 Add keyboard_layouts.h.
680 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
681 commands/boot.c on yeeloong.
682 (keylayouts): New module.
683 * grub-core/bus/usb/ohci.c
684 * grub-core/bus/usb/uhci.c
685 * grub-core/bus/usb/usbhub.c (rescan): New variable.
686 (grub_usb_add_hub): Poll interrupt pipe for device handling.
687 (attach_root_port): Likewise.
688 (poll_nonroot_hub): Likewise.
689 (grub_usb_poll_devices): Likewise.
690 (detach_device): Close transfer.
691 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
692 function.
693 (grub_usb_bulk_setup_readwrite): Likewise.
694 (grub_usb_bulk_finish_readwrite): Likewise.
695 * grub-core/commands/keylayouts.c: New file.
696 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
697 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
698 aliases.
699 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
700 support scancode 2.
701 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
702 * include/grub/keyboard_layouts.h: New file.
703 * util/grub-mklayout.c: New file.
704 * util/grub-kbdcomp.in: Likewise.
705
a1d84a5e
VS
7062010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
707
708 Unify memory types.
709
710 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
711 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
712 types.
713 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
714 (grub_upper_mem): Likewise.
715 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
716 * include/grub/memory.h (grub_memory_type_t): New enum.
717 All users updated.
718
9696382e
VS
7192010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
720
721 * grub-core/Makefile.core.def (lsapm): New module.
722 * grub-core/commands/i386/pc/lsapm.c: New file.
723 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
724 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
725 Likewise.
726 * include/grub/i386/pc/apm.h: New file.
727 * include/multiboot.h (multiboot_apm_info): New struct.
728
7292010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
730
731 GRUB-legacy configuration file support.
732
733 * Makefile.util.def (grub-menulst2cfg): New util.
734 * docs/man/grub-menulst2cfg.h2m: New file.
735 * grub-core/Makefile.core.def (legacycfg): New module.
736 * grub-core/commands/legacycfg.c: New file.
737 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
738 (grub_normal_add_menu_entry): ... this.
739 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
740 (grub_normal_set_password): ...this.
741 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
742 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
743 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
744 * grub-core/lib/legacy_parse.c: New file.
745 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
746 * include/grub/i386/pc/vesa_modes_table.h: New file.
747 * include/grub/legacy_parse.h: Likewise.
748 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
749 * util/grub-menulst2cfg.c: New file.
750
bf8d1338
CW
7512010-09-17 Colin Watson <cjwatson@ubuntu.com>
752
753 * grub-core/kern/emu/hostdisk.c
754 (convert_system_partition_to_system_disk): Initialise node.
755
9c0bad2e
CW
7562010-09-17 Colin Watson <cjwatson@ubuntu.com>
757
758 * grub-core/kern/emu/hostdisk.c
759 (convert_system_partition_to_system_disk): Fix devmapper memory pool
760 leak.
761 Reported and based on patch by: Modestas Vainius.
762
a939d135
CW
7632010-09-17 Colin Watson <cjwatson@ubuntu.com>
764
765 Fix DM-RAID probing with recent versions of device-mapper udev
766 rules.
767
768 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
769 canonicalise device paths under /dev/mapper/.
770 (convert_system_partition_to_system_disk): Compare the
771 uncanonicalised path to /dev/mapper/ rather than the canonicalised
772 path, since device nodes under /dev/mapper/ are often symlinks.
773
0f7ee3c9
YB
7742010-09-17 Yves Blusseau <blusseau@zetam.org>
775
776 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
777
10854d0d
YB
7782010-09-16 Yves Blusseau <blusseau@zetam.org>
779
780 * configure.ac: Avoid some annoying error messages if freetype-config
781 program is not found.
782
108538d8
CW
7832010-09-16 Colin Watson <cjwatson@ubuntu.com>
784
785 Support RAID on virtio devices, and others.
786
787 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
788 Rename to ...
789 [__MINGW32__] (grub_find_device): ... this.
790 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
791 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
792 reasonable default if dir is NULL.
793 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
794 ...
795 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
796 (grub_guess_root_device): Update callers.
797 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
798
799 * util/raid.c (grub_util_getdiskname): Remove.
800 (grub_util_raid_getmembers): Use grub_find_device rather than
801 grub_util_getdiskname.
802
e5bfc130
CW
8032010-09-16 Colin Watson <cjwatson@ubuntu.com>
804
805 * docs/grub.texi (serial): Remove obsolete comment about GRUB
806 needing to be compiled with serial support.
807 (ls): Indicate that multiple files are accepted.
808 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
809 indicate that multiple files are accepted.
810
be458ae2
CW
8112010-09-16 Colin Watson <cjwatson@ubuntu.com>
812
813 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
814 libgrub_a_init.c, and util/bash-completion.d/grub.
815
cb731b5e
VS
8162010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * util/grub-setup.c (setup): Fix incorrect container semantics.
819
35139e8a
VS
8202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
823 misusage.
824 Reported by: J. Nick Terry
825
e50fca4a
VS
8262010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
827
828 Move embedding routines to partmap sources files.
829
830 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
831 [GRUB_UTIL]: New variable.
832 (gpt_partition_map_iterate): Set part.parent.
833 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
834 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
835 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
836 New function.
837 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
838 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
839 (grub_partition_map) [GRUB_UTIL]: New field embed.
840 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
841 (setup): Use ->embed.
842
f00478b7
VS
8432010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
846 function.
847 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
848 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
849
2b94e3ff
YB
8502010-09-15 Yves Blusseau <blusseau@zetam.org>
851
852 Add function to get completions from usage.
853
854 * util/bash-completion.d/grub-completion.bash.in: Add function to get
855 completions from usage. Use LC_ALL=C to get options properly.
856
2e04a006
VS
8572010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/gnulib/basename-lgpl.c: Imported.
860 * grub-core/gnulib/basename.c: Likewise.
861 * grub-core/gnulib/dirname-lgpl.c: Likewise.
862 * grub-core/gnulib/dirname.c: Likewise.
863 * grub-core/gnulib/dirname.h: Likewise.
864 * grub-core/gnulib/stripslash.c: Likewise.
865
5dcdf93a
VS
8662010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/gnulib/error.c: Resynced.
869 * grub-core/gnulib/getopt.c: Likewise.
870 * grub-core/gnulib/getopt_int.h: Likewise.
871 * grub-core/gnulib/regex.h: Likewise.
872 * grub-core/gnulib/regex_internal.c: Likewise.
873 * grub-core/gnulib/regex_internal.h: Likewise.
874
014f47b7
SJ
8752010-09-15 Szymon Janc <szymon@janc.net.pl>
876
877 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
878 CRC calculations and validity checks.
879 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
880 calculations.
881
dd521a4a
SJ
8822010-09-15 Szymon Janc <szymon@janc.net.pl>
883
884 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
885
79c4eeb9
VS
8862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
887
888 Fix incorrect echo options handling.
889 Reported by: Yves Blusseau.
890
891 * include/grub/command.h (grub_command_flags_t): New flags
892 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
893 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
894 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
895
ed80f7d5
VS
8962010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
899 users updated.
900 (GRUB_COMMAND_FLAG_MENU): Likewise.
901 (GRUB_COMMAND_FLAG_BOTH): Likewise.
902 (GRUB_COMMAND_FLAG_TITLE): Removed.
903 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
904 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
905 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
906 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
907 (grub_command_flags_t): New enum. All users updated.
908
5fe7620a
SG
9092010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
910
911 Fix solaris compilation.
912
913 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
914 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
915 (grub-emu-list): Likewise.
916
545b752f
VS
9172010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
918
919 Remove deprecated root command.
920
921 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
922 updated.
923
6c1a338c
VS
9242010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * util/i386/pc/grub-setup.c: Merge this ...
927 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
928 * util/grub-setup.c: ... into this.
929 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
930 New struct.
931
9322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
935 possible.
936
d2ea4551
VS
9372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
940 allocate p.
941
3c3b5040
VS
9422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
945 explicit root argument to set to prevent UUID to be interpreted as
946 argument to set.
947
b71c3fae
VS
9482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
951
275433e6
VS
9522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
953
954 Don't export grub_gate_a20.
955
956 * grub-core/kern/i386/pc/init.c: Remove leftovers.
957 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
958 to ...
959 (grub_gate_a20): ... this. All users updated.
960 * include/grub/i386/pc/init.h: Removed. All users updated.
961
a5dbb1f1
VS
9622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
963
964 Create euro.pf2 which supports most European languages.
965
966 * Makefile.am (grubdata_DATA): Add euro.pf2.
967 (euro.pf2): New target.
968 (CLEANFILES): Add euro.pf2.
969
62a747cb
VS
9702010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * configure.ac: Disable emu-usb by default to prevent inadvertent
973 device takeover.
974
608e43b1
VS
9752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
976
977 Disable usbserial on grub-emu since our libusb code isn't good enough
978 yet.
979
980 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
981 (usbserial_pl2303): Likewise.
982 (usbserial_ftdi): Likewise.
983
94564f81
VS
9842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * include/grub/disk.h (grub_disk): Remove has_partitions.
987 All users updated.
988 * disk/loopback.c (grub_loopback): Remove has_partitions.
989 All users updated.
990 (options): Remove partitions. All users updated.
991 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
992 * util/i386/pc/grub-setup.c (setup): copy partition table only when
993 actual partition table is found.
994
3352800b
VS
9952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
996
997 Remove readability checks (too many false negatives).
998
999 * util/grub-install.in: Remove readability checks.
1000 * util/grub-mkconfig.in: Likewise.
1001 * util/grub.d/10_hurd.in: Likewise.
1002 * util/grub.d/10_kfreebsd.in: Likewise.
1003 * util/grub.d/10_linux.in: Likewise.
1004 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
1005 way.
1006
2419f17a
VS
10072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 Enable acpi shutdown on all ACPI platforms.
1010
1011 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
1012 on coreboo, multiboot and EFI.
1013 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
1014 (grub_acpi_halt): Likewise.
1015 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
1016 (grub_cmd_halt): Don't call grub_acpi_halt directly.
1017 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
1018 * grub-core/lib/i386/halt.c (grub_halt)
1019 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
1020
0575c7c3
VS
10212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
1024 context.
1025
54ac3cd1
VS
10262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/video/efi_gop.c: Fix over-80-chars line.
1029 * grub-core/video/efi_uga.c: Likewise.
1030
b2a30ac5
VS
10312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 Filter devaliases and never open same device twice.
1034
1035 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
1036 (last_ihandle): Likewise.
1037 (ofdisk_hash_ent): New member shortest.
1038 (ofdisk_hash_add): Add canonical path too.
1039 (scan): New function.
1040 (grub_ofdisk_iterate): Iterate over hashed entries.
1041 (compute_dev_path): Don't add :0.
1042 (grub_ofdisk_open): Don't really open the disk.
1043 (grub_ofdisk_close): Avoid closing unrelated disk.
1044 (grub_ofdisk_read): Implement reopen logic.
1045 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
1046 New function.
1047 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
1048 New proto.
1049
fb53b340
VS
10502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 Fix sparc64.
1053
1054 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
1055 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
1056 right address. Add sparc64_ieee1275_ldflags.
1057 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
1058 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
1059 to grub_host_to_target_addr
1060 (load_image): Likewise.
1061
f452b040
VS
10622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * grub-core/normal/completion.c (complete_file): Handle device
1065 containing slash.
1066 Fix based on patch by Doug Nazar.
1067
9b5b2541
VS
10682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 grub-mknetdir script.
1071
1072 * Makefile.util.def (grub-mknetdir): New module.
1073 * tests/util/grub-shell.in: Support boot=net
1074 * util/grub-mknetdir.in: New file.
1075
9d2be652
VS
10762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 videoinfo on non-vbe.
1079
1080 * grub-core/Makefile.core.def (vbeinfo): Removed.
1081 (vbetest): Removed.
1082 (videoinfo): New module.
1083 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
1084 * grub-core/commands/i386/pc/vbetest.c: Removed.
1085 * grub-core/commands/videoinfo.c: New file.
1086 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
1087 specification.
1088 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
1089 as vbetest.
1090 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
1091 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
1092 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
1093 mode_number. New parameter mode. All users updated.
1094 (grub_video_gop_iterate): New function.
1095 (grub_video_efi_gop): New member iterate.
1096 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
1097 (grub_vbe_set_video_mode): Remove setting useless fields.
1098 (vbe2videoinfo): New function.
1099 (grub_video_vbe_iterate): Likewise.
1100 (grub_video_vbe_setup): Use vbe2videoinfo.
1101 (grub_video_vbe_print_adapter_specific_info): New function.
1102 (grub_video_vbe_adapter): New fields iterate and
1103 print_adapter_specific_info.
1104 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
1105 All users updated.
1106 (grub_video_mode_info): New field mode_number.
1107 (grub_video_adapter): New fields iterate and
1108 print_adapter_specific_info.
1109
179503f5
TG
11102010-09-13 Tristan Gingold <gingold@free.fr>
11112010-09-13 Robert Millan <rmh.grub@aybabtu.com>
11122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * grub-core/commands/efi/lsefisystab.c: New file.
1115 * grub-core/commands/efi/lssal.c: Likewise.
1116 * grub-core/Makefile.core.def (lsacpi): New module.
1117 (lsefisystab): Likewise.
1118 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
1119 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
1120 (grub_efi_sal_system_table): New struct.
1121 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
1122 (grub_efi_sal_system_table_memory_descriptor): Likewise.
1123 (grub_efi_sal_system_table_platform_features): Likewise.
1124 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
1125 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
1126 (grub_efi_sal_system_table_ap_wakeup): Likewise.
1127 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
1128
cf9827de
VS
11292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 Support explicit user claim that a device is BIOS-visible.
1132
1133 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
1134 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
1135 * grub-core/kern/emu/hostdisk.c
1136 (convert_system_partition_to_system_disk): Support mdX.
1137 (find_system_device): New parameter add. All users updated.
1138 (grub_util_biosdisk_is_present): New function.
1139 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
1140 proto.
1141
53f0eb1f
VS
11422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1143
1144 Search hints support.
1145
1146 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
1147 All users updated.
1148
b23ffd70
YB
11492010-09-13 Yves Blusseau <blusseau@zetam.org>
1150
1151 Bash completion script for util commands
1152
1153 * Makefile.am: Add util/bash-completion.d directory
1154 * configure.ac: Likewise.
1155 * util/bash-completion.d/Makefile.am: New file.
1156 * util/bash-completion.d/grub-completion.bash.in: Likewise.
1157
d547dc28
VS
11582010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
1161 (print_backlog): set backlog_ucs4 and backlog_glyphs.
1162 Reported by: Yves Blusseau.
1163
2fc8ccb9
VS
11642010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
1167 partition size and offset.
1168
d8a84076
VS
11692010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
1172
84fb3b3d
VS
11732010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
1176
768ec2e2
VS
11772010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
1180 (grub_xvasprintf): Likewise.
1181
4870900f
VS
11822010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
1185
faca6bec
VS
11862010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
1189 args ending with NULL.
1190
11912010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
1192
1193 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
1194 pointer.
1195
3c70f225
SJ
11962010-09-11 Szymon Janc <szymon@janc.net.pl>
1197
1198 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
1199
4df7996d
VS
12002010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 Shutdown using ACPI.
1203
1204 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
1205 * grub-core/commands/acpihalt.c: New file.
1206 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
1207 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
1208 (grub_acpi_halt): New proto.
1209 (GRUB_ACPI_SLP_EN): New const.
1210 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
1211 (GRUB_ACPI_OPCODE_*): New enum.
1212 (GRUB_ACPI_EXTOPCODE_*): Likewise.
1213
126b4c32
TG
12142010-09-11 Tristan Gingold <gingold@free.fr>
12152010-09-11 Robert Millan <rmh.grub@aybabtu.com>
12162010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * commands/lsacpi.c: New file.
1219 * grub-core/Makefile.core.def (lsacpi): New module.
1220 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
1221 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
1222 (grub_acpi_madt_entry_header): New struct.
1223 (grub_acpi_madt): Likewise.
1224 (grub_acpi_madt_entry_interrupt_override): Likewise.
1225 (grub_acpi_madt_entry_sapic): Likewise.
1226 (grub_acpi_madt_entry_lsapic): Likewise.
1227 (grub_acpi_madt_entry_platform_int_source): Likewise.
1228 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
1229 (PRIuGRUB_UINT32_T): Likewise.
1230 (PRIxGRUB_UINT64_T): Likewise.
1231
1aa4fe88
VS
12322010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 Implement loading palette on ieee1275_fb.
1235
1236 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
1237 (have_setcolors): Likewise.
1238 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
1239 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
1240 (grub_video_ieee1275_set_palette): Implement.
1241
25761e13
VS
12422010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12432010-09-11 Colin Watson <cjwatson@ubuntu.com>
1244
1245 * util/grub-install.in (grub_partition): New variable.
1246 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
1247 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
1248 Fixes a bug reported by Yves Blusseau.
1249
050abaea
VS
12502010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 Fix emu on mipsel.
1253
1254 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
1255 =grub_cpu_flush_cache on all mips and not only yeeloong.
1256 * configure.ac (COND_mips): New conditional.
1257 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
1258 platforms.
1259 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
1260 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
1261 [GRUB_LINKER_HAVE_INIT]: New function.
1262 (grub_emu_post_init): Likewise.
1263 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
1264 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
1265 * include/grub/cache.h (_mips): Include mips/cache.h.
1266 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
1267 LVM and RAID prototypes.
1268 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
1269 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
1270 function.
1271
5ed7d816
CW
12722010-09-10 Colin Watson <cjwatson@ubuntu.com>
1273
1274 * util/grub-install.in: Don't try to verify core.img until after
1275 running grub-mkimage to create it.
1276
90367e04
RM
12772010-09-10 Robert Millan <rmh@gnu.org>
1278
1279 * util/grub.d/10_hurd.in: Add misc readability checks.
1280 * util/grub.d/10_kfreebsd.in: Likewise.
1281 * util/grub.d/10_linux.in: Likewise.
1282
c452fa66
CW
12832010-09-10 Colin Watson <cjwatson@ubuntu.com>
1284
1285 * util/grub-install.in: ${imgext} won't be defined here until the
1286 install branch is merged. For the meantime, only verify core.img on
1287 i386-pc and sparc64-ieee1275 platforms.
1288
c38fe9f4
RM
12892010-09-10 Robert Millan <rmh@gnu.org>
1290
1291 Solaris support in grub_find_zpool_from_dir(). Thanks
1292 Seth Goldberg for referring to getextmntent() facility.
1293
1294 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
1295 `sys/mkdev.h'.
1296 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
1297 `<sys/mnttab.h>'.
1298 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
1299 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
1300 method for finding zpool name.
1301
905f7773
CW
13022010-09-10 Colin Watson <cjwatson@ubuntu.com>
1303
1304 grub-fstest needs the host and hostfs modules while other utilities
1305 actively require those modules to be absent, so grub-fstest needs
1306 its own initialisation and finalisation code.
1307
1308 * Makefile.am (grub_fstest.pp): New target.
1309 (grub_fstest_init.lst): Likewise.
1310 (grub_fstest_init.c): Likewise.
1311 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
1312
fb90b546
RM
13132010-09-10 Robert Millan <rmh@gnu.org>
1314
1315 * configure.ac: Check for `struct statfs.f_fstypename' and
1316 `struct statfs.f_mntfromname'.
1317
1318 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
1319 kFreeBSD-specific code.
1320
66d4bea5
RM
13212010-09-10 Robert Millan <rmh@gnu.org>
1322
1323 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
1324 on ZFS. Now non-main filesystems are supported as / too.
1325
b6a690ee
CW
13262010-09-09 Colin Watson <cjwatson@ubuntu.com>
1327
1328 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
1329 and grub-core/disk/host.c to ...
1330 (grub-fstest): ... here. Having the host disk implementation
1331 present confuses grub-probe and other utility programs.
1332
1333 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
1334 when writing to a file, not when writing to stdout.
1335
8901b00c 13362010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
1337
1338 * tests/partmap_test.in: New test for partitions.
1339 * Makefile.util.def: Rules for new test.
1340
7bf45fdd
RM
13412010-09-09 Robert Millan <rmh@gnu.org>
1342
1343 * util/grub-probe.c (probe): Fix a pair of unhandled error
1344 conditions.
1345
4dfbc574
RM
13462010-09-09 Robert Millan <rmh@gnu.org>
1347
1348 Basic Btrfs support (detection and UUID).
1349
1350 * grub-core/fs/btrfs.c: New file.
1351 * Makefile.util.def (library): Register btrfs.c.
1352 * grub-core/Makefile.core.def: Likewise.
1353
6b8e78ae
RM
13542010-09-08 Robert Millan <rmh@gnu.org>
1355
1356 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
1357 with (optional) parameters to specify device and relative path.
1358 * util/grub-install.in: Use is_path_readable_by_grub() to
1359 verify readability of a few critical files.
1360 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
1361 verify readability of grub.cfg.new.
1362
27f21a8b
VS
13632010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 Split minix.mod into minix.mod and minix2.mod.
1366
1367 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
1368 * grub-core/Makefile.core.def (minix2): New module.
1369 * grub-core/fs/minix.c: Use definitions instead of runtime version
1370 checking.
1371 * grub-core/fs/minix2.c: New file.
1372
c0e53ea5
YB
13732010-09-08 Yves Blusseau <blusseau@zetam.org>
1374
1375 Add new --boot-directory option to replace --root-directory
1376
1377 * util/grub-install.in: Add new --boot-directory option
1378 * util/grub-reboot.in: Likewise.
1379 * util/grub-set-default.in: Likewise.
1380
b9fe6ea2
YB
13812010-09-08 Yves Blusseau <blusseau@zetam.org>
1382
1383 * util/grub-mkconfig.in: Use new variable.
1384
d87aedff
YB
13852010-09-08 Yves Blusseau <blusseau@zetam.org>
1386
1387 * configure.ac: Define some useful variables.
1388
e55e8495
VS
13892010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1392 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
1393 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
1394 Use terminfo and don't use cursor-on/cursor-off unless it's known
1395 to work.
1396 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
1397 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
1398
6fa6d675
CW
13992010-09-08 Colin Watson <cjwatson@ubuntu.com>
1400
1401 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
1402 starts with "(,", fill the drive containing the loaded image in
1403 between those two characters, but expect that a full partition
1404 specification including partition map names will follow.
1405
92f2aef0
RM
14062010-09-08 Robert Millan <rmh@gnu.org>
1407
1408 * configure.ac: Remove `--enable-grub-fstest' option.
1409 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
1410
1411 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
1412 `grub-fstest' instead of `grub-probe' for readability verification.
1413 * util/grub-probe.c (probe): Remove readability verification kludge.
1414
99fd620d
RM
14152010-09-08 Robert Millan <rmh@gnu.org>
1416
1417 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
1418 initializing `GRUB_FS'.
1419
058e30ac 14202010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
1421
1422 Not command (!) support to GRUB script.
1423
1424 * tests/grub_script_not.in: New test.
1425 * Makefile.util.def: Rules for new test.
1426
1427 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
1428 ! command as a special case.
1429 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
1430
b61d05ed 14312010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1432
058e30ac 1433 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
1434 grub_free.
b61d05ed 1435
4d69c786 14362010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1437
1438 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
1439
aa3119c4 14402010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1441
1442 * docs/grub.texi (Shell-like scripting): Documentation for break,
1443 continue, shift and return commands.
1444
db0f7e3d
VS
14452010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 Rename CD-ROM to cd on BIOS.
1448
1449 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
1450 "cd".
1451 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
1452
88b87c93
VS
14532010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
1456 * util/grub-probe.c (main): Likewise.
1457 * util/i386/pc/grub-setup.c (main): Likewise.
1458 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
1459 Reported and debugged by: alexxy
1460
294f324d
VS
14612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
1464 diagnostic info.
1465
d7ee3441
JS
14662010-09-05 Jo Shields <directhex@apebox.org>
1467
1468 * util/grub.d/30_os-prober.in: Add missing classes.
1469
d7e06c1f
VS
14702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * docs/grub.texi (Theme file format): Document new position format.
1473
fc157e53
VS
14742010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
1477 a table. Use @code instead of @verbatim.
1478
506e9a1c
CB
14792010-09-05 Colin D Bennett <colin@gibibit.com>
1480
1481 Gfxmenu documentation.
1482
1483 * docs/grub.texi (Theme file format): New chapter.
1484
f0aff67c
SJ
14852010-09-05 Szymon Janc <szymon@janc.net.pl>
1486
1487 * grub-core/Makefile.core.def (xzio): New module.
1488 * grub-core/io/xzio.c: New file.
1489 * grub-core/lib/xzembed/xz.h: New file (from xembed).
1490 * grub-core/lib/xzembed/xz_config.h: Likewise.
1491 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
1492 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
1493 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
1494 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
1495 * grub-core/lib/xzembed/xz_private.h: Likewise.
1496 * grub-core/lib/xzembed/xz_stream.h: Likewise.
1497 * include/grub/file.h (grub_file_filter_id): New compression filter
1498 GRUB_FILE_FILTER_XZIO.
1499
82a85062
VS
15002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
1503 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
1504 size.
1505
3579415d
VS
15062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
1509 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
1510
5124ae6d
VS
15112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 Uncompressed checksum support.
1514
1515 * grub-core/commands/hashsum.c (options): Add option --uncompress.
1516 (check_list): New parameter uncompress.
1517 (grub_cmd_hashsum): Handle --uncompress.
1518
9aadb3d1
VS
15192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 Reintroduce testload.
1522
1523 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
1524 from here ...
1525 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
1526 (GRUB_MOD_INIT): New function.
1527 (GRUB_MOD_FINI): Likewise.
1528 * grub-core/Makefile.core.def (testload): New module.
1529
a17792c3
SJ
15302010-09-05 Szymon Janc <szymon@janc.net.pl>
1531
1532 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
1533 (uint8_t): New type.
1534 (uint16_t): Likewise.
1535 (uint32_t): Likewise.
1536 (uint64_t): Likewise.
1537
b81e40a3
SJ
15382010-09-05 Szymon Janc <szymon@janc.net.pl>
1539
1540 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
1541
fc2ef117
VS
15422010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
1545 Made static.
1546 (grub_gzfile_open): Removed. All users updated.
1547 (GRUB_MOD_INIT): New function.
1548 (GRUB_MOD_FINI): Likewise.
1549 * grub-core/kern/file.c (grub_file_filters_all): New variable.
1550 (grub_file_filters_enabled): Likewise.
1551 (grub_file_open): Handle filters.
1552 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
1553 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
1554 * include/grub/file.h (grub_file_filter_id_t): New type.
1555 (grub_file_filter_t): Likewise.
1556 (grub_file_filters_all): New extern variable.
1557 (grub_file_filters_enabled): Likewise.
1558 (grub_file_filter_register): New inline function.
1559 (grub_file_filter_unregister): Likewise.
1560 (grub_file_filter_disable): Likewise.
1561 (grub_file_filter_disable_compression): Likewise.
1562 * include/grub/gzio.h: Removed.
1563
35ee15e0
BC
15642010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1565
1566 Filename expansion support for wildcards in GRUB script.
1567
1568 * tests/grub_script_expansion.in: New test.
1569 * Makefile.util.def: Rule for new test.
1570
1571 * grub-core/commands/wildcard.c: New file, implements filename
1572 expansion support for GRUB script.
1573 * grub-core/Makefile.core.def: Rule update for regexp.mod.
1574 * grub-core/script/argv.c: Cosmetic changes.
1575 * grub-core/script/execute.c (grub_script_arglist_to_argv):
1576 Refactored to perform wildcard expansion on arguments.
1577 * include/grub/script_sh.h (grub_script_wildcard_translator): New
1578 struct.
1579
1580 * tests/util/grub-shell.in: Fix quoting for read input.
1581
5f0c4aca
BC
15822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1583
1584 Support for updating environment variables with matched substrings
1585 of regexp.
1586
1587 * tests/grub_cmd_regexp.in: New test.
1588 * Makefile.util.def: Rule for new test.
1589
1590 * grub-core/commands/regexp.c: New option -s to update environment
1591 variables with regexp matches.
1592
3759a35f
SJ
15932010-09-04 Szymon Janc <szymon@janc.net.pl>
1594
1595 * include/grub/file.h (grub_file): New member not_easly_seekable.
1596 (grub_file_seekable): New inline function.
1597 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
1598 easily seekable.
1599 (grub_gzio_open): Set not_easly_seekable.
1600 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
1601 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
1602
ed8c6dec
BC
16032010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1604
1605 Support for options to appear multiple times on cmdline.
1606
1607 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
1608 * grub-core/commands/extcmd.c: Support for repeatable option.
1609 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
1610 repeatable option support.
1611
1612 Refactor menuentry into a regular command.
1613
1614 * grub-core/commands/menuentry.c: New file, menuentry command
1615 implementation.
1616 * grub-core/Makefile.core.def: Rule update for normal.mod.
1617 * grub-core/normal/main.c: Moved menuentry creation to
1618 grub-core/commands/menuentry.c.
1619 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
1620 (grub_menu_execute_entry_real): Removed.
1621 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
1622 function.
1623 (grub_script_execute_menuentry): Removed.
1624 * grub-core/script/parser.y (menuentry): Removed.
1625 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
1626 * grub-core/script/yylex.l (menuentry): Removed.
1627 * include/grub/menu.h (grub_menu_init): New prototype.
1628 (grub_menu_fini): New prototype.
1629 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
1630 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
1631 (grub_script_execute_sourcecode): New prototype.
1632
dacd0cf0
BC
16332010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1634
1635 "return" command for GRUB script functions.
1636
1637 * tests/grub_script_return.in: New test.
1638 * Makefile.util.def: Rules for new test.
1639
1640 * grub-core/script/execute.c (grub_script_return): New function.
1641 * grub-core/script/main.c: Register/unregister return commaond.
1642 * include/grub/script_sh.h (grub_script_return): New prototype.
1643
52e72f9d
BC
16442010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1645
1646 "setparams" command to update positional parameters.
1647
1648 * tests/grub_script_setparams.in: New test.
1649 * Makefile.util.def: Rules for new test.
1650
1651 * grub-core/script/argv.c (grub_script_argv_make): New function.
1652 * grub-core/script/execute.c (replace_scope): New function.
1653 (grub_script_setparams): New function.
1654 * grub-core/script/lexer.c: Remove unused variables.
1655 * grub-core/script/main.c: Register/unregister setparams command.
1656 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
1657 (grub_script_setparams): New prototype.
1658
25b60c91
BC
16592010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1660
1661 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
1662 grub_free order.
1663
37e7bf68
BC
16642010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1665
1666 Support for passing block of commands as an argument to extcmds.
1667
1668 * Makefile.util.def: Rules for new test.
1669 * tests/grub_script_blockarg.in: New test.
1670 * grub-core/tests/test_blockarg.c: New file, block argument
1671 command used in the test.
1672
1673 * include/grub/extcmd.h (grub_extcmd_context): New struct.
1674 (grub_register_extcmd_prio): New function prototype.
1675 (grub_extcmd_dispatcher): New function prototype.
1676 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
1677 type.
1678 * include/grub/script_sh.h (struct grub_script): New members
1679 `children', `next_siblings' and `refcnt' for block arguments and
1680 reference counting.
1681 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
1682 (grub_script_arg): New member `script' for block argument.
1683 (grub_script_argv): New member `script' for block argument.
1684 (grub_parser_param): New member `scripts' for block argument.
1685 (grub_script_mem_free): New extern function prototype.
1686 (grub_script_ref): New function prototype.
1687 (grub_script_unref): New function prototype.
1688
1689 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
1690 extcmd form to support block arguments.
1691 * grub-core/script/argv.c: Block arguments support.
1692 * grub-core/script/execute.c: Likewise.
1693 * grub-core/script/lexer.c: Likewise.
1694 * grub-core/script/main.c: Likewise.
1695 * grub-core/script/script.c: Likewise.
1696 * grub-core/script/parser.y: Likewise. New `block' and `block0'
1697 non-terminals.
1698
1699 * grub-core/commands/acpi.c: Update extcmd implementations with
1700 grub_extcmd_context_t.
1701 * grub-core/commands/cat.c: Likewise.
1702 * grub-core/commands/echo.c: Likewise.
1703 * grub-core/commands/extcmd.c: Likewise.
1704 * grub-core/commands/hashsum.c: Likewise.
1705 * grub-core/commands/hdparm.c: Likewise.
1706 * grub-core/commands/help.c: Likewise.
1707 * grub-core/commands/hexdump.c: Likewise.
1708 * grub-core/commands/i386/cpuid.c: Likewise.
1709 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1710 * grub-core/commands/i386/pc/halt.c: Likewise.
1711 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1712 * grub-core/commands/iorw.c: Likewise.
1713 * grub-core/commands/keystatus.c: Likewise.
1714 * grub-core/commands/loadenv.c: Likewise.
1715 * grub-core/commands/ls.c: Likewise.
1716 * grub-core/commands/lspci.c: Likewise.
1717 * grub-core/commands/memrw.c: Likewise.
1718 * grub-core/commands/probe.c: Likewise.
1719 * grub-core/commands/search_wrap.c: Likewise.
1720 * grub-core/commands/setpci.c: Likewise.
1721 * grub-core/commands/sleep.c: Likewise.
1722 * grub-core/disk/loopback.c: Likewise.
1723 * grub-core/hello/hello.c: Likewise.
1724 * grub-core/loader/i386/bsd.c: Likewise.
1725 * grub-core/loader/xnu.c: Likewise.
1726 * grub-core/term/gfxterm.c: Likewise.
1727 * grub-core/term/serial.c: Likewise.
1728 * grub-core/tests/lib/functional_test.c: Likewise.
1729
888d1500
BC
17302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1731
1732 Multi-line quoted strings support.
1733
1734 * grub-core/script/lexer.c (append_newline): Removed.
1735 (grub_script_lexer_yywrap): Refactored.
1736 (grub_script_lexer_init): Refactored.
1737 * grub-core/script/yylex.l (yywrap): New function.
1738 (grub_lexer_resplit): New function.
1739 (grub_lexer_unput): New function.
1740 * include/grub/script_sh.h (grub_lexer_param): New members, unput
1741 and resplit.
1742 * tests/grub_script_echo1.in: Added few more testcases.
1743
dda060dd
VS
17442010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 * grub-core/kern/misc.c: Don't add abort alias in utils.
1747 Reported by: echoline.
1748
6556eba9
BC
17492010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
1750
1751 Add missing files into "make dist" tarball for other platforms.
1752
1753 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
1754 * conf/Makefile.common (dist_noinst_DATA): New variable.
1755 * conf/Makefile.extra-dist: Added missing make dist files.
1756 * grub-core/Makefile.core.def: Likewise.
1757
c8e7bf5f
VS
17582010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 Compress grub_prefix.
1761
1762 * grub-core/boot/i386/pc/lnxboot.S: Use
1763 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
1764 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
1765 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
1766 GRUB_MACHINE_PREFIX_END. All users updated.
1767 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
1768 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
1769 + 0x40.
1770 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
1771 * util/grub-mkimage.c (image_target_desc): Change data_end to
1772 prefix_end. All users updated.
1773
a7c00cdb
VS
17742010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
1777 value.
1778 (grub_openbsd_boot): Likewise.
1779 (grub_netbsd_boot): Likewise.
1780 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
1781 (grub_xnu_boot): Likewise.
1782
9f915872
VS
17832010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * configure.ac: Clean LIBS variable after tests.
1786
efa1bee7
CW
17872010-09-02 Colin Watson <cjwatson@ubuntu.com>
1788
1789 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
1790
61d720e5
VS
17912010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
1794 echo if libdevmapper will be used.
1795
ef8e0ec8
IT
17962010-09-02 Ian Turner <Ian.Turner@deshaw.com>
1797
1798 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
1799 constant for the same file.
1800
03e261d8
VS
18012010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
1804
c2a4eba6
CW
18052010-09-02 Colin Watson <cjwatson@ubuntu.com>
1806
1807 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
1808 grub-core/*.pp.
1809
9056cbf3
CW
18102010-09-02 Colin Watson <cjwatson@ubuntu.com>
1811
1812 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
1813 required by the boot protocol.
1814
1815 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
1816 ebp and edi members.
1817 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
1818 state.ebp and state.edi.
1819 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
1820 %ebp and %edi according to grub_relocator32_ebp and
1821 grub_relocator32_edi respectively.
1822 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
1823 and state.edi.
1824
529cc99a
VS
18252010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 Add i386-pc-pxe image target.
1828
1829 * util/grub-mkimage.c (image_target_desc): New enum value
1830 IMAGE_I386_PC_PXE.
1831 (image_targets): New target i386-pc-pxe.
1832 (generate_image): Handle i386-pc-pxe image.
1833
9a093920
VS
18342010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 Fix grub_pxe_scan.
1837
1838 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
1839 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
1840 All users updated.
1841 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
1842 (grub_pxe_pxenv): Correct type.
1843
f9cefc4e
CW
18442010-09-01 Colin Watson <cjwatson@ubuntu.com>
1845
1846 * NEWS: Document most of the important changes since 1.98.
1847
4066f57f
CW
18482010-09-01 Colin Watson <cjwatson@ubuntu.com>
1849
1850 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
1851 generated manual page) a little.
1852
da2891f9
CW
18532010-09-01 Colin Watson <cjwatson@ubuntu.com>
1854
1855 * docs/grub.texi: Add myself as an author.
1856
ad717fae
VS
18572010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * Makefile.util.def (libgrub.a): Add missing sunpc.
1860 Reported by: Seth Goldberg.
1861
eefe8abd
VS
18622010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 Interrupt wrapping and code simplifications.
1865
9494ef9a
VS
1866 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
1867 x86_noieee1275 which are functionaly equivalent in this case.
1868 (grub-install): Make source on each platform explicit. Enable on
1869 all noemu.
1870 * gentpl.py (x86_efi_pc): Removed group.
1871 (x86_noefi): Likewise.
1872 (i386_noefi): Likewise.
1873 (x86_noieee1275): Likewise.
1874 (i386_noieee1275): Likewise.
1875 (i386_noefi_noieee1275): Likewise.
1876 (i386_pc_qemu_coreboot): Likewise.
1877 (i386_coreboot_multiboot): Likewise.
1878 (i386_pc_coreboot_multiboot_qemu): Likewise.
1879 (x86_noefi_mips): Likewise.
1880 (noieee1275): Likewise.
1881 (ieee1275_mips): Likewise.
1882 (noemu_noieee1275): Likewise.
1883 (cmos): New group.
1884 (usb): Likewise.
1885 (videoinkernel): Likewise.
1886 (videomodules): Likewise.
eefe8abd 1887 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
1888 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
1889 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
1890 include/grub/loader.h, include/grub/msdos_partition.h,
1891 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
1892 include/grub/machine/console.h, include/grub/machine/vga.h,
1893 include/grub/machine/vbe.h, include/grub/machine/init.h,
1894 include/grub/machine/kernel.h, include/grub/cpu/time.h,
1895 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 1896 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
1897 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
1898 * grub-core/Makefile.core.def (kernel): Explicit the source for
1899 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
1900 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
1901 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
1902 Use videoinkernel tag.
1903 (usb): Enable on all usb.
1904 (usbserial_common): Likewise.
1905 (usbserial_pl2303): Likewise.
1906 (usbserial_ftdi): Likewise.
1907 (uhci): Enable on all x86.
1908 (ohci): Enable on all pci.
1909 (cmostest): Enable on all CMOS.
1910 (acpi): Include commands/acpi.c on all platforms.
1911 (halt): Add relevant lib/*/halt.c.
1912 (hdparm): Enable on all pci.
1913 (lspci): Likewise.
1914 (usbtest): Enable on all usb.
1915 (ata): Enable on all pci.
1916 (ata_pthru): Likewise.
1917 (usbms): Enable on all usb.
1918 (usb_keyboard): Likewise.
1919 (font): Use tag videomodules.
1920 (bufio): Likewise.
1921 (datetime): Use tag cmos. Enable on all noemu.
1922 (mmap): Use tags common and x86.
1923 (gfxterm): Use tag videomodules.
1924 (bitmap): Likewise.
1925 (bitmap_scale): Likewise.
1926 (video_fb): Likewise.
1927 (video): Likewise.
1928 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
1929 adjust padding accordingly. All users updated.
1930 (grub_ohci_transaction): Fix bad format specification.
1931 (GRUB_MOD_INIT): Add asserts for struct size.
1932 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
1933 (grub_alloc_td): Likewise.
1934 (grub_free_queue): Likewise.
1935 (grub_uhci_transfer): Likewise.
1936 (grub_uhci_transaction): Fix bad format specification.
1937 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
1938 (grub_usb_bulk_readwrite): Likewise.
1939 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
1940 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
1941 Made static.
1942 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
1943 Made static.
1944 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
1945 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
1946 Transformed into C.
1947 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
1948 Moved from here ...
1949 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
1950 ... here. Transformed into C. Made static.
1951 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
1952 Moved from here ...
1953 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
1954 ... here. Transformed into C. Made static.
1955 * grub-core/kern/i386/pc/startup.S
1956 (grub_biosdisk_check_int13_extensions): Moved from here ...
1957 * grub-core/disk/i386/pc/biosdisk.c
1958 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
1959 Made static.
1960 * grub-core/kern/i386/pc/startup.S
1961 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
1962 * grub-core/disk/i386/pc/biosdisk.c
1963 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
1964 Transformed into C. Made static.
1965 * grub-core/kern/i386/pc/startup.S
1966 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
1967 * grub-core/disk/i386/pc/biosdisk.c
1968 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
1969 Transformed into C. Made static.
1970 * grub-core/kern/i386/pc/startup.S
1971 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
1972 * grub-core/disk/i386/pc/biosdisk.c
1973 (grub_biosdisk_get_diskinfo_standard): ... here.
1974 Transformed into C. Made static.
1975 * grub-core/kern/i386/pc/startup.S
1976 (grub_biosdisk_get_num_floppies): Moved from here ...
1977 * grub-core/disk/i386/pc/biosdisk.c
1978 (grub_biosdisk_get_num_floppies): ... here.
1979 Transformed into C. Made static.
1980 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
1981 New function.
1982 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
1983 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
1984 Transformed into C. Made static.
1985 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
1986 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
1987 Transformed into C. Made static.
1988 * grub-core/kern/i386/ieee1275/init.c: Removed.
1989 * grub-core/kern/i386/misc.S: Likewise.
1990 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
1991 Splitted from here ...
1992 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
1993 Transformed into C. Made static. All users updated.
1994 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
1995 Transformed into C. Made static. All users updated.
1996 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
1997 Moved from here...
1998 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
1999 Transformed into C. Made static. All users updated.
2000 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
2001 Moved from here...
2002 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
2003 Transformed into C. Made static. All users updated.
2004 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
2005 Removed (replaced by C version).
2006 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
2007 Moved from here...
2008 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
2009 Transformed into C. Made static.
2010 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
2011 Moved from here...
2012 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
2013 ... here. Transformed into C.
2014 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
2015 Moved from here...
2016 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
2017 ... here. Transformed into C.
2018 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
2019 Moved from here...
2020 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
2021 ... here. Transformed into C. Made static.
2022 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
2023 Moved from here...
2024 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
2025 ... here. Transformed into C.
21ed554b
VS
2026 * grub-core/kern/i386/pc/startup.S
2027 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
2028 * grub-core/video/i386/pc/vbe.c
2029 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
2030 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
2031 Moved from here...
2032 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
2033 ... here. Transformed into C.
2034 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
2035 Moved from here...
2036 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
2037 ... here. Transformed into C.
2038 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
2039 Moved from here...
2040 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
2041 ... here. Transformed into C.
2042 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
2043 Moved from here...
2044 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
2045 ... here. Transformed into C.
2046 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
2047 Moved from here...
2048 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
2049 ... here. Transformed into C. Made static.
2050 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
2051 Moved from here...
2052 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
2053 ... here. Transformed into C. Made static.
2054 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
2055 Moved from here...
2056 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
2057 ... here. Transformed into C. Made static.
2058 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
2059 pxe_rm_entry as third argument.
2060 (grub_bios_interrupt): New function.
2061 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
2062 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
2063 of calling grub_stop.
2064 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
2065 * grub-core/lib/efi/halt.c (grub_halt): ...here.
2066 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
2067 * grub-core/lib/emu/halt.c (grub_halt): ... here.
2068 * grub-core/lib/i386/halt.c: Moved from here ...
2069 * grub-core/lib/i386/halt.c: ... here.
2070 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
2071 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
2072 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
2073 grub_stop_floppy.
2074 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
2075 * include/grub/i386/coreboot/init.h: Removed.
2076 * include/grub/i386/multiboot/init.h: Likewise.
2077 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
2078 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
2079 * include/grub/i386/pc/int.h: New file.
2080 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
2081 (grub_pxe_scan): Removed.
2082 (grub_pxe_call): Update prototype.
2083 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
2084 prototypes.
2085 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
2086 * include/grub/i386/qemu/init.h: Removed.
2087 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
2088 noreturn.
2089 (grub_halt): Likewise.
2090 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
2091 (grub_reboot): Likewise.
2092 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
2093 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
2094 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
2095
215dd471
RM
20962010-08-30 Robert Millan <rmh@gnu.org>
2097
2098 * NEWS: Document addition of ZFS support in `grub-install' and
2099 `grub-mkconfig'.
2100
ebd65b82
BC
21012010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
2102
2103 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
2104 dprintf output.
2105
11721d19
VS
21062010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 Remove leftover embedding of font objects.
2109
2110 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2111 * util/grub-install.in (font): Removed.
2112 * util/grub-mkimage.c (generate_image): Remove font support. All users
2113 updated.
2114
37837d4e
VS
21152010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 Remove leftover embedding of font objects.
2118
2119 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2120 * util/grub-install.in (font): Removed.
2121 * util/grub-mkimage.c (generate_image): Remove font support. All users
2122 updated.
2123
b4c1aae0
VS
21242010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 2127 Reported by: Ian Turner
b4c1aae0 2128
8920a08d
VS
21292010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
2132 timeout to avoid indefinite boot stalling.
2133
f21db033
VS
21342010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
2137 (grub_env_write_color_highlight): Likewise.
2138
9a9de209
VS
21392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * grub-core/normal/term.c (print_more): Return to normal and not
2142 to standard state after printing "---MORE---".
2143
3dca01d7
VS
21442010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
2147 Mask out the bit 0x80 since it has other meaning that specifiing color.
2148
0b986c40
VS
21492010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 New relocator. Allows for more kernel support and more straightforward
2152 loader writing.
2153
2154 * Makefile.am (BOOTTARGET): New variable.
2155 (QEMU32): Likewise.
2156 (linux.init.x86_64): New target.
2157 (linux.init.i386): Likewise.
2158 (multiboot.elf): Likewise.
2159 (kfreebsd.elf): Likewise.
2160 (kfreebsd.aout): Likewise.
2161 (pc-chainloader.elf): Likewise.
2162 (pc-chainloader.bin): Likewise.
2163 (ntldr.elf): Likewise.
2164 (ntldr.bin): Likewise.
2165 (multiboot2.elf): Likewise.
2166 (kfreebsd.init.x86_64): Likewise.
2167 (kfreebsd.init.i386): Likewise.
2168 (knetbsd.init.i386): Likewise.
2169 (kopenbsd.init.i386): Likewise.
2170 (knetbsd.init.x86_64): Likewise.
2171 (kopenbsd.init.x86_64): Likewise.
2172 (linux-initramfs.i386): Likewise.
2173 (linux-initramfs.x86_64): Likewise.
2174 (kfreebsd-mfsroot.i386.img): Likewise.
2175 (knetbsd.image.i386): Likewise.
2176 (kopenbsd.image.i386): Likewise.
2177 (kopenbsd.image.x86_64): Likewise.
2178 (knetbsd.miniroot-image.i386.img): Likewise.
2179 (kfreebsd-mfsroot.x86_64.img): Likewise.
2180 (knetbsd.image.x86_64): Likewise.
2181 (knetbsd.miniroot-image.x86_64.img): Likewise.
2182 (kfreebsd-mfsroot.i386.gz): Likewise.
2183 (bootcheck-kfreebsd-i386): Likewise.
2184 (kfreebsd-mfsroot.x86_64.gz): Likewise.
2185 (bootcheck-kfreebsd-x86_64): Likewise.
2186 (knetbsd.miniroot-image.i386.gz): Likewise.
2187 (bootcheck-knetbsd-i386): Likewise.
2188 (bootcheck-kopenbsd-i386): Likewise.
2189 (bootcheck-kopenbsd-x86_64): Likewise.
2190 (knetbsd.miniroot-image.x86_64.gz): Likewise.
2191 (bootcheck-knetbsd-x86_64): Likewise.
2192 (bootcheck-linux-i386): Likewise.
2193 (bootcheck-linux-x86_64): Likewise.
2194 (bootcheck-linux16-i386): Likewise.
2195 (bootcheck-linux16-x86_64): Likewise.
2196 (bootcheck-multiboot): Likewise.
2197 (bootcheck-multiboot2): Likewise.
2198 (bootcheck-kfreebsd-aout): Likewise.
2199 (bootcheck-pc-chainloader): Likewise.
2200 (bootcheck-ntldr): Likewise.
2201 (CLEANFILES): Add new targets.
2202 (BOOTCHECKS): New variable.
2203 (.PHONY): Add bootchecks.
2204 (SUCCESSFUL_BOOT_STRING): New variable.
2205 (BOOTCHECK_TIMEOUT): Likewise.
2206 (bootcheck): New target
2207 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
2208 * configure.ac: Correct efiemu excuse.
2209 * docs/grub.texi (Supported kernels): New chapter.
2210 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
2211 include/grub/mm_private.h. Simplify inclusion of
2212 include/grub/boot.h, include/grub/loader.h
2213 and include/grub/msdos_partition.h
2214 (KERNEL_HEADER_FILES) [i386_coreboot]:
2215 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
2216 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
2217 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
2218 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
2219 include/grub/machine/loader.h.
2220 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
2221 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
2222 extra_dist.
2223 (pci.mod): Enable on i386-multiboot.
2224 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
2225 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
2226 i386-qemu.
2227 (relocator.mod): Rewritten.
2228 (aout.mod): Enable on all x86.
2229 (bsd.mod): Likewise.
2230 (ntldr.mod): New module.
2231 (linux.mod): Use loader/i386/linux.c on all x86.
2232 (xnu.mod): Enable on all x86.
2233 (vga_text.mod): disable on EFI and QEMU.
2234 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
2235 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
2236 * grub-core/efiemu/loadcore.c: Likewise.
2237 * grub-core/efiemu/main.c: Likewise.
2238 (grub_efiemu_exit_boot_services): Removed.
2239 (grub_efiemu_finish_boot_services): Likewise.
2240 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
2241 function.
2242 * grub-core/efiemu/i386/nocfgtables.c: New file.
2243 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
2244 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
2245 (grub_efi_finish_boot_services): Moved from here ...
2246 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
2247 Fille finish memory map and related data.
2248 (finish_mmap_buf): New variable.
2249 (grub_efi_uintn_t finish_mmap_size): Likewise.
2250 (grub_efi_uintn_t finish_key): Likewise.
2251 (grub_efi_uintn_t finish_desc_size): Likewise.
2252 (grub_efi_uint32_t finish_desc_version): Likewise.
2253 (grub_efi_is_finished): Likewise.
2254 (grub_efi_get_memory_map): Use saved memory map if EFI is already
2255 finished.
2256 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
2257 (grub_elf64_phdr_iterate): Likewise.
2258 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
2259 (grub_os_area_size): Likewise.
2260 (grub_machine_init): Don't reserve os area.
2261 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
2262 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2263 * grub-core/kern/i386/loader.S: Removed.
2264 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
2265 (grub_os_area_size): Likewise.
2266 (grub_machine_init): Don't reserve os area.
2267 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
2268 Don't call grub_dl_unload_all.
2269 Don't include loader.S.
2270 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2271 Declare the memory after _end as available.
2272 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 2273 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 2274 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
2275 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
2276 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
2277 * include/grub/mm_private.h (grub_mm_header): ... here.
2278 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
2279 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
2280 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
2281 (grub_mm_region): ..here. Removed addr. Added pre_size.
2282 All users updated.
2283 * grub-core/kern/mm.c (base): Renamed to ...
2284 (grub_mm_base): ... this. Made global.
2285 (grub_real_malloc): Alloc from end of region.
2286 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
2287 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
2288 * grub-core/kern/powerpc/cache_flush.S: ... here.
2289 * grub-core/lib/efi/relocator.c: New file.
2290 * grub-core/lib/i386/relocator.c: Rewritten.
2291 * grub-core/lib/i386/relocator16.S: New file.
2292 * grub-core/lib/i386/relocator32.S: Likewise.
2293 * grub-core/lib/i386/relocator64.S: Likewise.
2294 * grub-core/lib/i386/relocator_asm.S: Rewritten.
2295 * grub-core/lib/i386/relocator_common.S: New file.
2296 * grub-core/lib/ieee1275/relocator.c: Likewise.
2297 * grub-core/lib/mips/relocator.c: Rewritten.
2298 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
2299 stylistic adjustments.
2300 * grub-core/lib/powerpc/relocator.c: New file.
2301 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
2302 * grub-core/lib/relocator.c: Rewritten.
2303 * grub-core/lib/x86_64/relocator_asm.S: New file.
2304 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
2305 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
2306 (bsd_tag): New struct.
2307 (tags): New variable.
2308 (tags_last): Likewise.
2309 (netbsd_module): New struct.
2310 (netbsd_mods): New variable.
2311 (netbsd_mods_last): Likewise.
2312 (openbsd_opts): New parameter "serial".
2313 (OPENBSD_SERIAL_ARG): New definition.
2314 (netbsd_opts): New parameter "serial".
2315 (NETBSD_SERIAL_ARG): New definition.
2316 (grub_freebsd_add_meta): Reorganised into ...
2317 (grub_bsd_add_meta): ...this. All users updated.
2318 (grub_freebsd_add_mmap): Reorganised into ...
2319 (generate_e820_mmap): ...this...
2320 (grub_bsd_add_mmap): ...and this. All users updated.
2321 (grub_freebsd_list_modules): Use tags.
2322 (grub_netbsd_add_meta_module): New function.
2323 (grub_netbsd_list_modules): Likewise.
2324 (grub_freebsd_boot): Use relocator and finish EFI.
2325 (grub_openbsd_boot): Likewise.
2326 (grub_netbsd_setup_video): New function.
2327 (grub_netbsd_add_modules): Likewise.
2328 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
2329 and finish EFI.
2330 (grub_bsd_unload): Unload tags.
2331 (grub_bsd_load_aout): Use relocator.
2332 (grub_bsd_elf32_size_hook): New function.
2333 (grub_bsd_elf32_hook): Use relocator.
2334 (grub_bsd_elf64_size_hook): New function.
2335 (grub_bsd_elf64_hook): Use relocator.
2336 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
2337 (grub_bsd_load): Zero-out openbsd_ramdisk.
2338 (grub_bsd_load): Use relocator.
2339 (grub_cmd_openbsd): Support serial.
2340 (grub_cmd_netbsd): Support modules.
2341 (grub_cmd_freebsd_module): Use relocator.
2342 (grub_netbsd_module_load): New function.
2343 (grub_cmd_netbsd_module): Likewise.
2344 (grub_cmd_openbsd_ramdisk): Likewise.
2345 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
2346 kopenbsd_ramdisk.
2347 (GRUB_MOD_FINI): Unregister new commands.
2348 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
2349 (grub_freebsd_load_elfmodule_obj): Use relocator.
2350 (grub_freebsd_load_elfmodule): Likewise.
2351 (grub_freebsd_load_elf_meta): Likewise.
2352 (grub_netbsd_load_elf_meta): New function.
2353 (grub_openbsd_find_ramdisk): Likewise.
2354 * grub-core/loader/i386/bsd_helper.S: Removed.
2355 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
2356 * grub-core/loader/i386/bsd_trampoline.S: Removed.
2357 * grub-core/loader/i386/efi/linux.c: Likewise.
2358 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
2359 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
2360 (DEFAULT_VIDEO_MODE): Likewise.
2361 (real_mode_target): New variable.
2362 (prot_mode_target): Likewise.
2363 (initrd_mem_target): Likewise.
2364 (relocator): Likewise.
2365 (efi_mmap_buf): Likewise.
2366 (efi_mmap_size): Likewise.
2367 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
2368 (free_pages): Use relocator.
2369 (allocate_pages): Account for efi_mmap and use relocator. Return error.
2370 (grub_linux_setup_video): Return error.
2371 (grub_linux_trampoline_start): Removed.
2372 (grub_linux_trampoline_end): Likewise.
2373 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
2374 andd video parameters depending on firmware.
2375 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
2376 [GRUB_MACHINE_EFI]: Pass EFI parameters.
2377 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
2378 (grub_cmd_initrd): Use relocator.
2379 * grub-core/loader/i386/linux_trampoline.S: Removed.
2380 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
2381 (elf_sec_entsize): Likewise.
2382 (elf_sec_shstrndx): Likewise.
2383 (elf_sections): Likewise.
2384 (grub_multiboot_load): Use relocator.
2385 (grub_multiboot_get_mbi_size): Account for sections.
2386 (grub_multiboot_make_mbi): Use relocator and support sections.
2387 (grub_multiboot_add_elfsyms): New function.
2388 (grub_multiboot_free_mbi): Free sections.
2389 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
2390 (grub_linux_real_target): Likewise.
2391 (grub_linux_real_chunk): Likewise.
2392 (grub_linux16_prot_size): Likewise.
2393 (grub_linux16_boot): Use relocator.
2394 (grub_linux_unload): Unload relocator.
2395 (grub_cmd_linux): Use relocator.
2396 (grub_cmd_initrd): Likewise.
2397 * grub-core/loader/i386/pc/ntldr.c: New file.
2398 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
2399 Don't try to guess CPU frequency.
2400 (grub_xnu_set_video): Stretch bitmap.
2401 (grub_xnu_boot): Use relocator.
2402 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
2403 (grub_linux_unload): Free relocator.
2404 (grub_linux_load32): Use relocator.
2405 (grub_linux_load64): Likewise.
2406 (grub_cmd_initrd): Likewise.
2407 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
2408 (grub_multiboot_unload): Unload relocator.
2409 (grub_cmd_multiboot): Use relocator.
2410 (grub_cmd_module): Likewise.
2411 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
2412 Use relocator and support sections.
2413 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
2414 (elf_sec_entsize): Likewise.
2415 (elf_sec_shstrndx): Likewise.
2416 (elf_sections): Likewise.
2417 (grub_multiboot_load): Use relocator.
2418 (grub_multiboot_get_mbi_size): Account for sections.
2419 (grub_multiboot_make_mbi): Use relocator and support sections.
2420 (grub_multiboot_add_elfsyms): New function.
2421 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
2422 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
2423 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
2424 Prototype changed. All users updated.
2425 (grub_xnu_align_heap): Simplified.
2426 (grub_xnu_writetree_toheap): Likewise.
2427 (grub_xnu_unload): Unload relocator.
2428 (grub_cmd_xnu_kernel): Use relocator.
2429 (grub_cmd_xnu_kernel64): Likewise.
2430 (grub_xnu_register_memory): Simplified.
2431 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
2432 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
2433 EFI is finished.
2434 (grub_console_checkkey): Likewise.
2435 (grub_console_getkey): Likewise.
2436 (grub_console_getwh): Likewise.
2437 (grub_console_getxy): Likewise.
2438 (grub_console_gotoxy): Likewise.
2439 (grub_console_cls): Likewise.
2440 (grub_console_setcolorstate): Likewise.
2441 (grub_console_setcursor): Likewise.
2442 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
2443 * grub-core/tests/boot/kbsd.init-i386.S: New file.
2444 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
2445 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
2446 * grub-core/tests/boot/kernel-8086.S: Likewise.
2447 * grub-core/tests/boot/kernel-i386.S: Likewise.
2448 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
2449 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
2450 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
2451 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
2452 * grub-core/tests/boot/knetbsd.cfg: Likewise.
2453 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
2454 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
2455 * grub-core/tests/boot/linux.cfg: Likewise.
2456 * grub-core/tests/boot/linux.init-i386.S: Likewise.
2457 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
2458 * grub-core/tests/boot/linux16.cfg: Likewise.
2459 * grub-core/tests/boot/multiboot.cfg: Likewise.
2460 * grub-core/tests/boot/multiboot2.cfg: Likewise.
2461 * grub-core/tests/boot/ntldr.cfg: Likewise.
2462 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
2463 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
2464 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
2465 New definition.
2466 * include/grub/dl.h (grub_dl_unload_all): Removed.
2467 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
2468 (grub_efi_finish_boot_services): Change prototype.
2469 (grub_efi_is_finished): New variable.
2470 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
2471 Changed prototype.
2472 (grub_efiemu_finish_boot_services): Removed.
2473 (grub_machine_efiemu_init_tables): New prototype.
2474 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
2475 (grub_elf64_phdr_iterate): Likewise.
2476 * include/grub/i386/bsd.h: Include relocator.h.
2477 (freebsd_tag_header): New struct.
2478 (grub_openbsd_bios_mmap): Removed.
2479 (grub_unix_real_boot): Removed.
2480 (grub_freebsd_load_elfmodule32): Changed prototype.
2481 (grub_freebsd_load_elfmodule_obj64): Likewise.
2482 (grub_freebsd_load_elf_meta32): Likewise.
2483 (grub_freebsd_load_elf_meta64): Likewise.
2484 (grub_freebsd_add_meta): Removed.
2485 (grub_netbsd_load_elf_meta32): New prototype.
2486 (grub_netbsd_load_elf_meta64): Likewise.
2487 (grub_bsd_add_meta): Likewise.
2488 (grub_openbsd_ramdisk_descriptor): New struct.
2489 (grub_openbsd_find_ramdisk32): New prototype.
2490 (grub_openbsd_find_ramdisk64): Likewise.
2491 * include/grub/i386/coreboot/loader.h: Removed.
2492 * include/grub/i386/efi/loader.h: Likewise.
2493 * include/grub/i386/ieee1275/loader.h: Likewise.
2494 * include/grub/i386/linux.h (linux_kernel_header): Change void *
2495 to grub_uint32_t.
2496 * include/grub/i386/loader.h: Removed.
2497 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
2498 value.
2499 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
2500 (grub_phys_addr_t): New type.
2501 (grub_vtop): New inline function.
2502 (grub_map_memory): Likewise.
2503 (grub_unmap_memory): Likewise.
2504 * include/grub/i386/multiboot/loader.h: Removed.
2505 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
2506 (NETBSD_BTINFO_CONSOLE): New definition.
2507 (NETBSD_BTINFO_SYMTAB): Likewise.
2508 (NETBSD_BTINFO_MODULES): Likewise.
2509 (NETBSD_BTINFO_FRAMEBUF): Likewise.
2510 (grub_netbsd_bootinfo): New struct.
2511 (grub_netbsd_btinfo_common): Use explicit bitsize.
2512 (grub_netbsd_btinfo_mmap_entry): Removed.
2513 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
2514 (grub_netbsd_btinfo_bootdisk): New struct.
2515 (grub_netbsd_btinfo_symtab): Likewise.
2516 (grub_netbsd_btinfo_serial): Likewise.
2517 (grub_netbsd_btinfo_modules): Likewise.
2518 (grub_netbsd_btinfo_framebuf): Likewise.
2519 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
2520 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
2521 Likewise.
2522 (grub_openbsd_bootargs): Use explicit bitsize.
2523 (grub_openbsd_bootarg_console): New struct.
2524 (GRUB_OPENBSD_COM_MAJOR): New definition.
2525 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
2526 * include/grub/i386/pc/efiemu.h: Removed.
2527 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
2528 * include/grub/i386/qemu/loader.h: Removed.
2529 * include/grub/i386/relocator.h: Rewritten.
2530 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
2531 * include/grub/mips/memory.h: New file.
2532 * include/grub/mips/multiboot.h: Rewritten.
2533 * include/grub/mips/relocator.h: Rewritten.
2534 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
2535 (grub_vtop): New function.
2536 (grub_map_memory): Likewise.
2537 (grub_unmap_memory): Likewise.
2538 * include/grub/misc.h (ALIGN_DOWN): New definition.
2539 * include/grub/mm.h (grub_mm_check_real): New proto.
2540 (GRUB_MM_CHECK): New definition.
2541 * include/grub/mm_private.h: New file.
2542 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
2543 (grub_multiboot_get_mbi_size): Removed.
2544 (grub_multiboot_make_mbi): Change prottype.
2545 (grub_multiboot_set_accepts_video): New proto.
2546 (grub_multiboot_add_elfsyms): Likewise.
2547 (grub_multiboot_payload_eip): New variable.
2548 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
2549 New prototype.
2550 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
2551 New definition.
2552 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
2553 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
2554 * include/grub/powerpc/ieee1275/loader.h: Removed.
2555 * include/grub/powerpc/memory.h: New file.
2556 * include/grub/powerpc/relocator.h: Likewise.
2557 * include/grub/relocator.h: Likewise.
2558 * include/grub/relocator_private.h: Likewise.
2559 * include/grub/sparc64/ieee1275/loader.h: Removed.
2560 * include/grub/x86_64/memory.h: New file.
2561 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
2562 (grub_xnu_heap_malloc): Likewise.
2563 (grub_xnu_heap_real_start): Removed.
2564 (grub_xnu_heap_start): Likewise.
2565 (grub_xnu_relocator): New variable.
2566 (grub_xnu_heap_target_start): Likewise.
2567 * tests/util/grub-shell.in: Support non-pc.
2568 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 2569
5303b85d
VS
25702010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
2573 on malloc error.
2574 (grub_bidi_logical_to_visual): Check that malloc succeded.
2575 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
2576 puts.
2577 (grub_xputs_normal): Likewise.
2578
d768d159
VS
25792010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
2582 extra_dist.
2583
25842010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * grub-core/efiemu/runtime/efiemu.sh: Removed.
2587
5bf84df4
VS
25882010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
2591
3626810e
VS
25922010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
2595 dprintf.
2596
a7363f53
BC
25972010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
2598
2599 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
2600
902f75f6
VS
26012010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/normal/term.c (print_more): Fix a memory leak.
2604 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
2605 (grub_xputs_normal): Likewise.
2606
3c707967
VS
26072010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
2610 the begining of the string
2611
2053cc07
VS
26122010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * grub-core/script/script.c (grub_script_parse): Free parsed on
2615 failure.
2616
46422ebf
VS
26172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
2620 on failure.
2621
9e0fa3f6
VS
26222010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
2625 return.
2626
3393cf16
VS
26272010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
2630 (scroll_up): Fix a memory leak.
2631
b17540cb
VS
26322010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
2635 errors.
2636
67140446
VS
26372010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 Handle USB pendrives exposed as floppies.
2640
2641 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
2642 floppy.
2643 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
2644 Check for partitions on all devices.
2645
e35e46fc
VS
26462010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
2649 (readkey): Likewise.
2650
d24c6190
BC
26512010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
2652
2653 Multiple variable names support to "export" command.
2654
2655 * normal/context.c (grub_cmd_export): "export" command supports
2656 multiple variable names.
2657
04ddcc6a
ST
26582010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
2659
2660 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
2661 --target=drive output to Mach device name.
2662
0c8b61d8
BC
26632010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
2664
2665 New Automake based build system for GRUB.
2666
2667 * ABOUT-NLS: New file.
2668 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
2669 in Makefile.util.def file.
2670 * Makefile.util.def: New file. Autogen build definitions file for
2671 GRUB host utils.
2672 * conf/Makefile.common: New file. Common variables for GRUB host
2673 utils and target modules.
2674 * conf/Makefile.extra-dist: New file. Extra files for make dist.
2675 * docs/Makefile.am: New file. Automake file for docs.
2676 * gentpl.py: New file. Python script to generate Autogen
2677 template.
2678 * grub-core/Makefile.am: New file. GRUB target modules' rules
2679 that doesn't fit in Makefile.core.def file.
2680 * grub-core/Makefile.core.def: New file. Autogen build
2681 definitions file for GRUB target modules.
2682 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
2683 specific setjmp.S file.
2684 * po/Makefile.am: New file.
2685
2686 * .bzrignore: New ignores.
2687 * INSTALL: New requirements, without Ruby.
2688 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
2689 * autogen.sh: Updated to invoke autogen as necessary.
2690 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
2691 and defines for Automake conditionals.
2692 * geninit.sh: Refactoring.
2693
2694 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
2695 necessary.
2696 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
2697 New prototype.
2698
2699 * include/grub/test.h: Fix functional test modules' naming.
2700 * grub-core/tests/example_functional_test.c: Fix test module name.
2701
2702 * util/misc.c: Hosted versions' of grub functions for libgrub.a
2703 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
2704 * util/grub-editenv.c: Likewise.
2705 * util/grub-fstest.c: Likewise.
2706 * util/grub-mkdevicemap.c: Likewise.
2707 * util/grub-mkfont.c: Likewise.
2708 * util/grub-mkimage.c: Likewise.
2709 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2710 * util/grub-probe.c: Likewise.
2711 * util/grub-script-check.c: Likewise.
2712 * util/i386/pc/grub-setup.c: Likewise.
2713 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2714
2715 * tests/util/grub-shell.in: Fix override directory path.
2716 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
2717 * util/import_gcry.py: Create Makefile.gcry.def file instead.
2718
2719 * util/lvm.c: Update #includes.
2720 * util/raid.c: Likewise.
2721 * util/resolve.c: Likewise.
2722 * grub-core/bus/emu/pci.c: Likewise.
2723 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
2724 * grub-core/lib/posix_wrap/string.h: Likewise.
2725 * grub-core/kern/emu/main.c: Likewise.
2726
2727 * grub-core/gensymlist.sh: New file. Script for generating kernel
2728 symbols file.
2729 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
2730
2731 * grub-core/gentrigtables.c: Fix unused variable warnings.
2732
2733 * Makefile.in: Removed.
2734 * conf/any-emu.rmk: Removed.
2735 * conf/common.rmk: Removed.
2736 * conf/i386-coreboot.rmk: Removed.
2737 * conf/i386-efi.rmk: Removed.
2738 * conf/i386-ieee1275.rmk: Removed.
2739 * conf/i386-multiboot.rmk: Removed.
2740 * conf/i386-pc.rmk: Removed.
2741 * conf/i386-qemu.rmk: Removed.
2742 * conf/i386.rmk: Removed.
2743 * conf/mips-yeeloong.rmk: Removed.
2744 * conf/mips.rmk: Removed.
2745 * conf/powerpc-ieee1275.rmk: Removed.
2746 * conf/sparc64-ieee1275.rmk: Removed.
2747 * conf/tests.rmk: Removed.
2748 * conf/x86-efi.rmk: Removed.
2749 * conf/x86_64-efi.rmk: Removed.
2750 * gendistlist.sh: Removed.
2751 * geninitheader.sh: Removed.
2752 * genkernsyms.sh.in: Removed.
2753 * genmk.rb: Removed.
2754 * gensymlist.sh.in: Removed.
2755 * mkinstalldirs: Removed.
2756 * boot: Moved ...
2757 * grub-core/boot: ... to here.
2758 * bus: Moved ...
2759 * grub-core/bus: ... to here.
2760 * commands: Moved ...
2761 * grub-core/commands: ... to here.
2762 * disk: Moved ...
2763 * grub-core/disk: ... to here.
2764 * efiemu: Moved ...
2765 * grub-core/efiemu: ... to here.
2766 * font: Moved ...
2767 * grub-core/font: ... to here.
2768 * fs: Moved ...
2769 * grub-core/fs: ... to here.
2770 * gencmdlist.sh: Moved ...
2771 * grub-core/gencmdlist.sh: ... to here.
2772 * genemuinit.sh: Moved ...
2773 * grub-core/genemuinit.sh: ... to here.
2774 * genemuinitheader.sh: Moved ...
2775 * grub-core/genemuinitheader.sh: ... to here.
2776 * genfslist.sh: Moved ...
2777 * grub-core/genfslist.sh: ... to here.
2778 * genhandlerlist.sh: Moved ...
2779 * grub-core/genhandlerlist.sh: ... to here.
2780 * genmoddep.awk: Moved ...
2781 * grub-core/genmoddep.awk: ... to here.
2782 * genmodsrc.sh: Moved ...
2783 * grub-core/genmodsrc.sh: ... to here.
2784 * genpartmaplist.sh: Moved ...
2785 * grub-core/genpartmaplist.sh: ... to here.
2786 * genparttoollist.sh: Moved ...
2787 * grub-core/genparttoollist.sh: ... to here.
2788 * genterminallist.sh: Moved ...
2789 * grub-core/genterminallist.sh: ... to here.
2790 * gentrigtables.c: Moved ...
2791 * grub-core/gentrigtables.c: ... to here.
2792 * genvideolist.sh: Moved ...
2793 * grub-core/genvideolist.sh: ... to here.
2794 * gettext: Moved ...
2795 * grub-core/gettext: ... to here.
2796 * gfxmenu: Moved ...
2797 * grub-core/gfxmenu: ... to here.
2798 * gnulib: Moved ...
2799 * grub-core/gnulib: ... to here.
2800 * hello: Moved ...
2801 * grub-core/hello: ... to here.
2802 * hook: Moved ...
2803 * grub-core/hook: ... to here.
2804 * io: Moved ...
2805 * grub-core/io: ... to here.
2806 * kern: Moved ...
2807 * grub-core/kern: ... to here.
2808 * lib: Moved ...
2809 * grub-core/lib: ... to here.
2810 * loader: Moved ...
2811 * grub-core/loader: ... to here.
2812 * mmap: Moved ...
2813 * grub-core/mmap: ... to here.
2814 * normal: Moved ...
2815 * grub-core/normal: ... to here.
2816 * partmap: Moved ...
2817 * grub-core/partmap: ... to here.
2818 * parttool: Moved ...
2819 * grub-core/parttool: ... to here.
2820 * script: Moved ...
2821 * grub-core/script: ... to here.
2822 * term: Moved ...
2823 * grub-core/term: ... to here
2824 * tests/example_functional_test.c: Moved ...
2825 * grub-core/tests/example_functional_test.c: ... to here.
2826 * tests/lib/functional_test.c: Moved ...
2827 * grub-core/tests/lib/functional_test.c: ... to here.
2828 * tests/lib/test.c: Moved ...
2829 * grub-core/tests/lib/test.c: ... to here.
2830 * video: Moved ...
2831 * grub-core/video: ... to here.
2832
645586e6
BC
28332010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
2834
2835 Replace --enable-grub-emu-modules with grub-emu-lite.
2836
2837 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
2838 cache.S.
2839
2840 * include/grub/emu/misc.h (grub_emu_init): New prototype.
2841 * kern/emu/full.c: New file. For grub-emu specific initialization.
2842 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
2843 * kern/emu/main.c: Call initialization function grub_emu_init.
2844
2845 * Makefile.in: Include grub-emu-lite in install.
2846 * commands/parttool.c: Use grub_no_autoload to differentiate
2847 between grub-emu and grub-emu-lite.
2848 * include/grub/misc.h: New variable grub_no_autoload.
2849
2850 * conf/any-emu.rmk: New rules for grub-emu-lite.
2851 * configure.ac: Remove --enable-grub-emu-modules.
2852 * genmk.rb: Cleanup unnecessary rules.
2853 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
2854
2855 * normal/main.c: Don't load list files on grub-emu-lite.
2856 * util/misc.c (grub_arch_sync_caches): Removed.
2857
f86a4030
CW
28582010-08-23 Colin Watson <cjwatson@ubuntu.com>
2859
2860 * kern/mips/startup.S (grub_prefix): Update comment to refer to
2861 grub-mkimage rather than grub-mkelfimage.
2862 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
2863
06776944
VS
28642010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
2867 a key after CapsLock or NumLock. It's just a qemu bug.
2868
df262419
VS
28692010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
2872 needed by libusb wrapper.
2873
b40ea81b
ST
28742010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
2875
2876 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
2877
dee50575
VS
28782010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
2881 --nounzip is passed.
2882
fb1d7b79
VS
28832010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 USB hotunplugging and USB serial support.
2886
2887 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
2888 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
2889 (grub_uhci_transfer): Respect timeout and set *actual.
2890 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
2891 non-standard length.
2892 (grub_usb_device_attach): Autoload modules.
2893 (GRUB_MOD_INIT): Set grub_term_poll_usb.
2894 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
2895 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
2896 users updated.
2897 (grub_usb_add_hub): Fill nports and children.
2898 (attach_root_port): Receive hub instead of controller.
2899 All users updated. Fill hub->devices.
2900 (grub_usb_root_hub): Allocate hub->devices.
2901 (detach_device): New function.
2902 (poll_nonroot_hub): Fill children and detach devices.
2903 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
2904 actual arguments. All users updated.
2905 (grub_usb_bulk_read_extended): New function.
2906 * bus/usb/serial/common.c: New file.
2907 * bus/usb/serial/ftdi.c: Likewise.
2908 * bus/usb/serial/pl2303.c: Likewise.
2909 * commands/terminal.c (handle_command): Support wildcard.
2910 * commands/usbtest.c: Output "Unknown" instead of empty string.
2911 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
2912 (usbserial_common_mod_SOURCES): New variable.
2913 (usbserial_common_mod_CFLAGS): Likewise.
2914 (usbserial_common_mod_LDFLAGS): Likewise.
2915 (pkglib_MODULES): Add usbserial_pl2303.mod.
2916 (usbserial_pl2303_mod_SOURCES): New variable.
2917 (usbserial_pl2303_mod_CFLAGS): Likewise.
2918 (usbserial_pl2303_mod_LDFLAGS): Likewise.
2919 (pkglib_MODULES): Add usbserial_ftdi.mod.
2920 (usbserial_ftdi_mod_SOURCES): New variable.
2921 (usbserial_ftdi_mod_CFLAGS): Likewise.
2922 (usbserial_ftdi_mod_LDFLAGS): Likewise.
2923 (pkglib_MODULES): Add serial.mod.
2924 (serial_mod_SOURCES): New variable.
2925 (serial_mod_CFLAGS): Likewise.
2926 (serial_mod_LDFLAGS): Likewise.
2927 * conf/i386-pc.rmk: Likewise.
2928 * conf/mips-yeeloong.rmk: Likewise.
2929 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
2930 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
2931 * disk/usbms.c (first_available_slot): New variable.
2932 (grub_usbms_attach): Don't reuse free slots due to potential cache
2933 problems.
2934 * include/grub/serial.h: Moved to ..
2935 * include/grub/ns8250.h: ...this.
2936 * include/grub/serial.h: New file.
2937 * include/grub/term.h (grub_term_poll_usb): New variable.
2938 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
2939 readkey. All users updated.
2940 (grub_terminfo_output_state): Pass term to put.
2941 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
2942 (grub_usb_controller_dev): Add timeout and actual arguments to
2943 transfer. All users updated.
2944 (grub_usb_interface): New field detach_data.
2945 (grub_usb_device): New fields children and nports.
2946 (grub_usb_ep_type_t): New type.
2947 (grub_usb_get_ep_type): New function.
2948 (grub_usb_bulk_read_extended): Likewise.
2949 * include/grub/usbdesc.h (grub_usb_desc): New type.
2950 * include/grub/usbserial.h: New file.
2951 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
2952 * kern/term.c (grub_term_poll_usb): New variable.
2953 (grub_getkey): Call grub_term_poll_usb if set.
2954 (grub_checkkey): Likewise.
2955 (grub_getkeystatus): Likewise.
2956 * term/serial.c: Moved controller-specific parts to ...
2957 * term/ns8250.c: ... here.
2958 * term/serial.c: Mostly rewritten.
2959 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
2960 according to spec.
2961
21a313de
RM
29622010-08-20 Robert Millan <rmh@gnu.org>
2963
2964 Make kFreeBSD code more generic to support ext2fs as root, ufs as
2965 a separate module and maybe other interesting combinations.
2966
2967 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
2968 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
2969 (kfreebsd_entry): Add generic filesystem module load routine.
2970 Map GRUB `ext2' to kFreeBSD `ext2fs'.
2971
63c734a6
CW
29722010-08-20 Colin Watson <cjwatson@ubuntu.com>
2973
2974 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
2975 "numcenter" (I misunderstood the purpose of this entry).
2976 * docs/grub.texi (sendkey): Likewise.
2977
c4d16542
CW
29782010-08-20 Colin Watson <cjwatson@ubuntu.com>
2979
2980 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
2981 status flag options; simply omitting the option is equivalent and
2982 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
2983 (keysym_table): Rename "num5numlock" to "numlock".
2984 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
2985 can uniformly say that only the last of multiple `sendkey'
2986 invocations has any effect.
2987 * docs/grub.texi (sendkey): New section.
2988
93541d66
CW
29892010-08-19 Colin Watson <cjwatson@ubuntu.com>
2990
2991 * commands/i386/pc/sendkey.c (options): Fix three typos.
2992
b4ece5e1
VS
29932010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 Implement sendkey support.
2996
2997 * commands/i386/pc/sendkey.c: New file.
2998 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
2999 (sendkey_mod_SOURCES): New variable.
3000 (sendkey_mod_CFLAGS): Likewise.
3001 (sendkey_mod_LDFLAGS): Likewise.
3002
51f1f5af
CW
30032010-08-18 Colin Watson <cjwatson@ubuntu.com>
3004
3005 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
3006 fix warnings from Autoconf.
3007
9da94e05
CW
30082010-08-18 Colin Watson <cjwatson@ubuntu.com>
3009
3010 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
3011 to avoid false positives with some assemblers that output things
3012 like "someprefix_func" as part of their output.
3013
729a0f2e
RM
30142010-08-15 Robert Millan <rmh@gnu.org>
3015
3016 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
3017 errors.
3018 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
3019 grub_get_libzfs_handle() errors.
3020
f3710e08
RM
30212010-08-14 Robert Millan <rmh@gnu.org>
3022
3023 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
3024 filesystem is not ZFS.
3025
7a3c13de
BC
30262010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3027
3028 Fix for misspelled color names defaulting to black/black (bug
3029 reported by Doug Nazar)
3030
3031 * include/grub/normal.h (grub_parse_color_name_pair): Add return
3032 status to prototype.
3033 * normal/color.c (grub_parse_color_name_pair): Return failure
3034 status.
3035 (grub_env_write_color_normal): Ignore bad color names.
3036 (grub_env_write_color_highlight): Likewise.
3037 * normal/main.c (GRUB_MOD_INIT): Set default color names.
3038
ab8ba50d
BC
30392010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3040
3041 "shift" command support to GRUB script.
3042
3043 * include/grub/script_sh.h (grub_script_shift): New prototype.
3044 * script/execute.c (grub_script_shift): New function.
3045 * script/main.c (grub_script_init): Register shift command.
3046 (grub_script_fini): Unregister shift command.
3047 * util/grub-script-check.c (grub_script_cmd_shift): New function.
3048
3049 * tests/grub_script_shift.in: New testcase.
3050 * conf/tests.rmk: Rules for new testcase.
3051
4d61999e
BC
30522010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3053
3054 "continue" command support to GRUB script.
3055
3056 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
3057 (grub_script_break): Continue support.
3058 * script/main.c (grub_script_init): Register continue command.
3059 (grub_script_fini): Unregister continue command.
3060
3061 * tests/grub_script_continue.in: New testcase.
3062 * conf/tests.rmk: Rules for new testcase.
3063
4df51e00
BC
30642010-08-12 BVK Chaitanya <bvk@dbook>
3065
3066 "break" command support to GRUB script.
3067
3068 * conf/common.rmk: Rule updates to grub-script-check.
3069 * include/grub/misc.h (grub_min): New function.
3070 * include/grub/script_sh.h (grub_script_init): New prototype.
3071 (grub_script_fini): New prototype.
3072 (grub_script_break): New prototype.
3073 * script/main.c (grub_script_init): New function.
3074 (grub_script_fini): New function.
3075 * script/execute.c (grub_script_break): New function.
3076 * normal/main.c: Calls to grub_script_{init,fini}.
3077 * util/grub-script-check.c (grub_script_break): New function.
3078
3079 * tests/grub_script_break.in: New testcase.
3080 * conf/tests.rmk: Rules for new test case.
3081
f12c8420
BC
30822010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3083
3084 Function parameters support to GRUB script.
3085
3086 * script/yylex.l (VARIABLE): Regular expression update.
3087 * script/function.c (grub_script_function_call): Moved ...
3088 * script/execute.c (grub_script_function_call): ... to here.
3089 (grub_script_execute_arglist_to_argv): Removed.
3090 (grub_script_arglist_to_argv): New function.
3091 * script/argv.c: New file.
3092 (grub_script_argv_free): New function.
3093 (grub_script_argv_next): Likewise.
3094 (grub_script_argv_append): Likewise.
3095 (grub_script_argv_split_append): Likewise.
3096 * include/grub/script_sh.h (grub_script_argv): New struct.
3097 (grub_script_argv_free): New function.
3098 (grub_script_argv_next): Likewise.
3099 (grub_script_argv_append): Likewise.
3100 (grub_script_argv_split_append): Likewise.
3101
3102 * conf/common.rmk (normal.mod): New source script/argv.c.
3103
3104 * tests/grub_script_echo1.in: More tests.
3105 * tests/grub_script_vars1.in: Likewise.
3106 * tests/grub_script_functions.in: New test case.
3107 * conf/tests.rmk: Rules for new testcase.
3108
8022b748
BC
31092010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3110
3111 Remove grub_script_cmdblock struct.
3112
3113 * include/grub/script_sh.h: Remove grub_script_cmdblock.
3114 * script/parser.y: Likewise.
3115 * script/execute.c: Rename cmdblock suffix to cmdlist.
3116 * script/script.c: Likewise.
3117 * util/grub-script-check.c: Likewise.
3118
79a6ba61
YB
31192010-08-11 Yves Blusseau <blusseau@zetam.org>
3120
3121 * .bzrignore: add grub-macho2img
3122
d04b9414
VS
31232010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
3126
f947ab49
VS
31272010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 Remove the dump of sm712 initialisation sequence.
3130
3131 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
3132 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
3133 (GRUB_VGA_IO_MISC_WRITE): Likewise.
3134 (GRUB_VGA_CR_*): Added many registers.
3135 (GRUB_VGA_SR_*): Likewise.
3136 (GRUB_VGA_GR_*): Likewise.
3137 (grub_vga_write_arx): New function.
3138 (grub_video_hw_config): New struct.
3139 (grub_vga_set_geometry): New function.
3140 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
3141 GRUB_PCI_CLASS_SUBCLASS_VGA.
3142 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
3143 * video/sm712.c (grub_sm712_write_reg): New function
3144 (grub_sm712_read_reg): Likewise.
3145 (grub_sm712_sr_write): Likewise.
3146 (grub_sm712_gr_write): Likewise.
3147 (grub_sm712_cr_write): Likewise.
3148 (grub_sm712_write_arx): Likewise.
3149 (grub_sm712_cr_shadow_write): Likewise.
3150 (grub_sm712_write_dda_lookup): Likewise.
3151 (grub_video_sm712_setup): Initialise the video rather then
3152 blindly replay the dump.
3153 (main) [TEST]: Add a routine to be able to compile as standalone for
3154 tests.
3155 * video/sm712_init.c (sm712_init): Removed.
3156 (sm712_sr_seq1): New array.
3157 (sm712_sr_seq2): Likewise.
3158
f0206638
VS
31592010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * include/grub/vga.h: Add missing grub/pci.h include.
3162
2764da3b
YB
31632010-08-10 Yves Blusseau <blusseau@zetam.org>
3164
3165 * util/grub-macho2img.c (main): fix typo
3166
cf0c775e
VS
31672010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
3170 (grub_vga_gr_read): Likewise.
3171 (grub_vga_cr_write): Likewise.
3172 (grub_vga_cr_read): Likewise.
3173 (grub_vga_sr_write): Likewise.
3174 (grub_vga_sr_read): Likewise.
3175 (grub_vga_palette_read): Likewise.
3176 (grub_vga_palette_write): Likewise.
3177 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
3178 (grub_sm712_sr_read): New function.
3179 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
3180 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
3181
07f360e9
RM
31822010-08-09 Robert Millan <rmh@gnu.org>
3183
3184 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
3185 out unused variables on non-ZFS build.
3186
346c2072
RM
31872010-08-08 Robert Millan <rmh@gnu.org>
3188
3189 Fix path generation for sub-filesystems in ZFS.
3190
3191 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
3192 missing slash.
3193
71175420
RM
31942010-08-08 Robert Millan <rmh@gnu.org>
3195
3196 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
3197
0d8286f3
RM
31982010-08-08 Robert Millan <rmh@gnu.org>
3199
3200 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
3201 exist, issue a proper error message (rely on `ls' for translated
3202 strings).
3203
55dd2924
RM
32042010-08-08 Robert Millan <rmh@gnu.org>
3205
3206 Fix grub-probe invocation.
3207
3208 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
3209
d3dd9e80
RM
32102010-08-04 Robert Millan <rmh@gnu.org>
3211
3212 * configure.ac: Remove checks for getfsstat() and getmntany().
3213 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
3214 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
3215 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
3216 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
3217 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
3218 function.
3219 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
3220 via find_mount_point_from_dir() and getfsstat() / getmntany().
3221
0de22aa9
RM
32222010-08-04 Robert Millan <rmh@gnu.org>
3223
3224 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3225 (grub_find_zpool_from_mount_point): Merge into ...
3226 (grub_find_zpool_from_dir): ... this.
3227 * kern/emu/misc.c: Likewise.
3228
3229 * kern/emu/misc.c
3230 (grub_make_system_path_relative_to_its_root): Replace
3231 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
3232 with grub_find_zpool_from_dir().
3233 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
3234
62858144
RM
32352010-08-04 Robert Millan <rmh@gnu.org>
3236
3237 Support OpenSolaris in ZFS device resolution.
3238
3239 * configure.ac: Check for getmntany().
3240 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
3241 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
3242 support.
3243
9dd6fd50
RM
32442010-08-03 Robert Millan <rmh@gnu.org>
3245
3246 Fix grub-emu build.
3247
3248 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
3249 * include/grub/emu/misc.h: ... here.
3250
3251 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
3252 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
3253
3254 * util/misc.c: Remove `<grub/util/libzfs.h>'.
3255 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
3256 (grub_get_libzfs_handle): Move to ...
3257 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
3258 (grub_get_libzfs_handle): ... here.
3259
c9f7ff97
BC
32602010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
3261
3262 * script/execute.c (grub_script_execute_cmdline): Check for NULL
3263 as command name case.
3264
a870a783
CW
32652010-08-02 Colin Watson <cjwatson@ubuntu.com>
3266
3267 * disk/raid.c (insert_array): Select unique numbers for named arrays
3268 as well, for use as keys in the disk cache.
3269
c7db243b
RM
32702010-08-01 Robert Millan <rmh@gnu.org>
3271
3272 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
3273 kFreeBSD device name, except on ZFS where the filesystem label is
3274 used.
3275 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
3276 `/boot/zfs/zpool.cache'.
3277 Set mountfrom kernel variable using ${kfreebsd_device}.
3278
f7abdefb
RM
32792010-08-01 Robert Millan <rmh@gnu.org>
3280
3281 Make it even harder to use uninitialized `libzfs_handle' (and
3282 make the interface a bit simpler).
3283
3284 * include/grub/util/misc.h (grub_util_init_libzfs)
3285 (libzfs_handle): Remove.
3286 (grub_get_libzfs_handle): New prototype.
3287
3288 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
3289 attribute.
3290 (grub_util_init_libzfs): Remove.
3291 (grub_get_libzfs_handle): New function.
3292
3293 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
3294 grub_get_libzfs_handle() to obtain a libzfs handle instead of
3295 accessing `libzfs_handle' directly.
3296
c882acc0
RM
32972010-08-01 Robert Millan <rmh@gnu.org>
3298
3299 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3300 (grub_find_zpool_from_mount_point): New function prototypes.
3301
3302 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
3303 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
3304
3305 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
3306 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
3307 `static' attribute.
3308
3309 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
3310 finding zpool from mount point into ...
3311 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
3312
3313 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
3314 requested path is part of a ZFS pool, use
3315 grub_find_zpool_from_mount_point() to detect its filesystem name,
3316 and generate a path with `/fsname@path' syntax.
3317
8bfe31d8
CW
33182010-08-01 Colin Watson <cjwatson@ubuntu.com>
3319
3320 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
3321 (void) rather than () so that this is a proper prototype.
3322
553df63d
VS
33232010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
3326
8687cf07
VS
33272010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
3330 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
3331
ea9be8ea
CW
33322010-08-01 Colin Watson <cjwatson@ubuntu.com>
3333
3334 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
3335
6eea041a
CW
33362010-08-01 Colin Watson <cjwatson@ubuntu.com>
3337
3338 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
3339
2cfb45df
CW
33402010-08-01 Colin Watson <cjwatson@ubuntu.com>
3341
3342 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
3343 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
3344 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
3345 disable gfxpayload.
3346 (Shell-like scripting): Add real content.
3347 (Serial terminal): Suggest `terminal_input serial; terminal_output
3348 serial' rather than putting the two commands on separate lines,
3349 since console input will be inoperative after the first command.
3350 (menuentry): Document --class, --users, and --hotkey options.
3351 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
3352 Vladimir Serbinenko).
3353
7decd202
VS
33542010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
33552010-08-01 Colin Watson <cjwatson@ubuntu.com>
3356
3357 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
3358
c882acc0
RM
33592010-08-01 Robert Millan <rmh@gnu.org>
3360
3361 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3362 (grub_find_zpool_from_mount_point): New function prototypes.
3363
3364 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
3365 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
3366
3367 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
3368 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
3369 `static' attribute.
3370
3371 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
3372 finding zpool from mount point into ...
3373 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
3374
3375 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
3376 requested path is part of a ZFS pool, use
3377 grub_find_zpool_from_mount_point() to detect its filesystem name,
3378 and generate a path with `/fsname@path' syntax.
3379
deb0caa3
RM
33802010-08-01 Robert Millan <rmh@gnu.org>
3381
3382 Prevent accidental use of uninitialized libzfs_handle.
3383
3384 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
3385 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
3386 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
3387
ce04ef47
CW
33882010-08-01 Colin Watson <cjwatson@ubuntu.com>
3389
3390 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
3391 util/grub.d/10_linux.in). Fixes Debian bug #591093.
3392
ebf53056
RM
33932010-08-01 Robert Millan <rmh@gnu.org>
3394
3395 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 3396
3710bb6b
RM
33972010-07-31 Robert Millan <rmh@gnu.org>
3398
3399 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
3400
8072efeb
RM
34012010-07-31 Robert Millan <rmh@gnu.org>
3402
3403 * kern/emu/misc.c: Add missing license header.
3404
3169f4c7
RM
34052010-07-31 Robert Millan <rmh@gnu.org>
3406
3407 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
3408
3409 * include/grub/util/libnvpair.h: Include `<config.h>'.
3410 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
3411 declaring libnvpair prototypes ourselves.
3412 * include/grub/util/libzfs.h: Include `<config.h>'.
3413 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
3414 declaring libzfs prototypes ourselves.
3415
3416 (libzfs_handle): Moved to ...
3417 * include/grub/util/misc.h (libzfs_handle): ... here.
3418 Include `<grub/util/libzfs.h>'.
3419
c9a00aee
RM
34202010-07-30 Robert Millan <rmh@gnu.org>
3421
3422 * include/grub/emu/misc.h: Add missing license header.
3423
a184f9c8
RM
34242010-07-30 Robert Millan <rmh@gnu.org>
3425
3426 Enable `grub-probe -t device' resolution on ZFS.
3427
3428 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
3429 * include/grub/util/libnvpair.h: New file.
3430 * include/grub/util/libzfs.h: New file.
3431
3432 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
3433 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
3434 `<grub/util/libnvpair.h>'.
3435 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
3436
3437 (find_mount_point_from_dir): New static function.
3438 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
3439 function.
3440 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
3441 find_root_device_from_libzfs() before ressorting to find_root_device().
3442
3443 * include/grub/util/misc.h (grub_util_init_libzfs): New function
3444 prototype.
3445 * util/misc.c: Include `<grub/util/libzfs.h>'.
3446 (grub_util_init_libzfs): New function.
3447 [HAVE_LIBZFS] (libzfs_handle): New global variable.
3448 [HAVE_LIBZFS] (fini_libzfs): New static function.
3449 (grub_util_init_libzfs): New function.
3450 * util/grub-probe.c (main): Call grub_util_init_libzfs().
3451
f7790cdd
RM
34522010-07-30 Robert Millan <rmh@gnu.org>
3453
3454 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
3455 (xmalloc, xrealloc, xstrdup, xasprintf): Add
3456 `warn_unused_result' attribute.
3457 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
3458 (grub_xasprintf, grub_xvasprintf): Likewise.
3459 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
3460
0806b63c
RM
34612010-07-29 Robert Millan <rmh@gnu.org>
3462
3463 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
3464 (probe): Handle `PRINT_FS_LABEL'.
3465 (main): Handle `-t fs_label'.
3466
9f841f5c
RM
34672010-07-29 Robert Millan <rmh@gnu.org>
3468
3469 * configure.ac: Remove grub-mkisofs checks.
3470
46371121
VS
34712010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * util/ieee1275/grub-install.in: Don't use empty grub_device.
3474 Reported by: Lennart Sorensen.
3475
34762010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
3479 prior to terminal_input/terminal_output separation. It's been over 1.5
3480 years and those versions weren't widely deployed.
3481
a9600892
CW
34822010-07-22 Colin Watson <cjwatson@ubuntu.com>
3483
3484 * disk/raid.c (insert_array): Don't count named arrays when looking
3485 for unused array numbers.
697e053c 3486 Reported and tested by: Michael Guntsche.
a9600892 3487
c03507df
CW
34882010-07-20 Colin Watson <cjwatson@ubuntu.com>
3489
3490 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
3491 implementation of this so that grub-emu links again, with a note
3492 that this should support hotplugging in the future.
3493
b26f1c11
CW
34942010-07-20 Colin Watson <cjwatson@ubuntu.com>
3495
3496 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
3497
efc9d7f1
CW
34982010-07-20 Colin Watson <cjwatson@ubuntu.com>
3499
3500 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
3501 handle on failure.
3502 (grub_loopback_close): Remove empty function.
3503 (grub_loopback_dev): Remove close method.
3504
dd8ff5c9
CW
35052010-07-20 Colin Watson <cjwatson@ubuntu.com>
3506
3507 Disable EFI cursor when the EFI console becomes inactive.
3508
3509 * term/efi/console.c (grub_efi_console_init): New function.
3510 (grub_efi_console_fini): New function.
3511 (grub_console_term_output): Register init and fini methods.
3512
5e3bec67
VS
35132010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * tests/util/grub-shell-tester.in: Remove bashism and declare as
3516 sh script.
3517
afaec079
VS
35182010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * disk/loopback.c (grub_loopback): Replace filename with file.
3521 (delete_loopback): Handle new semantics.
3522 (grub_cmd_loopback): Likewise.
3523 (grub_loopback_iterate): Likewise.
3524 (grub_loopback_close): Likewise.
3525
a6a11f3c
VS
35262010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
3529 with -p "".
3530 Reported by: Tito Keitel.
3531
64a638b0
VS
35322010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * docs/grub.texi (Naming convention): Document new naming convention.
3535
ab8ba957
VS
35362010-07-20 Vadim Solomin <vadic052@gmail.com>
35372010-07-20 Colin Watson <cjwatson@ubuntu.com>
3538
3539 Generate device.map in something closer to the old ordering.
3540
3541 * util/deviceiter.c (struct device): New declaration.
3542 (compare_file_names): Rename to ...
3543 (compare_devices): ... this. Sort by kernel name in preference to
3544 the stable by-id name, but keep the latter as a fallback comparison.
3545 Update header comment.
3546 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
3547 of `struct device' rather than of plain file names.
3548
a29d6a4b
TF
35492010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
3550
3551 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
3552 on i386.
3553
39d824e8
VS
35542010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * commands/acpi.c (setup_common_tables): Use sizeof instead of
3557 hardcoding size.
3558 (setv1table): Likewise.
3559
f058276b
FZ
35602010-07-20 Colin Watson <cjwatson@ubuntu.com>
3561
3562 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
3563 removing the homehost if present.
3564 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
3565 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
3566 removing the homehost if present.
3567 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
3568 if possible.
3569 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
3570
3571 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
3572 parameter. Set its pointer target to 0.
3573 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
3574 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
3575 `data_offset' value from the superblock for 1.x metadata.
3576 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
3577 data on the device.
3578 (insert_array): Record the start sector of data on the device.
3579 (grub_raid_register): Pass start_sector parameters to
3580 grub_raid_list->detect and insert_array.
3581 * include/grub/raid.h (struct grub_raid_array): Add start_sector
3582 member.
3583 (struct grub_raid): Add start_sector parameter to `detect'.
3584
3585 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
3586 __attribute__ ((packed)), leaving a comment.
3587 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
3588 (grub_mdraid_detect_09): ... here and ...
3589 (grub_mdraid_detect_1x): ... here.
3590
35912010-07-20 Peter Henn <peter.henn@web.de>
3592
3593 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
3594 chunk size and disk size, which are already given as sector counts
3595 as distinct from the 0.90 units. Fetch the correct device number
3596 from the role table instead of using the table index.
3597
35982010-07-20 Felix Zielcke <fzielcke@z-51.de>
3599
3600 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
3601 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
3602 (WriteMostly1): New macro.
3603 Set array->name to NULL for metadata format 0.90. Add support for
3604 metadata 1.x. Fix some comments.
3605 * disk/raid.c (): Add support for name based RAID arrays. Fix a
3606 few comments.
3607 * util/getroot.c (grub_util_get_grub_dev): Add support for
3608 /dev/md/name style devices.
3609
4b761da9
CW
36102010-07-20 Colin Watson <cjwatson@ubuntu.com>
3611
3612 * .bzrignore: Ignore 20_linux_xen.
3613
5771289a
CW
36142010-07-17 Colin Watson <cjwatson@ubuntu.com>
3615
3616 * util/import_unicode.py: Remove unnecessary imports.
3617
5dab68df
AN
36182010-07-17 Aleš Nesrsta <starous@volny.cz>
3619
3620 Hotplugging and USB hub support.
3621
3622 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
3623 (grub_ohci): Likewise.
3624 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
3625 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
3626 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
3627 (GRUB_OHCI_CTRL_EDS): Likewise.
3628 (GRUB_OHCI_BULK_EDS): Likewise.
3629 (GRUB_OHCI_TDS): Likewise.
3630 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
3631 (grub_ohci_ed_phys2virt): New function.
3632 (grub_ohci_virt_to_phys): Likewise.
3633 (grub_ohci_td_phys2virt): Likewise.
3634 (grub_ohci_td_virt2phys): Likewise.
3635 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
3636 attachment.
3637 (grub_ohci_find_ed): New function.
3638 (grub_ohci_alloc_td): Likewise.
3639 (grub_ohci_free_td): Likewise.
3640 (grub_ohci_free_tds): Likewise.
3641 (grub_ohci_transfer): Use previously allocated memory.
3642 (grub_ohci_portstatus): Reset status changed bit.
3643 (grub_ohci_detect_dev): Supply status changed.
3644 (grub_ohci_fini_hw): Free memory.
3645 (grub_ohci_restore_hw): Reallocate memory.
3646 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
3647 Reset status change.
3648 (grub_uhci_detect_dev): Supply status_change.
3649 * bus/usb/usb.c (attach_hooks): New var.
3650 (grub_usb_device_attach): New function.
3651 (grub_usb_register_attach_hook_class): Likewise.
3652 (grub_usb_unregister_attach_hook_class): Likewise.
3653 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
3654 (grub_usb_add_hub): Reset connection changed bit.
3655 (attach_root_port): New function.
3656 (grub_usb_root_hub): Likewise.
3657 (poll_nonroot_hub): Likewise.
3658 (grub_usb_poll_devices): Likewise.
3659 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
3660 * disk/usbms.c (grub_usbms_open): Use device hooks.
3661 (grub_usbms_iterate) :Poll devices.
3662 (grub_usbms_finddevs): Split into ...
3663 (grub_usbms_attach): ... this ...
3664 (grub_usbms_attach): ... and this.
3665 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
3666 in detect_dev.
3667 (grub_usb_interface): New fields attached and detach_hook.
3668 (grub_usb_attach_hook_class): New type.
3669 (grub_usb_attach_desc): New struct.
3670 (grub_usb_register_attach_hook_class): New function.
3671 (grub_usb_unregister_attach_hook_class): Likewise.
3672 (grub_usb_poll_devices): Likewise.
3673 (grub_usb_device_attach): Likewise.
3674 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
3675 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
3676
3222efaf
VS
36772010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
3680 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
3681 delta determination style. Works with most NetBSD partitions too.
3682
139b714a
VS
36832010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
3686 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
3687
986aad56
VS
36882010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
3691
99be513c
AB
36922010-07-14 Anton Blanchard <anton@samba.org>
3693
3694 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
3695 ET_DYN files.
3696
18075f62
GS
36972010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
3698
3699 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
3700
8d9a5b15
GS
37012010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
3702
3703 * kern/partition.c (grub_partition_check_containment): New function to
3704 check that a partition is physically contained in a parent. Since
3705 offsets are relative (and non-negative), this reduces to checking that
3706 the partition ends before its parent.
3707 (grub_partition_map_probe): Discard out-of-range sub-partitions.
3708 (grub_partition_iterate): Likewise.
3709 * include/grub/partition.h (grub_partition_map): Slightly more detailed
3710 comments.
3711 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
3712 partitions that start before their parent, and add debug printfs.
3713
19563c25
CW
37142010-07-13 Colin Watson <cjwatson@ubuntu.com>
3715
3716 * Makefile.in (.SUFFIX): Spell correctly, as ...
3717 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
3718 bare module name without `.mod', e.g. `test') tried to invoke a
3719 Modula-2 compiler.
3720
1a1f1e67
CW
37212010-07-13 Colin Watson <cjwatson@ubuntu.com>
3722
3723 * README: Point to the Info manual.
3724
811b0dca
JS
37252010-07-13 Jiro SEKIBA <jir@unicus.jp>
3726
3727 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
3728 2nd superblock position from partition size.
3729
e4f4eafc
CW
37302010-07-10 Colin Watson <cjwatson@ubuntu.com>
3731
3732 * Makefile.in (MAINTAINER_CLEANFILES): Remove
3733 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
3734 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
3735 outputs.
3736
4274c30f
VS
37372010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 Restructure SCSI .id handling.
3740 Reported and tested by: Aleš Nesrsta.
3741
3742 * disk/ata.c (grub_atapi_close): Removed. All users updated.
3743 (grub_atapi_dev): Changed .name to "ata". New field .id.
3744 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
3745 (grub_usbms_dev): New field .id.
3746 * disk/scsi.c (grub_scsi_iterate): Generate name.
3747 (grub_scsi_open): Parse name.
3748 * include/grub/scsi.h (grub_make_scsi_id): New function.
3749 (grub_scsi_dev): Change iterate and open to number instead of naming
3750 busses. All users updated.
3751 (grub_scsi): Remove name. Add .bus.
3752
5bc24388
VS
37532010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * commands/help.c (grub_cmd_help): Fix a typo.
3756
249975ba
VS
37572010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
3760 Reported and tested by: Colin Watson.
3761
3eaac1a1
VS
37622010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
3765 in this context.
3766
becce1b1
VS
37672010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
3770
f7bf0918
CW
37712010-07-07 Colin Watson <cjwatson@ubuntu.com>
3772
3773 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
3774 indentation.
3775
0b0f9620
CW
37762010-07-06 Colin Watson <cjwatson@ubuntu.com>
3777
3778 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
3779 and disk/raid6_recover.c.
3780 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3781 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
3782
1e545469
CW
37832010-07-06 Colin Watson <cjwatson@ubuntu.com>
3784
3785 * term/gfxterm.c (repaint_schedulded): Rename to ...
3786 (repaint_scheduled): ... this. Update all callers.
3787 (repaint_was_schedulded): Rename to ...
3788 (repaint_was_scheduled): ... this. Update all callers.
3789
5357687a
CW
37902010-07-06 Colin Watson <cjwatson@ubuntu.com>
3791
3792 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
3793 which we expect to be handled by upper layers.
3794
29d7e783
BC
37952010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
3796
3797 * bus/usb/usbhub.c: #include time.h header.
3798
37582066
CW
37992010-07-06 Colin Watson <cjwatson@ubuntu.com>
3800
3801 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
3802 entry_name also for entries without stat blocks (e.g. ".."); fixes
3803 corruption of the first entry in a directory.
3804
c8c06953
CW
38052010-07-06 Colin Watson <cjwatson@ubuntu.com>
3806
3807 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
3808 after setting gfxterm as the active terminal. GRUB_BACKGROUND
3809 doesn't work otherwise.
3810
e75056f1
CW
38112010-07-05 Colin Watson <cjwatson@ubuntu.com>
3812
3813 * docs/grub.texi (Features): Update list of supported file systems.
3814 (GNU/Linux): Update for GRUB 2.
3815 (Serial terminal): Remove mention of --disable-serial, which was a
3816 GRUB Legacy configure option. Update instructions to use
3817 `terminal_input' and `terminal_output' rather than `terminal'.
3818 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
3819 configuration' and `Installing GRUB using grub-install'.
3820 (Menu entry editor): Update for GRUB 2.
3821 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
3822 Document new -a, -u, and -v options.
3823 (initrd): New section.
3824 (initrd16): New section.
3825 (linux): New section.
3826 (linux16): New section.
3827 (search): The `var' argument to `--set' is optional.
3828 (GRUB only offers a rescue shell): Go into a little more detail on
3829 drive ordering.
3830
5cf69151
CW
38312010-07-05 Colin Watson <cjwatson@ubuntu.com>
3832
3833 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
3834
e3f90044
CW
38352010-07-05 Colin Watson <cjwatson@ubuntu.com>
3836
3837 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
3838 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
3839
38d8f4f3
CW
38402010-07-05 Colin Watson <cjwatson@ubuntu.com>
3841
3842 * util/i386/pc/grub-setup.c (setup): Rename prefix to
3843 install_prefix, in line with install_dos_part and install_bsd_part.
3844 Add new prefix variable, which is copied to install_prefix after
3845 comparing core.img in memory with the one read from disk in the
3846 no-embedding case, and use that rather than overwriting
3847 install_prefix immediately when installing to a partition.
3848 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
3849 Bicakci.
3850
57ebd41e
GS
38512010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
3852
3853 * configure.ac: Avoid == in test command, it's not portable.
3854 * util/grub.d/30_os-prober.in: Likewise.
3855
cb7f64b2
CW
38562010-07-04 Colin Watson <cjwatson@ubuntu.com>
3857
3858 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
3859
6b654bb0
GS
38602010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
3861
3862 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
3863 multiple (top-level) partmaps.
3864
72a2026d
VS
38652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 3868 Reported by: Tino Keitel.
72a2026d 3869
df3eb88f
VS
38702010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 Bidi and diacritics support.
3873
3874 * Makefile.in (widthspec.bin): New target.
3875 (widthspec.h): Likewise.
3876 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
3877 * autogen.sh: Generate unidata.c.
3878 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
3879 * commands/ls.c (grub_ls_list_devices): Likewise.
3880 (grub_ls_list_files): Likewise.
3881 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
3882 (grub_mini_cmd_lsmod): Likewise.
3883 * commands/read.c: Likewise.
3884 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
3885 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
3886 * lib/arg.c (grub_arg_show_help): Likewise.
3887 * lib/crypto.c (grub_password_get): Likewise.
3888 * normal/auth.c (grub_username_get): Likewise.
3889 * normal/misc.c (grub_normal_print_device_info): Likewise.
3890 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
3891 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
3892 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
3893 (normal/charset.c_DEPENDENCIES): New variable.
3894 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
3895 (pkglib_MODULES): Remove charset.mod.
3896 (charset_mod_SOURCES): Removed.
3897 (charset_mod_CFLAGS): Likewise.
3898 (charset_mod_LDFLAGS): Likewise.
3899 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
3900 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
3901 and term/tparm.c.
3902 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
3903 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
3904 (kernel_img_HEADERS): Add terminfo.h.
3905 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
3906 Fill ->font. Reverse ascii bitmaps.
3907 (grub_font_get_xheight): New function.
3908 * font/font.c (grub_font_get_string_width): Moved from here ...
3909 * gfxmenu/font.c (grub_font_get_string_width): ... here.
3910 * font/font.c (grub_font_draw_string): Moved from here ...
3911 * gfxmenu/font.c (grub_font_draw_string): ... here.
3912 * font/font.c (grub_font_dup_glyph): New function.
3913 (grub_font_blit_glyph): Likewise.
3914 (grub_font_blit_glyph_mirror): Likewise.
3915 (blit_comb): Likewise.
3916 (grub_font_construct_dry_run): Likewise.
3917 (grub_font_get_constructed_device_width): Likewise.
3918 (grub_font_construct_glyph): Likewise.
3919 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
3920 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
3921 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
3922 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
3923 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
3924 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
3925 (grub_font_get_xheight): New proto.
3926 (grub_font_get_constructed_device_width): Likewise.
3927 (grub_font_construct_glyph): Likewise.
3928 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
3929 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
3930 * include/grub/font.h (grub_font_draw_string): Moved from here ...
3931 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
3932 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
3933 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
3934 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
3935 (grub_console_getcharwidth): Likewise.
3936 * include/grub/misc.h (grub_xputs): New proto.
3937 (grub_puts): Inlined.
3938 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
3939 (grub_normal_get_line_counter): Removed.
3940 (grub_install_newline_hook): Likewise.
3941 (grub_normal_get_char_counter): New proto.
3942 (grub_normal_reset_more): Likewise.
3943 (grub_xputs_normal): Likewise.
3944 * include/grub/powerpc/ieee1275/console.h: Removed.
3945 * include/grub/sparc64/ieee1275/console.h: Likewise.
3946 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
3947 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
3948 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
3949 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
3950 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
3951 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
3952 (grub_term_input): Pass reference to self. All users updated.
3953 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
3954 Pass reference to self. New fields normal_color, highlight_color and
3955 data. All users updated.
3956 (grub_putchar): Removed.
3957 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
3958 (grub_unicode_estimate_width): New function.
3959 (grub_term_getcharwidth): Add defaults.
3960 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
3961 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
3962 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
3963 (grub_cls): Remove EXPORT_FUNC.
3964 (grub_setcolorstate): Inline.
3965 (grub_newline_hook): Removed.
3966 * include/grub/terminfo.h: Rewritten. All users updated.
3967 * include/grub/unicode.h: New file.
3968 * include/grub/video.h (grub_video_signed_rect): New type.
3969 * kern/emu/console.c (grub_console_highlight_color): Removed.
3970 (grub_console_normal_color): Likewise.
3971 (grub_console_standard_color): Made static.
3972 (grub_ncurses_putchar): Remove mapping.
3973 (grub_ncurses_getcharwidth): Removed.
3974 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
3975 (grub_ncurses_setcolor): Removed.
3976 (grub_ncurses_getcolor): Likewise.
3977 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
3978 (grub_console_putchar): ... this.
3979 (grub_console_putchar): Handle argument difference.
3980 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
3981 console_init_early and console_init_lately.
3982 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
3983 * kern/misc.c (grub_puts): Removed.
3984 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
3985 (grub_vsnprintf_real): Remove str = NULL support.
3986 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
3987 * normal/charset.c (grub_utf8_to_ucs4): ... here.
3988 * kern/term.c (grub_putcode): Renamed to ...
3989 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
3990 (grub_putchar): Removed.
3991 (grub_xputs_dumb): New function.
3992 (grub_xputs): New variable.
3993 * lib/charset.c: Move from here ...
3994 * normal/charset.c: ... to here.
3995 (grub_ucs4_to_utf8): New function.
3996 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
3997 (join_types): New variable.
3998 (unpack_join): New function.
3999 (bidi_types): New variable.
4000 (unpack_bidi): New function.
4001 (get_bidi_type): Likewise.
4002 (get_join_type): Likewise.
4003 (is_mirrored): Likewise.
4004 (grub_unicode_get_comb_type): Likewise.
4005 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
4006 (is_type_after): Likewise.
4007 (grub_unicode_aglomerate_comb): Likewise.
4008 (bidi_line_wrap): Likewise.
4009 (grub_bidi_line_logical_to_visual): Likewise.
4010 (grub_bidi_logical_to_visual): Likewise.
4011 (grub_unicode_mirror_code): Likewise.
4012 (grub_unicode_shape_code): Likewise.
4013 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
4014 Don't use grub_putchar.
4015 * normal/main.c (grub_normal_init_page): Use grub_putcode.
4016 (grub_normal_reader_init): Likewise.
4017 (grub_xputs_saved): New variable.
4018 (GRUB_MOD_INIT): Set grub_xputs.
4019 (GRUB_MOD_FINI): Restore grub_xputs.
4020 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
4021 (menu_init): Avoid printing gfxmenu error.
4022 (show_menu): Use grub_normal_get_char_counter.
4023 * normal/menu_entry.c (update_screen): Fix out-of-array.
4024 (complete): Avoid NULL dereferencing.
4025 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
4026 * normal/menu_text.c (print_spaces): Removed.
4027 (grub_print_ucs4): Likewise.
4028 (grub_print_message_indented): Use grub_print_ucs4.
4029 (print_message): Use grub_putcode.
4030 (print_entry): Hanlde diacritics.
4031 * normal/term.c (term_state): New type.
4032 (grub_more_lines): Removed.
4033 (term_states): New variable.
4034 (grub_normal_line_counter): Renamed to ..
4035 (grub_normal_char_counter): ...this. All users updated.
4036 (grub_normal_get_line_counter): Renamed to ...
4037 (grub_normal_get_char_counter): ... this.
4038 (grub_normal_reset_more): New function.
4039 (process_newline): Removed.
4040 (print_more): New function.
4041 (grub_install_newline_hook): Removed.
4042 (map_code): New function.
4043 (grub_puts_terminal): Use grub_print_ucs4.
4044 (putglyph): New function.
4045 (putcode_real): Likewise.
4046 (grub_putcode): Use putcode_real.
4047 (get_maxwidth): New function.
4048 (get_startwidth): Likewise.
4049 (print_ucs4_terminal): Likewise.
4050 (find_term_state): Likewise.
4051 (put_glyphs_terminal): Likewise.
4052 (print_backlog): Likewise.
4053 (print_ucs4_real): Likewise.
4054 (grub_print_ucs4): Likewise.
4055 (grub_xputs_normal): Likewise.
4056 * term/efi/console.c (grub_console_putchar): Output diacritics.
4057 (grub_console_getcharwidth): Removed.
4058 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4059 * term/gfxterm.c (clear_char): Free chars.
4060 (scroll_up): Avoid leaking memory.
4061 (grub_gfxterm_putchar): Support diacritics.
4062 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4063 * term/i386/pc/console.c (grub_console_term_output): Declare as
4064 GRUB_TERM_CODE_TYPE_VGA.
4065 * term/i386/pc/vga.c (grub_vga_term): Declare as
4066 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
4067 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
4068 GRUB_TERM_CODE_TYPE_VGA.
4069 * term/i386/vga_common.c (map_char): Removed.
4070 (grub_console_putchar): Likewise.
4071 (grub_console_getcharwidth): Likewise.
4072 * term/ieee1275/ofconsole.c: Simplify using terminfo.
4073 (colors): Reordered to match terminfo.
4074 (grub_ofconsole_normal_color): Removed.
4075 (grub_ofconsole_writeesc): Likewise.
4076 (grub_ofconsole_highlight_color): Likewise.
4077 (grub_ofconsole_getcharwidth): Likewise.
4078 (grub_ofconsole_setcolorstate): Likewise.
4079 (grub_ofconsole_setcolor): Likewise.
4080 (grub_ofconsole_getcolor): Likewise.
4081 (grub_ofconsole_readkey): Renamed to ...
4082 (readkey): ... this. Remove escape sequence handling. Return -1 on no
4083 key.
4084 (grub_ofconsole_checkkey): Removed.
4085 (grub_ofconsole_getkey): Likewise.
4086 (grub_ofconsole_getxy): Likewise.
4087 (grub_ofconsole_gotoxy): Likewise.
4088 (grub_ofconsole_cls): Likewise.
4089 (grub_ofconsole_refresh): Likewise.
4090 (grub_ofconsole_terminfo_input): New struct.
4091 (grub_ofconsole_terminfo_output): Likewise.
4092 (grub_ofconsole_term_input): Use terminfo.
4093 (grub_ofconsole_term_output): Likewise.
4094 (grub_console_init): Split into ...
4095 (grub_console_init_early): ...this and ...
4096 (grub_console_init_lately): ...this. Use terminfo.
4097 (grub_ofconsole_putchar): Renamed to ...
4098 (put): ... this. Remove mapping.
4099 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4100 * term/serial.c: Simplify using terminfo.
4101 (xpos): Removed.
4102 (ypos): Likewise.
4103 (keep_track): Likewise.
4104 (registered): Likewise.
4105 (input_buf): Likewise.
4106 (npending): Likewise.
4107 (serial_translate_key_sequence): Likewise.
4108 (fill_input_buf): Likewise.
4109 (grub_serial_checkkey): Likewise.
4110 (grub_serial_getkey): Likewise.
4111 (grub_serial_getxy): Likewise.
4112 (grub_serial_gotoxy): Likewise.
4113 (grub_serial_putchar): Likewise.
4114 (grub_serial_cls): Likewise.
4115 (grub_serial_setcolorstate): Likewise.
4116 (grub_serial_setcursor): Likewise.
4117 (serial_hw_init): Use serial_hw_fetch.
4118 (grub_serial_terminfo_input): New variable.
4119 (grub_serial_terminfo_output): Likewise.
4120 (grub_serial_term_input): Use terminfo.
4121 (grub_serial_term_output): Likewise.
4122 * term/terminfo.c (putstr): Use put.
4123 (grub_terminfo_all_free): New function
4124 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
4125 (grub_terminfo_output_register): New function.
4126 (grub_terminfo_output_unregister): Likewise.
4127 (grub_terminfo_getxy): Likewise.
4128 (grub_terminfo_readkey): Likewise.
4129 (grub_terminfo_checkkey): Likewise.
4130 (grub_terminfo_getkey): Likewise.
4131 (grub_terminfo_input_init): Likewise.
4132 (print_terminfo): Likewise.
4133 (grub_cmd_terminfo): Handle encoding.
4134 (grub_terminfo_gotoxy): Track position.
4135 (grub_terminfo_cls): Likewise.
4136 (grub_terminfo_putchar): Likewise.
4137 (grub_terminfo_setcolorstate): Handle colors
4138 (grub_terminfo_cursor_on): This ...
4139 (grub_terminfo_cursor_off): ... and this merged into ...
4140 (grub_terminfo_setcursor): ... this.
4141 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
4142 * unicode/ArabicShaping.txt: New file (imported from Unicode).
4143 * unicode/BidiMirroring.txt: Likewise.
4144 * unicode/UnicodeData.txt: Likewise.
4145 * unicode/COPYING: Likewise.
4146 * util/grub-editenv.c (grub_putchar): Removed.
4147 (grub_xputs_real): New function.
4148 (grub_xputs): New variable.
4149 * util/grub-fstest.c (grub_putchar): Removed.
4150 (grub_xputs_real): New function.
4151 (grub_xputs): New variable.
4152 * util/grub-mkdevicemap.c (grub_putchar): Removed.
4153 (grub_xputs_real): New function.
4154 (grub_xputs): New variable.
4155 * util/grub-probe.c (grub_putchar): Removed.
4156 (grub_xputs_real): New function.
4157 (grub_xputs): New variable.
4158 * util/grub-script-check.c (grub_putchar): Removed.
4159 (grub_xputs_real): New function.
4160 (grub_xputs): New variable.
4161 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
4162 (grub_xputs_real): New function.
4163 (grub_xputs): New variable.
4164 * util/import_unicode.py: New file.
4165 * util/grub-mkfont.c (ft_errmsgs): New array.
4166 (grub_glyph_info): Make bitmap a pointer.
4167 (file_formats): New type WIDTH_SPEC.
4168 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
4169 (options): Add width-spec.
4170 (help): Likewise.
4171 (add_char): Renamed to ...
4172 (add_glyph): ... this.
4173 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
4174 (glyph_replace): New type.
4175 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
4176 (add_char): New function.
4177 (add_subst): Likewise.
4178 (process_cursive): Likewise.
4179 (add_font): Handle GSUB.
4180 (write_font_width_spec): New function.
4181 (main): Sort glyphs.
4182 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
4183 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
4184 * kern/term.c (grub_cls): Moved from here...
4185 * normal/term.c (grub_cls): ... here.
4186
50f0bcda
CW
41872010-07-02 Colin Watson <cjwatson@ubuntu.com>
4188
4189 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
4190 suitable for using within the format argument of printf when
4191 converting grub_size_t.
4192 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
4193 "x" to convert grub_size_t arguments.
4194
40372103
VS
41952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
4198 too long captions.
4199 (list_get_minimal_size): Take selection box into account.
4200
942a10c7
VS
42012010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
4204 NULL font.
4205
2bdb2892
CW
42062010-07-02 Colin Watson <cjwatson@ubuntu.com>
4207
4208 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
4209 devices when iterating over /dev/disk/by-id; they will be handled
4210 later if appropriate, which they aren't always (e.g. LVM).
4211
e03ed6c1
CW
42122010-07-02 Colin Watson <cjwatson@ubuntu.com>
4213
4214 * include/grub/misc.h (grub_reboot): Declare as noreturn.
4215 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
4216 fails.
4217 (grub_halt): Likewise.
4218 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
4219 reset-all fails.
4220 (grub_halt): Don't return, even if all of shut-down, power-off, and
4221 poweroff fail.
4222
47695765
CW
42232010-07-02 Colin Watson <cjwatson@ubuntu.com>
4224
4225 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
4226 arguments, not three.
4227
507736c8
CW
42282010-07-02 Colin Watson <cjwatson@ubuntu.com>
4229
4230 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
4231 * util/grub.d/10_linux.in: Use it to check for LVM, so that
4232 LVM-on-RAID is handled correctly.
4233
e3c8cd37
CW
42342010-07-02 Colin Watson <cjwatson@ubuntu.com>
4235
4236 * docs/grub.texi (Changes from GRUB Legacy): New section.
4237 (Future): Fix typo.
4238
8d4a2fec
CW
42392010-07-02 Colin Watson <cjwatson@ubuntu.com>
4240
4241 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
4242 grub.d/README accidentally ends up executable for one reason or
4243 another. Ignore it.
4244
1c4827be
VS
42452010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
4248 (gpt_partition_map_iterate): Support non-512B sectors.
4249
d9a0c941
VS
42502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * kern/efi/init.c (grub_efi_init): Disable watchdog.
4253 Tested by: Seth Goldberg.
4254
48f27e87
VS
42552010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
4258 Properly align mbi.
4259 Reported by: Seth Goldberg.
4260
b0c4f956
VS
42612010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * util/grub-mkrescue.in: Avoid module duplication.
4264
105a2e8c
SF
42652010-07-01 Sean Finney <seanius@seanius.net>
4266
4267 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
4268
5944958c
SF
42692010-07-01 Sean Finney <seanius@seanius.net>
4270
4271 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
4272
42732010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * disk/lvm.c (grub_lvm_checkvalue): New function.
4276 (grub_lvm_check_flag): Likewise.
4277
b79889ba
RM
42782010-07-01 Robert Millan <rmh@gnu.org>
4279
4280 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
4281 Support 'p' as partition separator on kernel of FreeBSD (used
4282 with GPT labels).
4283 (grub_util_biosdisk_get_grub_dev): Likewise.
4284
ec1d04f1
VS
42852010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 Yeeloong firmware port.
4288
4289 * boot/mips/yeeloong/fwstart.S: New file.
4290 * bus/cs5536.c (gpiodump): New const.
4291 (set_io_space): New function.
4292 (set_iod): Likewise.
4293 (set_p2d): Likewise.
4294 (grub_cs5536_init_geode): Likewise.
4295 * commands/mips/yeeloong/lsspd.c: New file.
4296 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
4297 (serial_mod_SOURCES): New variable.
4298 (serial_mod_CFLAGS): Likewise.
4299 (serial_mod_LDFLAGS): Likewise.
4300 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
4301 term/terminfo.c and term/tparm.c.
4302 (pkglib_IMAGES): Add fwstart.img.
4303 (fwstart_img_SOURCES): New variable.
4304 (fwstart_img_CFLAGS): Likewise.
4305 (fwstart_img_ASFLAGS): Likewise.
4306 (fwstart_img_LDFLAGS): Likewise.
4307 (fwstart_img_FORMAT): Likewise.
4308 (pkglib_MODULES): Add lsspd.mod.
4309 (lsspd_mod_SOURCES): New variable.
4310 (lsspd_mod_CFLAGS): Likewise.
4311 (lsspd_mod_LDFLAGS): Likewise.
4312 (pkglib_MODULES): Add halt.mod.
4313 (halt_mod_SOURCES): New variable.
4314 (halt_mod_CFLAGS): Likewise.
4315 (halt_mod_LDFLAGS): Likewise.
4316 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
4317 (serial_mod_SOURCES): Removed.
4318 (serial_mod_CFLAGS): Likewise.
4319 (serial_mod_LDFLAGS): Likewise.
4320 * disk/ata.c (check_device): New function.
4321 (grub_ata_device_initialize): Use check_device.
4322 (grub_ata_iterate): Recheck devices.
4323 (grub_ata_open): Likewise.
4324 (grub_atapi_iterate): Likewise.
4325 (grub_atapi_open): Likewise.
4326 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
4327 (GRUB_ATA_CH1_PORT1): Likewise.
4328 (GRUB_ATA_CH0_PORT2): Likewise.
4329 (GRUB_ATA_CH1_PORT2): Likewise.
4330 * include/grub/mips/loongson.h: New file.
4331 * include/grub/mips/yeeloong/ec.h: Likewise.
4332 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
4333 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
4334 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
4335 * include/grub/misc.h (grub_halt): Declare as noreturn.
4336 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
4337 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
4338 (UART_ENABLE_FIFO_TRIGGER1): New definition.
4339 (UART_ENABLE_DTRRTS): Likewise.
4340 (UART_ENABLE_MODEM): Removed.
4341 (UART_ENABLE_OUT2): New const.
4342 * include/grub/term.h (grub_term_register_input_active): New function.
4343 (grub_term_register_output_active): Likewise.
4344 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
4345 argument.
4346 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
4347 (init_pci): New function.
4348 (grub_machine_init): Execute platform init when firmware. Init serial.
4349 (grub_halt): Implement.
4350 (grub_exit): Likewise.
4351 (grub_reboot): Likewise.
4352 * term/serial.c (serial_hw_init): Update macros.
4353 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
4354 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
4355 (image_targets): New target mipsel-yeeloong-flash.
4356 (generate_image): Support IMAGE_YEELOONG_FLASH.
4357 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
4358 (grub_video_sm712_setup): Init card.
4359 (grub_video_sm712_set_palette): Removed.
4360 * video/sm712_init.c: New file.
4361
ff4a70d2
CW
43622010-06-30 Colin Watson <cjwatson@ubuntu.com>
4363
4364 * Makefile.in (install-local): Temporarily prepend $(builddir) to
4365 PATH when running help2man and then run it on the unadorned
4366 executable names, rather than passing $(builddir)/* paths to
4367 help2man. This avoids the build directory ending up in generated
4368 manual pages.
4369
1246efeb
CW
43702010-06-29 Colin Watson <cjwatson@ubuntu.com>
4371
4372 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
4373 to avoid accidents when debugging with 'sh -x'.
4374 * util/grub-mkrescue.in: Likewise.
4375 * util/grub.d/00_header.in: Likewise.
4376 * util/grub.d/10_hurd.in: Likewise.
4377 * util/grub.d/10_kfreebsd.in: Likewise.
4378 * util/grub.d/10_linux.in: Likewise.
4379 * util/grub.d/10_netbsd.in: Likewise.
4380 * util/grub.d/10_windows.in: Likewise.
4381 * util/grub.d/20_linux_xen.in: Likewise.
4382 * util/grub.d/30_os-prober.in: Likewise.
4383 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4384
1ba9b889
CW
43852010-06-29 Colin Watson <cjwatson@ubuntu.com>
4386
4387 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
4388 last character in the buffer.
4389 Reported by: Vladimir Serbinenko.
4390
dccaf99d
RM
43912010-06-29 Robert Millan <rmh@gnu.org>
4392
4393 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
4394 (Command-line and menu entry commands): Document `badram' command.
4395
d500ed12
RM
43962010-06-28 Robert Millan <rmh@gnu.org>
4397
4398 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
4399 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
4400 command using ${GRUB_BADRAM} as parameter.
4401
20bc84a6
CW
44022010-06-28 Colin Watson <cjwatson@ubuntu.com>
4403
4404 * docs/grub.texi (Device map): New section.
4405 (Themes): New section (stub).
4406 * Makefile.in (docs/grub.info): The info documentation now builds
4407 without errors. Make sure it stays that way.
4408
4045dee1
VS
44092010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 Use normal parser for menu entries.
4412 Reported by: Thomas Frauendorfer
4413
4414 * include/grub/parser.h (grub_parser_execute): Don't export.
4415 * normal/menu.c (grub_menu_execute_entry_real): New function.
4416 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
4417
bca58c7b
CW
44182010-06-28 Colin Watson <cjwatson@ubuntu.com>
4419
4420 * docs/grub.texi (Embedded configuration): New section (replacing
4421 old "Preset Menu" stub).
4422 (Images): New section.
4423 (configfile): Note that any menu entries defined in `file' are shown
4424 immediately.
4425
dec53e63
JT
44262010-06-28 Josh Triplett <josh@joshtriplett.org>
4427
4428 * mmap/i386/pc/mmap_helper.S: Set CF on return.
4429
c06e40f7
CW
44302010-06-28 Colin Watson <cjwatson@ubuntu.com>
4431
4432 * util/grub-install.in: Add --debug-image= option.
4433
cb88052b
CW
44342010-06-28 Colin Watson <cjwatson@ubuntu.com>
4435
4436 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
4437 possible on Linux.
4438
4439 * util/deviceiter.c (check_device): Rename to ...
4440 (check_device_readable_unique): ... this. Update all callers.
4441 Maintain and check a list of which devices (by canonicalized name)
4442 have already been seen.
4443 (clear_seen_devices): New function.
4444 (compare_file_names) [__linux__]: New function.
4445 (grub_util_iterate_devices): Clear the list of seen devices on exit
4446 and (just in case) on entry.
4447 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
4448 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
4449 seen-devices list, superseded by general code in check_device.
4450
bbe34652
CW
44512010-06-28 Colin Watson <cjwatson@ubuntu.com>
4452
4453 * commands/cat.c (options): New variable.
4454 (grub_cmd_cat): Parse options. If the --dos option is given, print
4455 DOS-style "\r\n" line endings as simple newlines (Debian bug
4456 #586358).
4457 (GRUB_MOD_INIT): Use extcmd.
4458 (GRUB_MOD_FINI): Likewise.
4459 * docs/grub.texi (cat): Document --dos.
4460
412e09f3
VS
44612010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 XEN with Linux grub-mkconfig support.
4464
4465 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
4466 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
4467 GRUB_CMDLINE_XEN_DEFAULT.
4468 * util/grub.d/20_linux_xen.in: New file.
4469
53f3ef38 44702010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
4471
4472 Initialise VGA video on qemu ourselves.
4473
4474 * boot/i386/qemu/boot.S: Don't call 0xc000.
4475 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
4476 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
4477 (kernel_img_HEADERS): Add pci.h.
4478 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
4479 * configure.ac: Force unifont on qemu and yeeloong.
4480 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
4481 (grub_vga_palette_write): Use correct register.
4482 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
4483 Call grub_qemu_init_cirrus.
4484 * kern/i386/qemu/init.c: New file.
4485 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
4486
4487 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
4488
c75be4fb
PR
44892010-06-26 Pavel Roskin <proski@gnu.org>
4490
4491 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
4492 13.
4493
d8034603
CW
44942010-06-26 Colin Watson <cjwatson@ubuntu.com>
4495
4496 * docs/grub.texi (Simple configuration): Explain that
4497 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
4498 set to `true' to disable their respective recovery entries, not
4499 merely set.
4500
3fa06487
CW
45012010-06-26 Colin Watson <cjwatson@ubuntu.com>
4502
4503 Make the `source' command slightly faster.
4504
4505 * normal/main.c (grub_normal_execute): Don't re-read list files when
4506 nested.
4507
e9b29642
CW
45082010-06-23 Colin Watson <cjwatson@ubuntu.com>
4509
4510 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
4511 field position and mask size to red fields from mode_info, not
4512 green.
4513 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
4514 Remove redundant tag->common.framebuffer_type assignment.
4515 Reported by: Seth Goldberg.
4516
e726542f
CW
45172010-06-23 Colin Watson <cjwatson@ubuntu.com>
4518
4519 Sync up other versions of the Linux loader with Robert Millan's
4520 change of 2010-01-09, "Make loader output a bit more user-friendly".
4521
4522 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
4523 grub_dprintf().
4524 (grub_cmd_linux): Likewise.
4525 (grub_cmd_initrd): Likewise.
4526 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
4527 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4528
d6e98a17
CW
45292010-06-21 Colin Watson <cjwatson@ubuntu.com>
4530
4531 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
4532 larger than MEMORY_MAP_SIZE.
4533
14d3f08e
BC
45342010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
4535
4536 Fix parallel build.
4537
4538 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
4539 dependency.
4540 * script/parser.y: #include grub_script.tab.h header.
4541
4f9613a3
VS
45422010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 Support >3GiB and <16MiB RAM in i386-qemu.
4545
4546 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
4547 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
4548 (grub_lower_mem): Removed.
4549 (grub_upper_mem): Likewise.
4550 (mem_size): Made static.
4551 (above_4g): New variable.
4552 (grub_machine_mmap_init): Detect small mem_size and above_4g.
4553 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
4554 support.
4555
05e51879
VS
45562010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 Cirrus 5446 and Bochs video cards support.
4559
4560 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
4561 video_bochs.mod
4562 (video_cirrus_mod_SOURCES): New variable.
4563 (video_cirrus_mod_CFLAGS): Likewise.
4564 (video_cirrus_mod_LDFLAGS): Likewise.
4565 (video_bochs_mod_SOURCES): Likewise.
4566 (video_bochs_mod_CFLAGS): Likewise.
4567 (video_bochs_mod_LDFLAGS): Likewise.
4568 * include/grub/vga.h: New file.
4569 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
4570 (grub_video_fb_set_page_t): New type.
4571 (grub_video_fb_setup): New prototype.
4572 (grub_video_fb_swap_buffers): Likewise.
4573 (grub_video_fb_get_info_and_fini): Likewise.
4574 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
4575 (CRTC_DATA_PORT): Likewise.
4576 (CRTC_CURSOR): Likewise.
4577 (CRTC_CURSOR_ADDR_HIGH): Likewise.
4578 (CRTC_CURSOR_ADDR_LOW): Likewise.
4579 (CRTC_CURSOR_DISABLE): Likewise.
4580 (update_cursor): Use grub_vga_cr_write.
4581 (grub_vga_text_setcursor): Likewise.
4582 * video/bochs.c: New file.
4583 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
4584 (palette): Likewise.
4585 (palette_size): Likewise.
4586 (framebuffer): New variable.
4587 (grub_video_fb_init): Use 'framebuffer'.
4588 (grub_video_fb_fini): Likewise.
4589 (grub_video_fb_get_info): Likewise.
4590 (grub_video_fb_get_palette): Likewise.
4591 (grub_video_fb_set_palette): Likewise.
4592 (grub_video_fb_set_viewport): Likewise.
4593 (grub_video_fb_get_viewport): Likewise.
4594 (grub_video_fb_map_color): Likewise.
4595 (grub_video_fb_map_rgb): Likewise.
4596 (grub_video_fb_map_rgba): Likewise.
4597 (grub_video_fb_unmap_color): Likewise.
4598 (grub_video_fb_unmap_color_int): Likewise.
4599 (grub_video_fb_fill_rect): Likewise.
4600 (grub_video_fb_blit_bitmap): Likewise.
4601 (grub_video_fb_blit_render_target): Likewise.
4602 (grub_video_fb_scroll): Likewise.
4603 (grub_video_fb_create_render_target): Likewise.
4604 (grub_video_fb_doublebuf_blit_init): Likewise.
4605 (grub_video_fb_set_active_render_target): Handle doublebuffering.
4606 (doublebuf_pageflipping_update_screen): New function.
4607 (doublebuf_pageflipping_init): Likewise.
4608 (grub_video_fb_setup): Likewise.
4609 (grub_video_fb_swap_buffers): Likewise.
4610 (grub_video_fb_get_info_and_fini): Likewise.
4611 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
4612 All users updated.
4613 (doublebuf_pageflipping_commit): Restructured into ...
4614 (doublebuf_pageflipping_set_page): ... this.
4615 (doublebuf_pageflipping_update_screen): Removed.
4616 (doublebuf_pageflipping_init): Likewise.
4617 (double_buffering_init): Likewise.
4618 (grub_video_vbe_setup): Use grub_video_fb_setup.
4619 (grub_video_vbe_swap_buffers): Removed.
4620 (grub_video_vbe_set_active_render_target): Likewise.
4621 (grub_video_vbe_get_active_render_target): Likewise.
4622 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
4623 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
4624 grub_video_fb_set_active_render_target and
4625 grub_video_fb_get_active_render_target.
4626 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
4627 (SEQUENCER_DATA_PORT): Likewise.
4628 (MAP_MASK_REGISTER): Likewise.
4629 (CRTC_ADDR_PORT): Likewise.
4630 (CRTC_DATA_PORT): Likewise.
4631 (START_ADDR_HIGH_REGISTER): Likewise.
4632 (START_ADDR_LOW_REGISTER): Likewise.
4633 (GRAPHICS_ADDR_PORT): Likewise.
4634 (GRAPHICS_DATA_PORT): Likewise.
4635 (READ_MAP_REGISTER): Likewise.
4636 (INPUT_STATUS1_REGISTER): Likewise.
4637 (INPUT_STATUS1_VERTR_BIT): Likewise.
4638 (get_map_mask): Use grub_vga_sr_read.
4639 (set_map_mask): Use grub_vga_sr_write.
4640 (set_read_map): Use grub_vga_gr_write.
4641 (set_start_address): Use grub_vga_cr_write.
4642 * video/sm712.c (framebuffer): Remove leftover fields.
4643
4321c64a
CW
46442010-06-20 Colin Watson <cjwatson@ubuntu.com>
4645
4646 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
4647 setting GRUB_VIDEO_BACKEND. Make it available as a user override
4648 instead. Replace the gfxterm backend check with a check that
4649 ${GRUB_PREFIX}/video.lst is non-empty.
4650 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
4651 again.
4652 (load_video): New generated function. Call it before loading
4653 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
4654 * util/grub.d/10_linux.in (linux_entry): Call load_video.
4655 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
4656 * docs/grub.texi (Simple configuration): Document
4657 GRUB_VIDEO_BACKEND.
4658
46592010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 Use video functions in linux and xnu loaders.
4662
4663 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
4664 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
4665 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
4666 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
4667 loader/i386/pc/linux.c.
4668 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
4669 (find_line_len): Removed.
4670 (find_framebuf): Likewise.
4671 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
4672 * loader/i386/efi/xnu.c: Removed.
4673 * loader/i386/pc/xnu.c: Moved from here...
4674 * loader/i386/xnu.c: ...here.
4675
4676 Enable priorities in video drivers.
4677
4678 * include/grub/video.h (grub_video_adapter_prio_t): New type.
4679 (grub_video_adapter): New field prio.
4680 (grub_video_register): Respect prio when inserting.
4681 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
4682 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
4683 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
4684 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
4685 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
4686 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
4687 * video/sm712.c (grub_video_sm712_adapter): Likewise.
4688
4689 Fix SDL driver ID.
4690
4691 * include/grub/video.h (grub_video_driver_id_t): New value
4692 GRUB_VIDEO_DRIVER_SDL.
4693 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
4694
7d24e434
CW
46952010-06-17 Colin Watson <cjwatson@ubuntu.com>
4696
4697 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
4698 argument to printf.
4699 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
4700
c88a83f6
CW
47012010-06-17 Colin Watson <cjwatson@ubuntu.com>
4702
4703 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
4704 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
4705
094dfb69
CW
47062010-06-17 Colin Watson <cjwatson@ubuntu.com>
4707
4708 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
4709 directly, and recommend grub-install instead.
4710 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
4711
2164da6b
CW
47122010-06-17 Colin Watson <cjwatson@ubuntu.com>
4713
4714 Fix i386-pc prefix handling with nested partitions (Debian bug
4715 #585068). Note that the case where the core image is booted using
4716 multiboot and relocated from its original location still requires
4717 more work.
4718
4719 * kern/i386/pc/init.c (make_install_device): If the prefix starts
4720 with "(,", fill the boot drive in between those two characters, but
4721 expect that a full partition specification including partition map
4722 names will follow.
4723 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
4724 specified, write a prefix without the drive name but including a
4725 full partition specification.
4726
044e2e60
CW
47272010-06-16 Colin Watson <cjwatson@ubuntu.com>
4728
4729 * util/grub-mkconfig.in: Ignore non-option arguments, for
4730 compatibility with older versions (before 2010-06-12) which did the
4731 same. In particular, this makes it easier to ship an update-grub
4732 wrapper which is compatible with that used with GRUB Legacy (Debian
4733 bug #586056).
4734
5591324f
GS
47352010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4736
4737 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
4738 for manual page generation.
4739
662e24d5
GS
47402010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4741
4742 * po/POTFILES: Remove leftover commands/handler.c.
4743
8d70754e
CW
47442010-06-14 Colin Watson <cjwatson@ubuntu.com>
4745
4746 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
4747 left this script non-functional.
4748
41160e2e
CW
47492010-06-14 Colin Watson <cjwatson@ubuntu.com>
4750
4751 * docs/man/grub-emu.h2m: New file.
4752
b5309cc1
CW
47532010-06-13 Colin Watson <cjwatson@ubuntu.com>
4754
4755 * docs/grub.texi (Commands): Document reduced command set in rescue
4756 mode.
4757 (cpuid): New section.
4758
fcb2d090
GS
47592010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
4760
4761 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
4762 new partition naming style.
4763 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
4764
96e5c556
BC
47652010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
4766
4767 Add "-o grub.iso" like cmdline options support.
4768
4769 * util/grub-install.in: Improve cmdline option parsing.
4770 * util/grub-mkconfig.in: Likewise.
4771 * util/grub-mkrescue.in: Likewise.
4772 * util/grub-reboot.in: Likewise.
4773 * util/grub-set-default.in: Likewise.
4774 * util/i386/efi/grub-install.in: Likewise.
4775 * util/ieee1275/grub-install.in: Likewise.
4776 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4777
c16be99b
CW
47782010-06-12 Colin Watson <cjwatson@ubuntu.com>
4779
4780 * .bzrignore: Ignore 41_custom.
4781
ce08a9fb
TS
47822010-06-12 Thomas Schmitt <scdbackup@gmx.net>
4783
4784 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
4785
7beac90c
CW
47862010-06-12 Colin Watson <cjwatson@ubuntu.com>
4787
4788 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
4789 prototype declarations.
4790
4791 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
4792 generating fs, partmap, and video lists.
4793 * include/grub/fs.h (grub_fs_register): Omit prototype if
4794 GRUB_LST_GENERATOR is defined.
4795 * include/grub/partition.h (grub_partition_map_register): Likewise.
4796 * include/grub/video.h (grub_video_register): Likewise.
4797
1c8f0f8d
JM
47982010-06-12 Javier Martín <lordhabbit@gmail.com>
4799
4800 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
4801
a6085973
TS
48022010-06-12 Thomas Schmitt <scdbackup@gmx.net>
4803
4804 * util/grub-mkrescue.in: Support --xorriso argument.
4805
25c56d29
VS
48062010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
4809 Suggested by: Thomas Schmitt.
4810
e03e4b24
VS
48112010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
4814 Suggested by: Thomas Schmitt.
4815
57711df6
VS
48162010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 custom.cfg support.
4819
4820 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
4821 * util/grub.d/41_custom.in: New file.
4822
ee62c427
CW
48232010-06-12 Colin Watson <cjwatson@ubuntu.com>
4824
4825 * util/grub-mkrescue.in (make_image): Remove sh module, which has
4826 been merged back into normal.
4827
283af07a
CW
48282010-06-11 Colin Watson <cjwatson@ubuntu.com>
4829
4830 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
4831 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
4832
56a0d956
CW
48332010-06-11 Colin Watson <cjwatson@ubuntu.com>
4834
4835 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
4836 when generating manual pages.
4837 * docs/man/grub-bin2h.h2m: New file.
4838 * docs/man/grub-editenv.h2m: New file.
4839 * docs/man/grub-fstest.h2m: New file.
4840 * docs/man/grub-install.h2m: New file.
4841 * docs/man/grub-macho2img.h2m: New file.
4842 * docs/man/grub-mkconfig.h2m: New file.
4843 * docs/man/grub-mkdevicemap.h2m: New file.
4844 * docs/man/grub-mkfont.h2m: New file.
4845 * docs/man/grub-mkimage.h2m: New file.
4846 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
4847 * docs/man/grub-mkrelpath.h2m: New file.
4848 * docs/man/grub-mkrescue.h2m: New file.
4849 * docs/man/grub-ofpathname.h2m: New file.
4850 * docs/man/grub-pe2elf.h2m: New file.
4851 * docs/man/grub-probe.h2m: New file.
4852 * docs/man/grub-reboot.h2m: New file.
4853 * docs/man/grub-script-check.h2m: New file.
4854 * docs/man/grub-set-default.h2m: New file.
4855 * docs/man/grub-setup.h2m: New file.
4856
3a37e322
VS
48572010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 Use FOR_* macros instead of *_iterate whenever possible.
4860
4861 * commands/handler.c: Removed.
4862 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
4863 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
4864 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
4865 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
4866 (grub_probe_SOURCES): Remove kern/parser.c.
4867 (util/grub-script-check.c_DEPENDENCIES): Removed.
4868 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
4869 and grub_script_check_init.c.
4870 (grub_script_check_init.lst): Removed.
4871 (grub_script_check_init.h): Likewise.
4872 (grub_script_check_init.c): Likewise.
4873 (pkglib_MODULES): Remove handler.mod and sh.mod.
4874 (handler_mod_SOURCES): Removed.
4875 (handler_mod_CFLAGS): Likewise.
4876 (handler_mod_LDFLAGS): Likewise.
4877 (normal_mod_SOURCES): Remove normal/handler.c.
4878 Add script/main.c, script/script.c, script/execute.c,
4879 script/function.c, script/lexer.c, grub_script.tab.c
4880 and grub_script.yy.c.
4881 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
4882 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4883 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
4884 (grub_setup_SOURCES): Remove kern/parser.c.
4885 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
4886 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
4887 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
4888 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4889 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4890 (grub_setup_SOURCES): Remove kern/parser.c.
4891 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
4892 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
4893 * include/grub/command.h (grub_command_iterate): Removed.
4894 (FOR_COMMANDS): New macro.
4895 * include/grub/dl.h (grub_dl): New member next.
4896 (grub_dl_iterate): Removed.
4897 (grub_dl_head): New variable declaration.
4898 (FOR_DL_MODULES): New macro.
4899 * include/grub/fs.h: Include list.h.
4900 (grub_fs): Make next first element.
4901 (grub_fs_list): New variable declaration.
4902 (grub_fs_register): Make inline.
4903 (grub_fs_unregister): Likewise.
4904 (grub_fs_iterate): Removed.
4905 (FOR_FILESYSTEMS): New macro.
4906 * include/grub/handler.h: Removed.
4907 * include/grub/list.h (grub_list_hook_t): Removed.
4908 (grub_list_test_t): Likewise.
4909 (grub_list_pop): Likewise.
4910 (grub_list_iterate): Likewise.
4911 (grub_list_insert): Likewise.
4912 (FOR_LIST_ELEMENTS): New macro.
4913 * include/grub/parser.h (grub_parser_class): Removed.
4914 (grub_parser_register): Likewise.
4915 (grub_parser_unregister): Likewise.
4916 (grub_parser_get_current): Likewise.
4917 (grub_parser_set_current): Likewise.
4918 (grub_register_rescue_parser): Likewise.
4919 (grub_rescue_parse_line): New function.
4920 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
4921 * include/grub/script_sh.h (grub_script_function_list): New variable
4922 declaration.
4923 (FOR_SCRIPT_FUNCTIONS): New macro.
4924 (grub_script_function_iterate): Removed.
4925 (grub_normal_parse_line): New prototype.
4926 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
4927 (FOR_DISABLED_TERM_INPUTS): Likewise.
4928 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
4929 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
4930 * include/grub/video.h (grub_video_adapter): Move 'next' to first
4931 element.
4932 (grub_video_register): Inline.
4933 (grub_video_unregister): Likewise.
4934 (grub_video_adapter_list): New variable declaration.
4935 (grub_video_iterate): Removed.
4936 (FOR_VIDEO_ADAPTERS): New macro.
4937 * kern/dl.c (grub_dl_list): Removed. All users updated.
4938 (grub_dl_iterate): Removed.
4939 * kern/fs.c (grub_fs_list): Make global.
4940 (grub_fs_register): Removed.
4941 (grub_fs_unregister): Likewise.
4942 (grub_fs_iterate): Likewise.
4943 * kern/handler.c: Removed.
4944 * kern/list.c (grub_list_pop): Removed.
4945 (grub_list_iterate): Likewise.
4946 (grub_list_insert): Likewise.
4947 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
4948 (grub_prio_list_insert): Don't use grub_list_insert.
4949 * kern/main.c (grub_register_rescue_parser): Don't call
4950 grub_register_rescue_parser.
4951 * kern/parser.c (grub_parser_class): Removed.
4952 (grub_parser_execute): Use grub_rescue_parse_line.
4953 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
4954 (grub_rescue_parser): Removed.
4955 (grub_register_rescue_parser): Likewise.
4956 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
4957 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
4958 (grub_auth_check_authentication): Likewise.
4959 * normal/completion.c (iterate_command): Removed.
4960 (grub_normal_do_completion): Use FOR_COMMANDS.
4961 * normal/handler.c: Removed.
4962 * normal/main.c (read_config_file): Remove parser changing.
4963 (grub_normal_execute): Don't call read_handler_list.
4964 (grub_normal_read_line_real): Statically allocate prompt.
4965 (grub_cmdline_run): Use grub_normal_parse_line.
4966 (GRUB_MOD_FINI): Don't call free_handler_list.
4967 * normal/menu_entry.c (run): Likewise.
4968 * script/function.c (grub_script_function_list): Make global.
4969 (grub_script_function_iterate): Removed.
4970 * script/main.c (grub_normal_parse_line): Make global.
4971 (grub_sh_parser): Removed.
4972 (GRUB_MOD_INIT): Likewise.
4973 (GRUB_MOD_FINI): Likewise.
4974 * tests/lib/functional_test.c (grub_functional_test): Use
4975 FOR_LIST_ELEMENTS.
4976 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
4977 (grub_test_run): Use FOR_LIST_ELEMENTS.
4978 * tests/lib/unit_test.c (main): Likewise.
4979 * util/deviceiter.c (grub_util_iterate_devices): Don't use
4980 grub_list_pop.
4981 * util/grub-fstest.c (grub_term_input_class): Removed.
4982 (grub_term_output_class): Likewise.
4983 * util/grub-probe.c: Likewise.
4984 * util/i386/pc/grub-setup.c: Likewise.
4985 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4986 * util/grub-script-check.c (main): Don't call grub_init_all and
4987 grub_fini_all.
4988 * video/video.c (grub_video_adapter_list): Make global.
4989 (grub_video_register): Removed.
4990 (grub_video_unregister): Likewise.
4991 (grub_video_iterate): Likewise.
4992
6289c3a7
VS
49932010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
4996 reported by Henrique Ferreiro.
4997
91460247
RM
49982010-06-09 Robert Millan <rmh@gnu.org>
4999
5000 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
5001 ones, when both are available.
5002
0ea7c4f9
GS
50032010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5004
5005 Make --version uniform and avoid hard-coded program name.
5006
5007 * util/grub-mkimage.c (main): Use `program_name' instead of
5008 hard-coded string.
5009 * util/i386/pc/grub-setup.c (main): Likewise.
5010 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
5011 * util/grub-install.in: Save the basename of $0 in $self, and use the
5012 latter in informational messages. Use the same format for --version
5013 as the binary programs.
5014 * util/grub-mkconfig.in: Likewise.
5015 * util/grub-mkrescue.in: Likewise.
5016 * util/grub-reboot.in: Likewise.
5017 * util/grub-set-default.in: Likewise.
5018 * util/i386/efi/grub-install.in: Likewise.
5019 * util/ieee1275/grub-install.in: Likewise.
5020 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5021
e8a6f3b6
GS
50222010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5023
5024 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
5025 embedding area. Use <= instead of == when checking for non-emptiness.
5026
f4d095d7
GS
50272010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5028
5029 * configure.ac: Add `.' to the directories searched for unifont.
5030
50e532ca
CW
50312010-06-08 Colin Watson <cjwatson@ubuntu.com>
5032
5033 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
5034 grub_script.yy.h.
5035
d39f3dec
CW
50362010-06-08 Colin Watson <cjwatson@ubuntu.com>
5037
5038 * docs/grub.texi (History): Expand to cover GRUB 2.
5039 (Serial terminal): Refer to `terminal_input' and `terminal_output'
5040 commands, not `terminal'.
5041 (serial): Likewise.
5042 (terminal_input): New section.
5043 (terminal_output): New section.
5044 (uppermem): New section (stub).
5045 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
5046
6ef0ddb4
CW
50472010-06-08 Colin Watson <cjwatson@ubuntu.com>
5048
5049 * docs/grub.texi (Security): Menu entries are unrestricted by
5050 default, not restricted to superusers as I had previously thought.
5051 Reword to account for this.
5052
e0f4c438
CW
50532010-06-07 Colin Watson <cjwatson@ubuntu.com>
5054
5055 * kern/emu/misc.c (device_mapper_null_log): New function.
5056 (grub_device_mapper_supported): New function.
5057 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
5058 prototype.
5059 * kern/emu/hostdisk.c (find_partition_start): Check whether
5060 device-mapper is supported before trying to use it.
5061 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
5062
da908200
CW
50632010-06-07 Colin Watson <cjwatson@ubuntu.com>
5064
5065 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
5066 (File name syntax): Likewise.
5067 (help): --all is no longer supported in GRUB 2. Be more precise
5068 about pattern matching.
5069
fb55c3ac
CW
50702010-06-07 Colin Watson <cjwatson@ubuntu.com>
5071
5072 * normal/completion.c (grub_normal_do_completion): When completing
5073 arguments to "set" and the current word contains an equals sign,
5074 skip to after the equals sign before starting completion.
5075
258c2573
CW
50762010-06-07 Colin Watson <cjwatson@ubuntu.com>
5077
5078 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
5079
ee75515e
CW
50802010-06-07 Colin Watson <cjwatson@ubuntu.com>
5081
5082 * docs/grub.texi (Network): New section.
5083 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
5084 `(nd)' as in GRUB Legacy.
5085 (pxe_unload): New section.
5086
a6a700aa
CW
50872010-06-07 Colin Watson <cjwatson@ubuntu.com>
5088
5089 * docs/grub.texi (Troubleshooting): `echo' is not usually available
5090 in the rescue shell, so recommend using `set' instead. Thanks,
5091 Jordan Uggla.
5092
4003dd38
CW
50932010-06-07 Colin Watson <cjwatson@ubuntu.com>
5094
5095 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
5096 (password): New section.
5097 (password_pbkdf2): New section.
5098 (search): New section.
5099 (Security): New section.
5100 (Troubleshooting): New section, currently very incomplete.
5101 (Invoking grub-mkpasswd-pbkdf2): New section.
5102 (Internals): New section, currently very incomplete.
5103
e1cbcc40
CW
51042010-06-07 Colin Watson <cjwatson@ubuntu.com>
5105
5106 * util/grub.d/00_header.in: Add some more quoting (of
5107 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
5108 work again.
5109 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
5110
db8fa1ad
CW
51112010-06-07 Colin Watson <cjwatson@ubuntu.com>
5112
5113 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
5114 to `count', fixing variable shadowing that broke the -c option.
5115
51162010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
5117
5118 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
5119 in case they contain spaces.
5120
f28a9212
CW
51212010-06-04 Colin Watson <cjwatson@ubuntu.com>
5122
5123 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
5124 "part_" to partmap module names, in line with grub-install.
5125 Reported by: Jindřich Makovička (Debian bug #584426).
5126
9cdfe32f
CW
51272010-06-04 Colin Watson <cjwatson@ubuntu.com>
5128
5129 * util/grub-mkimage.c: Make target-related error messages slightly
5130 more helpful; -O talks about "format". Explicitly point to the use
5131 of -O if no target is specified.
5132 Reported by: Didier Raboud (Debian bug #584415).
5133
795b593a
CW
51342010-06-03 Colin Watson <cjwatson@ubuntu.com>
5135
5136 * INSTALL: Document several build requirements for optional features
5137 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
5138
9d9b5833
GS
51392010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
5140
5141 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
5142 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
5143 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
5144
0819fec8
CW
51452010-06-02 Colin Watson <cjwatson@ubuntu.com>
5146
5147 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
5148 Thanks to Jordan Uggla for spotting this.
5149
49396b4f
VS
51502010-06-02 Aleš Nesrsta <starous@volny.cz>
5151
5152 Finally make USB usable.
5153
5154 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
5155 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
5156 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
5157 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
5158 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
5159 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
5160 (GRUB_OHCI_FSMPS): Likewise.
5161 (GRUB_OHCI_PERIODIC_START): Likewise.
5162 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
5163 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
5164 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
5165 (GRUB_OHCI_SET_PORT_RESET): Likewise.
5166 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
5167 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
5168 (grub_ohci_transaction): Likewise.
5169 (grub_ohci_transfer): Improve condition detection algorithms.
5170 Handle toggle property. Program the transactions correctly.
5171 Improve error handling. Various important fixups.
5172 (grub_ohci_portstatus): Put register writes in right order.
5173 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
5174 (grub_uhci_transfer): Don't show "failed" message on success.
5175 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
5176 array.
5177 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
5178 determine its size.
5179 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
5180 before initialization is completed. Use IN direction for empty
5181 transfers. Use last_trans and compute toggle.
5182 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
5183 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
5184 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
5185 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
5186 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
5187 (grub_usb_device): Increase toggle to 256.
5188 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
5189 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
5190 GRUB_USBMS_SUBCLASS_SFF8070.
5191 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
5192 (grub_scsi_inquiry): New member page and alloc_length.
5193 (grub_scsi_request_sense): New structure.
5194 (grub_scsi_request_sense_data): Likewise.
5195 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
5196 control.
5197 * disk/scsi.c (grub_scsi_request_sense): New function.
5198 (grub_scsi_test_unit_ready): Likewise.
5199 (grub_scsi_inquiry): Fill new fields.
5200 (grub_scsi_read_capacity): Likewise.
5201 (grub_scsi_read10): Add request sense at the end.
5202 (grub_scsi_read12): Likewise.
5203 (grub_scsi_write10): Likewise.
5204 (grub_scsi_write12): Likewise.
5205 (grub_scsi_open): Add Test Unit Ready.
5206 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
5207 Support additional subclasses. Con't clear halt yet. Activate the
5208 proper config. Calculate LUNs correctly.
5209 (grub_usbms_transfer): Various important fixups.
5210
52112010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
5214 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
5215 (grub_ohci_fini_hw): New function.
5216 (grub_ohci_restore_hw): Likewise.
5217 (GRUB_MOD_INIT(ohci)): Register preboot hook.
5218 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
5219 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
5220
52212010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 Dedicated DMA allocations.
5224
5225 * bus/pci.c (grub_memalign_dma32): New function
5226 (grub_dma_free): Likewise.
5227 (grub_dma_get_virt): Likewise.
5228 (grub_dma_get_phys): Likewise.
5229 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
5230 (grub_ohci_pci_iter): Use dma32_alloc.
5231 (grub_ohci_transfer): Likewise.
5232 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
5233 (grub_usb_bulk_readwrite): Likewise.
5234 * include/grub/pci.h: Add declarations.
5235
52362010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 CS5536 support.
5239
5240 * bus/cs5536.c: New file.
5241 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
5242 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
5243 (cs5536_mod_SOURCES): New variable.
5244 (cs5536_mod_CFLAGS): Likewise.
5245 (cs5536_mod_LDFLAGS): Likewise.
5246 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
5247 machine/pci.h.
5248 (kernel_img_SOURCES): Add bus/cs5536.c.
5249 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
5250 usb_keyboard.mod.
5251 (usb_mod_SOURCES): New variable.
5252 (usb_mod_CFLAGS): New variable.
5253 (usb_mod_LDFLAGS): New variable.
5254 (usbtest_mod_SOURCES): New variable.
5255 (usbtest_mod_CFLAGS): New variable.
5256 (usbtest_mod_LDFLAGS): New variable.
5257 (ohci_mod_SOURCES): New variable.
5258 (ohci_mod_CFLAGS): New variable.
5259 (ohci_mod_LDFLAGS): New variable.
5260 (usbms_mod_SOURCES): New variable.
5261 (usbms_mod_CFLAGS): New variable.
5262 (usbms_mod_LDFLAGS): New variable.
5263 (usb_keyboard_mod_SOURCES): New variable.
5264 (usb_keyboard_mod_CFLAGS): New variable.
5265 (usb_keyboard_mod_LDFLAGS): New variable.
5266 * include/grub/smbus.h: New file.
5267 * include/grub/cs5536.h: New file.
5268
0b35b2a9
CW
52692010-06-02 Colin Watson <cjwatson@ubuntu.com>
5270
5271 * util/grub.d/00_header.in: Add safety check to make sure that
5272 ${locale_dir} exists before trying to probe it.
5273
ca0afd5b
CW
52742010-06-02 Colin Watson <cjwatson@ubuntu.com>
5275
5276 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
5277 per the GNU Coding Standards; this is now too obscure to be worth
5278 documenting.
5279 (QNX): Likewise.
5280 (chainloader): Remove cross-reference to `SCO UnixWare'.
5281
1c41aa78
CW
52822010-06-02 Colin Watson <cjwatson@ubuntu.com>
5283
5284 * docs/grub.texi (Chain-loading): New section.
5285 (DOS/Windows): New section, borrowed from GRUB Legacy with details
5286 adjusted for GRUB 2.
5287 (SCO UnixWare): Likewise.
5288 (QNX): Likewise.
5289 (chainloader): Add reference to `Block list syntax'.
5290 (drivemap): New section.
5291 (parttool): New section.
5292
bb8ea0f5
CW
52932010-06-02 Colin Watson <cjwatson@ubuntu.com>
5294
5295 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
5296 the grub shell'.
5297 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
5298 (Installing GRUB using grub-install): Remove reference to the grub
5299 shell; mention `grub-mkimage' and `grub-setup' instead.
5300 (Invoking grub-install): Likewise.
5301 (Interface): Add reference to `Menu entry editor'.
5302 (serial): Remove `--device' option.
5303
288dd6ed
CW
53042010-06-02 Colin Watson <cjwatson@ubuntu.com>
5305
5306 * docs/grub.texi (Configuration): New section, documenting
5307 configuration file generation using grub-mkconfig. I've left a slot
5308 for documenting the full shell scripting format but have not yet
5309 started on writing that up.
5310 (Invoking grub-mkconfig): New section.
5311
34c9f0e9
CW
53122010-06-02 Colin Watson <cjwatson@ubuntu.com>
5313
5314 * docs/grub.texi (direntry): Remove grub-terminfo reference.
5315 (GNU GRUB manual): Likewise.
5316 (General commands): Update description of `terminfo' for GRUB 2.
5317
9121567e
CW
53182010-06-02 Colin Watson <cjwatson@ubuntu.com>
5319
5320 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
5321 (GRUB_MOD_INIT): Fix capitalisation.
5322 * docs/grub.texi (Command-line and menu entry commands): Document
5323 gettext and gptsync commands.
5324
ab631611
CW
53252010-06-02 Colin Watson <cjwatson@ubuntu.com>
5326
5327 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
5328 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
5329
bde4a9ac
CW
53302010-06-01 Colin Watson <cjwatson@ubuntu.com>
5331
5332 Add btrfs probing support, currently only in the single-device case.
5333
5334 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
5335 function.
5336 (grub_guess_root_device): Call find_root_device_from_mountinfo
5337 before looking in /dev.
5338
b1d17e10
VS
53392010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5340
5341 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
5342 GRUB_DISK_SIZE_UNKNOWN.
5343 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
5344
dfbfe004
JS
53452010-05-31 Jiro SEKIBA <jir@unicus.jp>
5346
5347 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
5348 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
5349 corrupted or not synced properly.
5350
c2ffc8e9
VS
53512010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
5354 Reported by: Seth Goldberg.
5355
56293166
VS
53562010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
5359 addition of dest.
5360 Reported by: Seth Goldberg.
5361
7620e7de
VS
53622010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
5365 Reported by: Seth Goldberg.
5366
c837af3f
VS
53672010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
5370 64-bit address as signed on MIPS.
5371
c7c75cf4
CW
53722010-05-28 Colin Watson <cjwatson@ubuntu.com>
5373
5374 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
5375 to the empty string.
5376
fa4b8490
BC
53772010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
5378
5379 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
5380
5381 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
5382 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
5383 * kern/misc.c (__enable_execute_stack): Disable on
5384 GRUB_MACHINE_EMU.
5385
a33075b9
CW
53862010-05-28 Colin Watson <cjwatson@ubuntu.com>
5387
5388 Make grub-probe work with symbolic links under /dev/mapper as well
5389 as with real block devices. The Linux world seems to be (at best)
5390 in transition here, and GRUB shouldn't get caught in the middle.
5391
5392 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
5393 /dev/mapper.
5394
d8708134
CW
53952010-05-27 Colin Watson <cjwatson@ubuntu.com>
5396
5397 * util/grub-script-check.c (main): Ensure defined behaviour on empty
5398 input files (in which case exit zero).
5399
db2102a0
CW
54002010-05-27 Colin Watson <cjwatson@ubuntu.com>
5401
5402 * kern/emu/misc.c (canonicalize_file_name): realpath can still
5403 return NULL for various reasons even if it has a maximum-length
5404 buffer: for example, there might be a symlink loop, or the path
5405 might exceed PATH_MAX. If this happens, return NULL.
5406
5fdba519
RM
54072010-05-27 Robert Millan <rmh@gnu.org>
5408
5409 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
5410 partmap module to handle cross-partmap setups.
5411 Reported by Orestes Mas. Gràcies!
5412
d1d368e4
CW
54132010-05-27 Colin Watson <cjwatson@ubuntu.com>
5414
5415 * util/grub-mkrescue.in: Initialise override_dir rather than
5416 assuming that it's unset or empty in the environment.
5417
95ac3c73
GS
54182010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
5419
5420 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
5421 variable index into p_index to suppress a warning with -Wshadow.
5422
7d8c0213
BC
54232010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
5424
5425 * INSTALL: Added flex >= 2.5.35 requirement.
5426
db4d5813
VS
54272010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
5430
f24f4300
VS
54312010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 cmostest support.
5434
5435 * commands/i386/cmostest.c: New file.
5436 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
5437 (cmostest_mod_SOURCES): New variable.
5438 (cmostest_mod_CFLAGS): Likewise.
5439 (cmostest_mod_LDFLAGS): Likewise.
5440 * conf/i386-pc.rmk: Likewise.
5441 * docs/grub.texi (Vendor power-on keys): New section.
5442 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
5443 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
5444 and GRUB_BUTTON_CMOS_ADDRESS.
5445 * util/grub.d/00_header.in: Handle powering-on by separate button.
5446
ad603f61
VS
54472010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
5450 Removed drawing_scrollbar argument. All users updated
5451 Fixes #29792.
5452 Reported by Jo Shields
5453
3ecb080a
VS
54542010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
5457 buffer since gfxterm handles double repaint.
5458
5f2316c1
VS
54592010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
5462 * term/gfxterm.c (real_scroll): Likewise.
5463
9a25f885
VS
54642010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
5467 before calling BIOS.
5468
39fbb79a
VS
54692010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * include/grub/i18n.h: Always enable grub_gettext.
5472
228cfa97
VS
54732010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
5476 partition naming style.
5477
21717c8f
CW
54782010-05-21 Colin Watson <cjwatson@ubuntu.com>
5479
5480 * util/grub-mkconfig.in: Fix handling of -o so that it works when
5481 not the first option.
5482
c0f48e65
CW
54832010-05-20 Colin Watson <cjwatson@ubuntu.com>
5484
5485 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
5486
96779aec
CW
54872010-05-20 Colin Watson <cjwatson@ubuntu.com>
5488
5489 * util/misc.c: Move inclusion of <limits.h> to ...
5490 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
5491
fa9d256e
GS
54922010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5493
5494 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
5495 Fix merge error in NetBSD code.
5496 (find_partition_start) [__NetBSD__]: Likewise.
5497
123b7a85
BC
54982010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
5499
5500 Fix grub-mkrescue usage unit testing.
5501
5502 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
5503
74276c0d
CF
55042010-05-18 Christian Franke <franke@computer.org>
5505
5506 * util/grub.d/10_windows.in: Use path names instead of
5507 drive letters to prevent warning from Cygwin 1.7.
5508 Add drivemap command to menuentry if needed.
5509
c4f7b523
ST
55102010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
5511
5512 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
5513 gnumach and gnumach.gz.
5514
95b97950
VS
55152010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 * include/grub/i18n.h (gettext): Inline instead of using #define.
5518 (grub_gettext): Likewise.
5519 (_): Likewise.
5520
01b8d2d7
VS
55212010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5522
5523 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
5524 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
5525 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
5526 (main): Add a slash after pkglibdirroot.
5527
654e1d1e
VS
55282010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * util/grub-install.in: Add missing "in" keyword.
5531
26966aeb
VS
55322010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
5535 Reported by: Seth Goldberg.
5536
75006747
VS
55372010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
5540
74cbf5bd
CW
55412010-05-18 Colin Watson <cjwatson@ubuntu.com>
5542
5543 * configure.ac: Check for Linux device-mapper support.
5544
5545 * util/hostdisk.c (device_is_mapped): New function.
5546 (find_partition_start): New function, partly broken out from
5547 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
5548 device-mapper support added.
5549 (linux_find_partition): Use find_partition_start.
5550 (convert_system_partition_to_system_disk): Add `st' argument.
5551 Support Linux /dev/mapper/* devices if device-mapper support is
5552 available; only DM-RAID devices are understood at present.
5553 (find_system_device): Add `st' argument. Pass it to
5554 convert_system_partition_to_system_disk.
5555 (grub_util_biosdisk_get_grub_dev): Pass stat result to
5556 find_system_device and convert_system_partition_to_system_disk. Use
5557 find_partition_start.
5558
5559 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
5560 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
5561 * util/deviceiter.c [__linux__]: Define MINOR.
5562 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
5563 * util/mkdevicemap.c (grub_putchar): New function.
5564 (grub_getkey): New function.
5565 (grub_refresh): New function.
5566 (main): Set debug=all if -v -v is used.
5567
355b51e9
CW
55682010-05-18 Colin Watson <cjwatson@ubuntu.com>
5569
5570 Fix build with non-GNU libcs.
5571
5572 * util/misc.c (canonicalize_file_name): Move to ...
5573 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
5574 grub_make_system_path_relative_to_its_root.
5575
7fb5c25f
CW
55762010-05-18 Colin Watson <cjwatson@ubuntu.com>
5577
5578 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
5579 we handle finding grub-mkimage. Default to finding grub-mkimage in
5580 ${bindir} with program_transform_name applied, and provide a
5581 --grub-mkimage option to override this.
5582
1d3293d6
VS
55832010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 Remove grub-mkisofs.
5586
5587 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
5588 (grub_mkisofs_SOURCES): Removed.
5589 (grub_mkisofs_CFLAGS): Removed.
5590 * util/mkisofs/defaults.h: Removed.
5591 * util/mkisofs/eltorito.c: Likewise.
5592 * util/mkisofs/exclude.h: Likewise.
5593 * util/mkisofs/hash.c: Likewise.
5594 * util/mkisofs/include/: Likewise.
5595 * util/mkisofs/include/fctldefs.h: Likewise.
5596 * util/mkisofs/include/mconfig.h: Likewise.
5597 * util/mkisofs/include/prototyp.h: Likewise.
5598 * util/mkisofs/include/statdefs.h: Likewise.
5599 * util/mkisofs/iso9660.h: Likewise.
5600 * util/mkisofs/joliet.c: Likewise.
5601 * util/mkisofs/match.c: Likewise.
5602 * util/mkisofs/match.h: Likewise.
5603 * util/mkisofs/mkisofs.c: Likewise.
5604 * util/mkisofs/mkisofs.h: Likewise.
5605 * util/mkisofs/msdos_partition.h: Likewise.
5606 * util/mkisofs/multi.c: Likewise.
5607 * util/mkisofs/name.c: Likewise.
5608 * util/mkisofs/rock.c: Likewise.
5609 * util/mkisofs/tree.c: Likewise.
5610 * util/mkisofs/write.c: Likewise.
5611
5dde9afe
VS
56122010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 Unify grub-mkimage accross platforms.
5615
5616 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
5617 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
5618 (grub_mkelfimage_SOURCES): Removed.
5619 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
5620 (util/grub-mkimage.c_DEPENDENCIES): .. this.
5621 (bin_UTILITIES): Add grub-mkimage.
5622 (grub_mkimage_SOURCES): New variable.
5623 (kernel_img_HEADERS): Remove machine/kernel.h.
5624 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
5625 (pkglib_PROGRAMS): Add kernel.img.
5626 (kernel_img_HEADERS): Add machine/kernel.h.
5627 (kernel_img_FORMAT): Removed.
5628 (bin_UTILITIES): Remove grub-mkimage.
5629 (grub_mkimage_SOURCES): Removed.
5630 (grub_mkimage_CFLAGS): Likewise.
5631 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
5632 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
5633 (pkglib_PROGRAMS): Add kernel.img.
5634 (bin_UTILITIES): Remove grub-mkimage.
5635 (grub_mkimage_SOURCES): Removed.
5636 (grub_mkimage_CFLAGS): Likewise.
5637 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
5638 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
5639 (pkglib_PROGRAMS): Add kernel.img.
5640 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
5641 (pkglib_PROGRAMS): Add kernel.img.
5642 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
5643 (grub_mkimage_SOURCES): Removed.
5644 (grub_mkimage_CFLAGS): Likewise.
5645 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
5646 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
5647 (pkglib_PROGRAMS): Add kernel.img.
5648 (bin_UTILITIES): Remove grub-mkimage.
5649 (grub_mkimage_SOURCES): Removed.
5650 (grub_mkimage_CFLAGS): Likewise.
5651 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
5652 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
5653 (grub_mkimage_SOURCES): Removed.
5654 (grub_mkimage_CFLAGS): Likewise.
5655 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
5656 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
5657 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
5658 (grub_pe32_optional_header): ... this.
5659 (grub_pe64_optional_header): ... and this. All users updated.
5660 (GRUB_PE32_PE32_MAGIC): Split into ..
5661 (GRUB_PE32_PE32_MAGIC): .. this.
5662 (GRUB_PE32_PE64_MAGIC): .. and this.
5663 (GRUB_PE32_SIGNATURE_SIZE): New definition.
5664 * include/grub/elf.h (PT_GNU_STACK): New definition.
5665 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
5666 * include/grub/i386/efi/kernel.h: Likewise.
5667 * include/grub/i386/kernel.h: Likewise.
5668 * include/grub/i386/pc/kernel.h: Likewise.
5669 * include/grub/i386/qemu/boot.h: Likewise.
5670 * include/grub/mips/kernel.h: Likewise.
5671 * include/grub/mips/qemu-mips/kernel.h: Likewise.
5672 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
5673 * include/grub/powerpc/kernel.h: Likewise.
5674 * include/grub/sparc64/ieee1275/boot.h: Likewise.
5675 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
5676 * include/grub/sparc64/kernel.h: Likewise.
5677 * include/grub/x86_64/efi/kernel.h: Likewise.
5678 * include/grub/x86_64/kernel.h: Likewise.
5679 * include/grub/offsets.h: New file.
5680 * include/grub/kernel.h (grub_module_info): Split into ...
5681 (grub_module_info32): ... this.
5682 (grub_module_info64): ... and this.
5683 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
5684 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
5685 (grub_boot_blocklist): Moved from here ...
5686 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
5687 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
5688 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
5689 * include/grub/types.h (grub_target_to_host16): Removed.
5690 (grub_target_to_host32): Likewise.
5691 (grub_target_to_host64): Likewise.
5692 (grub_host_to_target16): Likewise.
5693 (grub_host_to_target32): Likewise.
5694 (grub_host_to_target64): Likewise.
5695 (grub_host_to_target_addr): Likewise.
5696
5697 Support grub-mkrescue for efi, coreboot and qemu.
5698
5699 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
5700 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
5701 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
5702 * util/grub-mkrawimage.c: Moved from here ...
5703 * util/grub-mkimage.c: ... here. All users updated.
5704 (ALIGN_ADDR): Use image_target.
5705 (TARGET_NO_FIELD): New const.
5706 (image_target_desc): New type.
5707 (image_targets): New array.
5708 (grub_target_to_host64): Use image_target.
5709 (grub_target_to_host32): Likewise.
5710 (grub_target_to_host16): Likewise.
5711 (grub_host_to_target64): Likewise.
5712 (grub_host_to_target32): Likewise.
5713 (grub_host_to_target16): Likewise.
5714 (grub_host_to_target_addr): Likewise.
5715 (generate_image): Handle multiimage.
5716 (main): Require -O parameter. All users updated.
5717 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
5718 util/efi/grub-mkimage.c
5719 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
5720 New option --rom-directory.
5721 Use xorriso.
5722 * util/i386/efi/grub-mkimage.c: Removed.
5723 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
5724 (grub_target_to_host32): Likewise.
5725 (grub_target_to_host64): Likewise.
5726 (grub_host_to_target16): Likewise.
5727 (grub_host_to_target32): Likewise.
5728 (grub_host_to_target64): Likewise.
5729 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
5730 (grub_target_to_host32): Likewise.
5731 (grub_target_to_host64): Likewise.
5732 (grub_host_to_target16): Likewise.
5733 (grub_host_to_target32): Likewise.
5734 (grub_host_to_target64): Likewise.
5735
f4fc97d0
BC
57362010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
5737
5738 Source tree is reorganized for emu build.
5739
5740 * include/grub/util/console.h: Move from here...
5741 * include/grub/emu/console.h: ...to here.
5742 * include/grub/util/getroot.h: Move from here...
5743 * include/grub/emu/getroot.h: ...to here.
5744 * include/grub/util/hostdisk.h: Move from here...
5745 * include/grub/emu/hostdisk.h: ...to here.
5746 * util/console.c: Move from here...
5747 * kern/emu/console.c: ...to here.
5748 * util/getroot.c: Move from here...
5749 * kern/emu/getroot.c: ...to here.
5750 * util/grub-emu.c: Move from here...
5751 * kern/emu/main.c: ...to here.
5752 * util/hostdisk.c: Move from here...
5753 * kern/emu/hostdisk.c: ...to here.
5754 * util/hostfs.c: Move from here...
5755 * kern/emu/hostfs.c: ...to here.
5756 * util/mm.c: Move from here...
5757 * kern/emu/mm.c: ...to here.
5758 * util/pci.c: Move from here...
5759 * bus/emu/pci.c: ...to here.
5760 * util/sdl.c: Move from here...
5761 * video/emu/sdl.c: ...to here.
5762 * util/time.c: Move from here...
5763 * kern/emu/time.c: ...to here.
5764 * util/usb.c: Move from here...
5765 * bus/usb/emu/usb.c: ...to here.
5766
5767 * include/grub/emu/misc.h: New header for grub-emu functions.
5768 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
5769
5770 * conf/any-emu.rmk: Rule updates for above renames.
5771 * conf/common.rmk: Likewise.
5772 * conf/i386-pc.rmk: Likewise.
5773 * conf/i386-qemu.rmk: Likewise.
5774 * conf/mips.rmk: Likewise.
5775 * conf/sparc64-ieee1275.rmk: Likewise.
5776 * conf/x86-efi.rmk: Likewise.
5777
5778 * disk/lvm.h: #include updates for above renames.
5779 * util/grub-mkrelpath.c: Likewise.
5780 * util/grub-probe.c: Likewise.
5781 * util/i386/pc/grub-setup.c: Likewise.
5782 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5783 * kern/emu/console.c: Likewise.
5784 * kern/emu/getroot.c: Likewise.
5785 * kern/emu/hostdisk.c: Likewise.
5786 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
5787
5788 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
5789 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
5790 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
5791 * util/misc.c: Remove grub-emu functions.
5792
cced9145
VS
57932010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 Fix gfxmenu crash.
5796 Reported by: Thorsten Grützmacher.
5797
5798 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
5799 timeout hook.
5800 (circprog_set_property): Register and unregister timeout hook.
5801 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
5802 (label_destroy): Free template. and unregister hook.
5803 (label_set_state): New function.
5804 (label_set_property): Handle templates and hooks.
5805 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
5806 timeout hook.
5807 (progress_bar_set_property): Register and unregister timeout hook.
5808 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
5809 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
5810 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
5811 (update_timeout_visit): Removed.
5812 (update_timeouts): New function.
5813 (redraw_timeouts): Likewise.
5814 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
5815 (grub_gfxmenu_clear_timeout): Likewise.
5816 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
5817 (grub_gfxmenu_timeout_notify): Likewise.
5818 (grub_gfxmenu_timeout_notifications): New external variable.
5819 (grub_gfxmenu_timeout_register): New function.
5820 (grub_gfxmenu_timeout_unregister): Likewise.
5821
c6e5caab
VS
58222010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 Transform (broken) vga terminal into (working) vga video driver.
5825
5826 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
5827 video/i386/pc/vga.c.
5828 * include/grub/video.h (grub_video_driver_id):
5829 Add GRUB_VIDEO_DRIVER_VGA.
5830 * term/i386/pc/vga.c: Renamed to ...
5831 * video/i386/pc/vga.c: ...this
5832 (DEBUG_VGA): Removed.
5833 (CHAR_WIDTH): Likewise.
5834 (CHAR_HEIGHT): Likewise.
5835 (TEXT_WIDTH): Likewise.
5836 (TEXT_HEIGHT): Likewise.
5837 (DEFAULT_FG_COLOR): Likewise.
5838 (DEFAULT_BG_COLOR): Likewise.
5839 (colored_char): Likewise.
5840 (xpos): Likewise.
5841 (ypos): Likewise.
5842 (cursor_state): Likewise.
5843 (fg_color): Likewise.
5844 (bg_color): Likewise.
5845 (text_buf): Likewise.
5846 (page): Likewise.
5847 (font): Likewise.
5848 (framebuffer): New variable.
5849 (set_read_map): Disabled.
5850 (setup): New variable.
5851 (is_target): Likewise.
5852 (grub_vga_mod_init): Likewise.
5853 (grub_vga_mod_fini): Likewise.
5854 (check_vga_mem): Likewise.
5855 (write_char): Likewise.
5856 (write_cursor): Likewise.
5857 (scroll_up): Likewise.
5858 (grub_vga_putchar): Likewise.
5859 (grub_vga_getcharwidth): Likewise.
5860 (grub_vga_getwh): Likewise.
5861 (grub_vga_getxy): Likewise.
5862 (grub_vga_gotoxy): Likewise.
5863 (grub_vga_cls): Likewise.
5864 (grub_vga_setcolorstate): Likewise.
5865 (grub_vga_setcursor): Likewise.
5866 (grub_video_vga_init): New function.
5867 (grub_video_vga_setup): Likewise.
5868 (grub_video_vga_fini): Likewise.
5869 (update_target): Likewise.
5870 (grub_video_vga_blit_bitmap): Likewise.
5871 (grub_video_vga_blit_render_target): Likewise.
5872 (grub_video_vga_set_active_render_target): Likewise.
5873 (grub_video_vga_get_active_render_target): Likewise.
5874 (grub_video_vga_swap_buffers): Likewise.
5875 (grub_video_vga_set_palette): Likewise.
5876 (grub_video_vga_get_info_and_fini): Likewise.
5877 (grub_vga_term): Removed.
5878 (grub_video_vga_adapter): New variable.
5879 (GRUB_MOD_INIT): Register a video driver instead of terminal.
5880 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
5881
2bf61a98
VS
58822010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 * video/readers/jpeg.c: Indented.
5885
09ddcd11
VS
58862010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 Various jpeg cleanups.
5889
5890 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
5891 (grub_jpeg_decode_quan_table): Use sizeof.
5892 (grub_jpeg_decode_du): Use ARRAY_SIZE.
5893
e5507505
PH
58942010-05-05 Peter Hurley <No e-mail available> (tiny change)
5895
5896 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
5897 tables. Ignore non-last ac bit.
5898 (grub_jpeg_decode_quan_table): Likewise.
5899
7e720a9b
VS
59002010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
5903 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
5904 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5905 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
5906 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
5907 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
5908
a7fc080b
VS
59092010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
5912 error.
5913
2bf6012d
VS
59142010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
5917
265d68cd
VS
59182010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
5921 condition.
5922
59232010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
5924
5925 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
5926 part.
5927
265d68cd 59282010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
5929
5930 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
5931 pointers.
5932
265d68cd 59332010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
5934
5935 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
5936
d1b61374
CF
59372010-05-01 Christian Franke <franke@computer.org>
5938
5939 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
5940 Remove broken Cygwin path conversion.
5941 * util/misc.c: [__CYGWIN__] Add include and define.
5942 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
5943 for Cygwin 1.7.
5944 (make_system_path_relative_to_its_root): Simplify loop, replace early
5945 return by break.
5946 [__CYGWIN__] Add conversion to win32 path.
5947 Include "/" case in trailing slash removal.
5948
3558c6e9
VS
59492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 * kern/main.c (grub_load_config): Fix copy-pasted comment.
5952 Reported by: Seth Goldberg
5953
f5f3ff93
VS
59542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5955
5956 * commands/help.c (grub_cmd_help): Fix a typo.
5957 Reported by: Seth Goldberg
5958
d8b5cd40
VS
59592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
5962 name and add N_.
5963 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
5964 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
5965 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
5966 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
5967 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
5968 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
5969 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
5970 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
5971 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
5972 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5973 * normal/context.c (GRUB_MOD_INIT): Likewise.
5974 * normal/main.c (GRUB_MOD_INIT): Likewise.
5975 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
5976 * term/serial.c (GRUB_MOD_INIT): Likewise.
5977 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
5978
88c14915
VS
59792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
5982 extra == 0.
5983
165134bc
VS
59842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 * commands/iorw.c: New file.
5987 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
5988 (iorw_mod_SOURCES): New variable.
5989 (iorw_mod_CFLAGS): Likewise.
5990 (iorw_mod_LDFLAGS): Likewise.
5991
c5ac9b32
VS
59922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5993
5994 Hotkey support
5995
5996 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
5997 * normal/main.c (hotkey_aliases): New variable.
5998 (grub_normal_add_menu_entry): Parse "--hotkey".
5999 * normal/menu_text.c (run_menu): Handle hotkeys.
6000
ce60689c
VS
60012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 * kern/i386/coreboot/init.c (grub_machine_init): Call
6004 grub_machine_mmap_init on qemu.
6005
0359d006
VS
60062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * boot/i386/qemu/boot.S: Add a missing .code16.
6009
7819a456
VS
60102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 Use LBIO on coreboot.
6013
6014 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
6015 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
6016 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
6017 New declaration.
6018 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
6019 grub_machine_mmap_init on coreboot.
6020 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
6021 GRUB_LINUXBIOS_MEMBER_LINK.
6022 (grub_machine_mmap_iterate): Fix declaration.
6023 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
6024
7210dca9
VS
60252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 Split coreboot and multiboot ports.
6028
6029 * conf/i386-multiboot.rmk: New file.
6030 * configure.ac: Add multiboot port.
6031 * include/grub/i386/multiboot/boot.h: New file.
6032 * include/grub/i386/multiboot/console.h: Likewise.
6033 * include/grub/i386/multiboot/init.h: Likewise.
6034 * include/grub/i386/multiboot/kernel.h: Likewise.
6035 * include/grub/i386/multiboot/loader.h: Likewise.
6036 * include/grub/i386/multiboot/memory.h: Likewise.
6037 * include/grub/i386/multiboot/serial.h: Likewise.
6038 * include/grub/i386/multiboot/time.h: Likewise.
6039 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
6040 * loader/multiboot.c: Likewise.
6041 * loader/multiboot_mbi2.c: Likewise.
6042 * util/grub-mkrescue.in: Generate multiboot rescue.
6043
6f8aaf68
VS
60442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6045
3080f7a7
VS
6046 * kern/parser.c (grub_parser_execute): Cope with read-only config.
6047
60482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6049
6050 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
6051
6052 * commands/terminal.c (abstract_terminal): New struct.
6053 (handle_command): New function. Based on grub_cmd_terminal_input.
6054 (grub_cmd_terminal_input): Use handle_command.
6055 (grub_cmd_terminal_output): Use handle_command.
6056
a8ebb841
BC
60572010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
6058
6059 Fix comment handling.
6060
6061 * tests/grub_script_comments.in: New testcase.
6062 * conf/tests.rmk: Rules for new testcase.
6063 * script/yylex.l: Updated flex rules.
6064
bb06ba08
ST
60652010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
6066
6067 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
6068 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
6069 if argc is 1.
bb06ba08 6070
cc9d2425
VS
60712010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6072
6073 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
6074 autogen issues.
6075
460d8402
CF
60762010-04-26 Christian Franke <franke@computer.org>
6077
6078 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
6079 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
6080 (grub_get_prefix): Remove function.
6081 * util/grub-emu.c (main): Replace grub_get_prefix () call by
6082 make_system_path_relative_to_its_root ().
6083 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6084
553c01f9
CF
60852010-04-24 Christian Franke <franke@computer.org>
6086
6087 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
6088 (kernel_img_LDFLAGS): Remove -static-libgcc.
6089
2aec1692
CF
60902010-04-24 Christian Franke <franke@computer.org>
6091
6092 * configure.ac: Do not CHECK_BSS_START_SYMBOL
6093 and CHECK_END_SYMBOL if grub-emu is built.
6094 Unset TARGET_OBJ2ELF if grub-emu is built
6095 without module support.
6096
f67dc308
JS
60972010-04-24 Jiro SEKIBA <jir@unicus.jp>
6098
6099 Nilfs2 support.
6100
6101 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
6102 (grub_fstest_SOURCES): Likewise.
6103 (pkglib_MODULES): Add nilfs2.mod.
6104 (nilfs2_mod_SOURCES): New variable.
6105 (nilfs2_mod_CFLAGS): Likewise.
6106 (nilfs2_mod_LDFLAGS): Likewise.
6107 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6108 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6109 * fs/nilfs2.c: New file.
6110
4ba8d354
VS
61112010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
6114 is not supported.
6115
0d2c20c6
GS
61162010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
6117
6118 Add grub-mkconfig support for NetBSD.
6119
6120 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
6121 * util/grub-mkconfig.in: export new NetBSD specific variables.
6122 * po/POTFILES-shell: added 10_netbsd.in.
6123 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
6124
bc4a2d83
BC
61252010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
6126
6127 Fix emu build with grub-emu-pci and grub-emu-modules.
6128
6129 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
6130 functions.
6131 * include/grub/libpciaccess.h: New file.
6132 * conf/any-emu.rmk: Update kernel headers for emu build.
6133
f48c87aa
VS
61342010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
6137
18959385
VS
61382010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
6141
0037de3f
VS
61422010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
6145 Retrieve chosen/bootpath if bootpath isn't hardcoded.
6146 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
6147 util/ieee1275/ofpath.c.
6148 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
6149 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
6150 * include/grub/sparc64/ieee1275/boot.h
6151 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
6152 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
6153 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
6154 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
6155 const char *.
6156 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
6157 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
6158 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
6159 install.
6160
38e55e90
GS
61612010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
6162
6163 * util/grub-mkconfig.in: Corrected two == equality tests.
6164 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
6165 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
6166 expect a number appended to it.
6167 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
6168 expects a number appended to it.
6169
a9e6ff28
VS
61702010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
6173
0b830b8f
VS
61742010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 * util/hostdisk.c (make_device_name): Change to new partition naming.
6177
0973daeb
VS
61782010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6179
6180 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
6181
460d8402 61822010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
6183
6184 * Makefile.in: Add missing localedir setting.
6185
0b456309
CW
61862010-04-14 Colin Watson <cjwatson@ubuntu.com>
6187
6188 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
6189 mistake in r2156. Noticed by Anthony Fok.
6190
6191 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
6192 @localedir@.
6193 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6194
08f46d62
BC
61952010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
6196
6197 Fix a spurious, uninitialized variable warning.
6198
6199 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
6200 Initialize variable, shdr.
6201 (grub_freebsd_load_elfmodule): Likewise.
6202 (grub_freebsd_load_elf_meta): Likewise.
6203
8c4a72d4
BC
62042010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
6205
6206 Fix for escaped dollar in double quoted strings.
6207
6208 * script/yylex.l: Updated flex rules.
6209 * conf/tests.rmk: Rule for new testcase.
6210 * tests/grub_script_dollar.in: New testcase.
6211
ce44826e
CPE
62122010-04-13 Carles Pina i Estany <carles@pina.cat>
62132010-04-13 Colin Watson <cjwatson@ubuntu.com>
6214
6215 Enclose all translated strings in grub.cfg in single quotes, and
6216 escape them appropriately (Ubuntu bug #552921).
6217
6218 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
6219 * util/grub.d/10_hurd.in: Use it.
6220 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6221 * util/grub.d/10_linux.in (linux_entry): Likewise.
6222
4b0cd8f8
VS
62232010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 Fix cygwin compilation.
6226
6227 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
6228 * include/grub/misc.h (__register_frame_info)
6229 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
6230 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6231 * kern/misc.c (__register_frame_info)
6232 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
6233 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6234
01fcf061
VS
62352010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
6238
5d04b11e
VS
62392010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 Unify libgcc processing.
6242
6243 * Makefile.in (kernel_img_LDFLAGS): New variable.
6244 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
6245 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
6246 overwriting.
6247 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
6248 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
6249 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
6250 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
6251 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
6252 overwriting. Remove -lgcc and -static-libgcc
6253 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
6254 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6255 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6256 (kernel_img_LDFLAGS): Append instead of overwriting.
6257 Remove -lgcc and -static-libgcc
6258 * conf/sparc64-ieee1275.rmk: Likewise.
6259 * include/grub/powerpc/libgcc.h: Move to ...
6260 * include/grub/libgcc.h: .. this.
6261 * include/grub/libgcc.h: Don't export most of the function on x86.
6262 (__bswapsi2): New export.
6263 (__bswapdi2): Likewise.
6264 * include/grub/mips/libgcc.h: Removed.
6265 * include/grub/sparc64/libgcc.h: Likewise.
6266
b7f3ac29
VS
62672010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
6270 disk_info_msg (conflicts with gettexting into languages with cases).
6271
2c7031b1
GS
62722010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
6273
6274 Add grub-probe support for NetBSD.
6275
6276 * util/getroot.c (find_root_device): Convert block device to
6277 character device on NetBSD.
6278 * util/probe.c (probe): Require character device on NetBSD.
6279 * util/hostdisk.c: NetBSD specific headers.
6280 (configure_device_driver): new function to tune device driver
6281 parameters (currently only for NetBSD floppy driver).
6282 (grub_util_biosdisk_open): NetBSD specific code (get disk size
6283 via disklabel ioctl).
6284 (open_device): call configure_device_driver on NetBSD.
6285 (convert_system_partition_to_system_disk): NetBSD specific code.
6286 (device_is_wholedisk): Likewise.
6287 (grub_util_biosdisk_get_grub_dev): Likewise.
6288 (make_device_name): Fixed a typo in bsd_part_str.
6289 * configure.ac: check for opendisk() and getrawpartition() on
6290 NetBSD and set LIBUTIL.
6291 * Makefile.in: add LIBUTIL to LIBS.
6292
f516290c
BC
62932010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
6294
6295 Documentation fix.
6296
6297 * util/grub-script-check.c: Better help message.
6298
d8dcc0df
BC
62992010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
6300
6301 Fix FreeBSD build.
6302
6303 * configure.ac: Flex version check.
6304 * conf/common.rmk: Add -Wno-error to sh.mod.
6305 * script/yylex.l: Remove all #pragma.
6306
6734334a
VS
63072010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6308
6309 * include/grub/util/misc.h (canonicalise_file_name): Add missing
6310 prototype.
6311 Reported by: Seth Goldberg.
6312
daea6abd
VS
63132010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
6316 Rename "module" to "module2".
6317 Reported by: Seth Goldberg.
6318
f2fd9d2b
VS
63192010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
6322 EXPORT_FUNC.
6323 Reported by: Seth Goldberg.
6324
be124579
VS
63252010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 * lib/posix_wrap/locale.h: Add missing file.
6328 Reported by: Seth Goldberg.
6329
ef5da797
VS
63302010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 grub-emu module load support.
6333
6334 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
6335 NO_DYNAMIC_MODULES switched to this.
6336 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
6337 (CFLAGS): Likewise.
6338 * conf/any-emu.rmk: Generate symlist.
6339 (kernel_img_HEADERS): Add util/datetime.h.
6340 (kernel_img_HEADERS) [sdl]: Add sdl.h.
6341 (kernel_img_HEADERS) [libusb]: Add libusb.h.
6342 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
6343 kern/$(target_cpu)/cache.S.
6344 * configure.ac (grub-emu-modules): New option.
6345 * genmk.rb: Handle multiple source lists.
6346 * include/grub/sdl.h: New file.
6347 * include/grub/libusb.h: Likewise.
6348 * util/grub-emu.c (main): Hanle (host) root.
6349 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
6350 GRUB_ERR_UNKNOWN_DEVICE.
6351 * util/misc.c: Move mm functions to ...
6352 * util/mm.c: ... here. All users updated.
6353
47822096
VS
63542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
6357 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
6358 missing files.
6359 (maintainer-clean): Remove libgcrypt-grub.
6360
5d7e7445
VS
63612010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
6364
25f4e252
EC
63652010-04-09 EFI Coder <eficoder@hotmail.com>
6366
6367 * normal/menu_text.c (print_message): Clean up the message and show
6368 the Fn information when on EFI
6369 * term/efi/console.c (grub_console_checkkey): Add F4 support.
6370
027de555
VS
63712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
6374 All users updated.
6375 * normal/crypto.c (read_crypto_list): Likewise.
6376 * normal/dyncmd.c (read_command_list): Likewise.
6377 * normal/term.c (read_terminal_list): Likewise.
6378 * normal/main.c (read_lists): Use explicit prefix.
6379 (read_lists_hook): Use read_lists.
6380 (grub_normal_execute): Likewise.
6381
47779711
VS
63822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
6385 Reported by: Thomas Schmitt.
6386 Add -no-emul-boot to grub-mkisofs parameters.
6387
1118c32e
VS
63882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * font/font.c: Indented.
6391
7d652447
BC
63922010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
6393
6394 Elif support to GRUB script (by Deepak Vankadaru).
6395
6396 * tests/grub_script_if.in: New testcase.
6397 * conf/tests.rmk: Rule for new testcase.
6398 * script/parser.y: Grammar rules for elif.
6399
34bb22df
BC
64002010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
6401
6402 While and until loops support to GRUB script.
6403
6404 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
6405 (grub_script_create_cmdwhile): New function prototype.
6406 (grub_script_execute_cmdwhile): New function prototype.
6407 * script/execute.c (grub_script_execute_cmdwhile): New function.
6408 * script/parser.y (command): New commands.
6409 (whilecmd): New grammar rule.
6410 (untilcmd): New grammar rule.
6411 * script/script.c (grub_script_create_cmdwhile): New function.
6412 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
6413 function.
6414
6415 * tests/grub_script_while1.in: New testcase.
6416 * conf/tests.rmk: Rule for new testcase.
6417
e215d8e0
VS
64182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
6421 as *.jpg.
6422
d7c43ba1
MV
64232010-04-09 Mario Vazquez <mariovazq@gmail.com>
6424
6425 GRUB_BACKGROUND support.
6426
6427 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
6428 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
6429
d64795c0
VS
64302010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 6433 Idea by: Mario Vazquez
d64795c0
VS
6434
6435 * util/grub.d/00_header.in: Load pf2 and image modules.
6436
f267f83a
VS
64372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 grub-mkconfig multiple terminal support.
6440
6441 * util/grub-mkconfig.in: Handle multiple terminals correctly.
6442 * util/grub.d/00_header.in: Likewise.
6443
b7841ceb
VS
64442010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * Makefile.in: Specify files explicitly instead of using $< and $@ since
6447 we use cd $(srcdir).
6448
df60998c
CW
64492010-04-08 Colin Watson <cjwatson@ubuntu.com>
6450
6451 * util/grub.d/10_linux.in: Only use the first word of
6452 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
6453 spaces in GRUB_DISTRIBUTOR.
6454 * util/grub.d/10_kfreebsd.in: Likewise.
6455 * util/grub.d/10_hurd.in: Likewise.
6456
fa09c82e
BC
64572010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
6458
14e18ae3 6459 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
6460
6461 * tests/util/grub-shell.in: Remove -serial stdio option.
6462
daf892b3
BC
64632010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 POSIX header file wrappers.
6466
6467 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
6468 equivalents.
6469 * lib/posix_wrap/ctype.h: Likewise.
6470 * lib/posix_wrap/errno.h: Likewise.
6471 * lib/posix_wrap/langinfo.h: Likewise.
6472 * lib/posix_wrap/limits.h: Likewise.
6473 * lib/posix_wrap/localcharset.h: Likewise.
6474 * lib/posix_wrap/stdint.h: Likewise.
6475 * lib/posix_wrap/stdio.h: Likewise.
6476 * lib/posix_wrap/stdlib.h: Likewise.
6477 * lib/posix_wrap/string.h: Likewise.
6478 * lib/posix_wrap/sys/types.h: Likewise.
6479 * lib/posix_wrap/unistd.h: Likewise.
6480 * lib/posix_wrap/wchar.h: Likewise.
6481 * lib/posix_wrap/wctype.h: Likewise.
6482 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
6483 (grub_script.yy.h): Likewise.
6484 * script/yylex.l: Remove POSIX emulation #defines.
6485 * Makefile.in (POSIX_CFLAGS): New variable.
6486 (GNULIB_UTIL_CFLAGS): Likewise.
6487
6488 Regexp support.
6489
6490 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
6491 (regexp_mod_SOURCES): New variable.
6492 (regexp_mod_CFLAGS): Likewise.
6493 (regexp_mod_LDFLAGS): Likewise.
6494 * commands/regexp.c: New file.
6495 * gnulib/regcomp.c: New file. Imported from gnulib.
6496 * gnulib/regex.c: Likewise.
6497 * gnulib/regex_internal.c: Likewise.
6498 * gnulib/regex_internal.h: Likewise.
6499 * gnulib/regexec.c: Likewise.
6500 * gnulib/regex.h: Likewise.
6501
974ac4f7
VS
65022010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
6505 unsupported video mode types.
6506
2622c3ff
VS
65072010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
6510
064cb524
VS
65112010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
6514 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
6515
a8c3b552
VS
65162010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 Remove unused grub_vga_get_font.
6519
6520 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
6521 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
6522
187bbe3d
GS
65232010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6524
6525 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
6526 * include/grub/misc.h: Likewise.
6527
b9396631
GS
65282010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6529
6530 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
6531 for which failure is fatal.
6532
50479feb
GS
65332010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6534
6535 * util/grub-install.in: Use mkdir -p to create grub directory.
6536 * util/i386/efi/grub-install.in: Likewise.
6537 * util/ieee1275/grub-install.in: Likewise.
6538
b1654fdf
GS
65392010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6540
6541 * Makefile.in (LEX): new variable.
6542
bd5a6415
GS
65432010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6544
6545 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
6546 `=' and added double quotes on operands of this equality test.
6547
3db3a82b
VS
65482010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6549
6550 * Makefile.in (uninstall): Remove a leftover debug echo.
6551 Reported by: Grégoire Sutre
6552
38023412
VS
65532010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 MIPS multiboot2 support.
6556
6557 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
6558 (multiboot2_mod_SOURCES): New variable.
6559 (multiboot2_mod_CFLAGS): Likewise.
6560 (multiboot2_mod_LDFLAGS): Likewise.
6561 (multiboot2_mod_ASFLAGS): Likewise.
6562 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
6563 definition.
6564 (MULTIBOOT_ENTRY_REGISTER): Likewise.
6565 (MULTIBOOT_MBI_REGISTER): Likewise.
6566 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
6567 (MULTIBOOT_ELF32_MACHINE): Likewise.
6568 (MULTIBOOT_ELF64_MACHINE): Likewise.
6569 * include/grub/mips/multiboot.h: New file.
6570 * include/grub/video.h (grub_video_driver_id): New type
6571 GRUB_VIDEO_DRIVER_SM712.
6572 (grub_video_get_info_and_fini): Export.
6573 (grub_video_get_palette): Likewise.
6574 (grub_video_get_driver_id): Likewise.
6575 * include/multiboot2.h: Resynced with spec.
6576 * loader/i386/multiboot.c: Moved from here ...
6577 * loader/multiboot.c: ... here. All users updated.
6578 (grub_multiboot_boot): Use platform-specific macros.
6579 * loader/i386/multiboot_elfxx.c: Moved from here ...
6580 * loader/multiboot_elfxx.c: ... here. All users updated.
6581 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
6582 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
6583 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
6584
47674667
VS
65852010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 Import gnulib argp module.
6588
6589 * gnulib/argp-ba.c: New file.
6590 * gnulib/argp-eexst.c: Likewise.
6591 * gnulib/argp-fmtstream.c: Likewise.
6592 * gnulib/argp-fmtstream.h: Likewise.
6593 * gnulib/argp-fs-xinl.c: Likewise.
6594 * gnulib/argp-help.c: Likewise.
6595 * gnulib/argp-namefrob.h: Likewise.
6596 * gnulib/argp-parse.c: Likewise.
6597 * gnulib/argp-pin.c: Likewise.
6598 * gnulib/argp-pv.c: Likewise.
6599 * gnulib/argp-pvh.c: Likewise.
6600 * gnulib/argp-version-etc.c: Likewise.
6601 * gnulib/argp-version-etc.h: Likewise.
6602 * gnulib/argp-xinl.c: Likewise.
6603 * gnulib/argp.h: Likewise.
6604
495442ed
VS
66052010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6606
6607 * kern/device.c (grub_device_iterate): Clear errors after failed
6608 opening device.
6609
f9fd65df
VS
66102010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
6613 returned by firmware.
6614
af09641e
VS
66152010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6616
6617 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
6618 compilation on coreboot and qemu
6619
016883a5
VS
66202010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 * include/multiboot2.h: Resync with spec.
6623
f97e1f7d
VS
66242010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 Multiboot2 tag support
6627
6628 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
6629 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
6630 Remove loader/multiboot_loader.c.
6631 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
6632 (grub_multiboot2_real_boot): Likewise.
6633 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
6634 (grub_get_multiboot_mmap_count): New proto.
6635 (grub_fill_multiboot_mmap): Likewise.
6636 (grub_multiboot_set_video_mode): Likewise.
6637 (grub_multiboot_set_console): Likewise.
6638 (grub_multiboot_load): Likewise.
6639 (grub_multiboot_load_elf): Likewise.
6640 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
6641 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
6642 * include/multiboot.h: Resynced with specification.
6643 * include/multiboot2.h: Resynced with specification.
6644 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
6645 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
6646 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
6647 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
6648 users updated.
6649 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
6650 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
6651 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
6652 Removed.
6653 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
6654 Moved from here...
6655 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
6656 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
6657 Moved from here...
6658 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
6659 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
6660 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
6661 All users updated.
6662 * loader/i386/multiboot_mbi2.c: New file.
6663
3506b90b
VS
66642010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 Resync with gnulib.
6667
6668 * Makefile.in (GNULIB_CFLAGS): New variable.
6669 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
6670 (grub_script_check_CFLAGS): New variable.
6671 * gnulib/alloca.h: Resync with gnulib.
6672 * gnulib/error.c: Likewise.
6673 * gnulib/error.h: Likewise.
6674 * gnulib/fnmatch.c: Likewise.
6675 * gnulib/fnmatch_loop.c: Likewise.
6676 * gnulib/getdelim.c: Likewise.
6677 * gnulib/getline.c: Likewise.
6678 * gnulib/getopt.c: Likewise.
6679 * gnulib/getopt1.c: Likewise.
6680 * gnulib/getopt_int.h: Likewise.
6681 * gnulib/gettext.h: Likewise.
6682 * gnulib/progname.c: Likewise.
6683 * gnulib/progname.h: Likewise.
6684
394a3120
GS
66852010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
6686
6687 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
6688 which is the case with --disabled-nls.
6689
6690 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
6691 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
6692 * util/misc.c: Likewise.
6693 * util/mkisofs/mkisofs.c: Likewise.
6694 * util/mkisofs/mkisofs.h: Likewise.
6695
969d1c78
VS
66962010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 Simplify Apple CC support.
6699
6700 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
6701 Add 0 byte at the end not to have a symbol with empty target.
6702 * mmap/i386/pc/mmap_helper.S: Likewise.
6703 * genmk.rb: Ignore errors 2030 and 2050.
6704 * kern/i386/pc/startup.S: Use LOCAL when possible.
6705
8d2977bb
BC
67062010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
6707
6708 Testcase and the fix for final semicolon on cmdline.
6709
6710 * tests/grub_script_final_semicolon.in: New testcase.
6711 * conf/tests.rmk: Rules for the new testcase.
6712 * script/parser.y: Grammar fix.
6713
a7bd6915
BC
67142010-03-26 BVK Chaitanya <bvk@localhost>
6715
6716 Blank lines testcase for GRUB script.
6717
6718 * tests/grub_script_blanklines.in: New testcase.
6719 * conf/tests.rmk: Rules for the new testcase.
6720
e4ff6628
VS
67212010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 Don't use __FILE__.
6724
6725 * genmk.rb: Add -DGRUB_FILE to all C targets.
6726 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
6727 * include/grub/list.h: Likewise.
6728 * include/grub/misc.h: Likewise.
6729 * include/grub/mm.h: Likewise.
6730 * include/grub/test.h: Likewise.
6731 * kern/mm.c: Likewise.
6732 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
6733
6a5cf6b6
VS
67342010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 Sunpc partitions support.
6737
6738 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
6739 (grub_fstest_SOURCES): Likewise.
6740 (pkglib_MODULES): Add part_sunpc.mod.
6741 (part_sunpc_mod_SOURCES): New variable.
6742 (part_sunpc_mod_CFLAGS): Likewise.
6743 (part_sunpc_mod_LDFLAGS): Likewise.
6744 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
6745 * partmap/sunpc.c: New file.
6746
746d9045
BC
67472010-03-26 BVK Chaitanya <bvk@localhost>
6748
6749 For loop support to GRUB script.
6750
6751 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
6752 (grub_script_create_cmdfor): New function prototype.
6753 (grub_script_execute_cmdfor): New function prototype.
6754 * script/execute.c (grub_script_execute_cmdfor): New function.
6755 * script/parser.y (command): New for command.
6756 (forcmd): New grammar rule.
6757 * script/script.c (grub_script_create_cmdfor): New function.
6758 * util/grub-script-check.c (grub_script_execute_cmdfor): New
6759 function.
6760 * tests/grub_script_for1.in: New testcase.
6761 * conf/tests.rmk: Rules for new testcase.
6762
18486b18
VS
67632010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 Nested partitions
6766
6767 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
6768 'partition' is NULL, grub_partition_get_start already does that.
6769 * commands/loadenv.c (check_blocklists): Likewise.
6770 (write_blocklists): Likewise.
6771 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
6772 (grub_fstest_SOURCES): Likewise.
6773 (pkglib_MODULES): Add part_bsd.mod.
6774 (part_bsd_mod_SOURCES): New variable.
6775 (part_bsd_mod_CFLAGS): Likewise.
6776 (part_bsd_mod_LDFLAGS): Likewise.
6777 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
6778 (grub_emu_SOURCES): Likewise.
6779 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6780 * include/grub/bsdlabel.h: New file.
6781 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
6782 'get_name'.
6783 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
6784 (grub_partition_map_list): New variable.
6785 (grub_partition_map_register): Inline.
6786 (grub_partition_map_unregister): Likewise.
6787 (FOR_PARTITION_MAPS): New macro.
6788 (grub_partition_map_iterate): Removed.
6789 (grub_partition_get_start): Handle nested partitions.
6790 * include/grub/msdos_partition.h: Remove bsd-related entries.
6791 (grub_pc_partition): Remove.
6792 * kern/disk.c (grub_disk_close): Free partition data.
6793 (grub_disk_adjust_range): Handle nested partitions.
6794 * kern/partition.c (grub_partition_map_probe): New function.
6795 (grub_partition_probe): Parse name to number, handle subpartitions.
6796 (get_partmap): New function.
6797 (grub_partition_iterate): Handle subpartitions.
6798 (grub_partition_get_name): Likewise.
6799 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
6800 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
6801 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
6802 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
6803 Set 'number'.
6804 (acorn_partition_map_probe): Remove.
6805 (acorn_partition_map_get_name): Likewise.
6806 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
6807 Set 'number'.
6808 Set 'index' to 0 since there can be only one partition entry per sector.
6809 (amiga_partition_map_probe): Remove.
6810 (amiga_partition_map_get_name): Likewise.
6811 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
6812 Set 'number'.
6813 Set 'offset' and 'index' to real positions of partitions.
6814 (apple_partition_map_probe): Remove.
6815 (apple_partition_map_get_name): Likewise.
6816 * partmap/bsdlabel.c: New file.
6817 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
6818 Set 'number'.
6819 Allocate 'data' so it can be correctly freed.
6820 Set 'index' to offset inside sector.
6821 (gpt_partition_map_probe): Remove.
6822 (gpt_partition_map_get_name): Likewise.
6823 * partmap/msdos.c (grub_partition_parse): Remove.
6824 (pc_partition_map_iterate): Don't force raw access.
6825 Set 'number'.
6826 Make 'ext_offset' a local variable.
6827 (pc_partition_map_probe): Remove.
6828 (pc_partition_map_get_name): Remove.
6829 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
6830 Set 'number'.
6831 (sun_partition_map_probe): Remove.
6832 (sun_partition_map_get_name): Likewise.
6833 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
6834 (grub_pcpart_type): Likewise.
6835 * util/hostdisk.c (open_device): Handle new numbering scheme.
6836 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
6837 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
6838 * util/grub-probe.c (probe_partmap): Handle nested paritions.
6839 * util/grub-install.in: Insert all subpartition modules.
6840 * util/ieee1275/grub-install.in: Likewise.
6841
a3940f88
AG
68422010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
6843
6844 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
6845 grammar.
6846
21b99926 68472010-03-24 Colin Watson <cjwatson@ubuntu.com>
6848
6849 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
6850
bed1d352
CW
68512010-03-21 Colin Watson <cjwatson@ubuntu.com>
6852
6853 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
6854 match where 'make install' puts them.
6855 * util/i386/efi/grub-install.in: Likewise.
6856
c9f58427
CW
68572010-03-19 Colin Watson <cjwatson@ubuntu.com>
6858
6859 * .bzrignore: Add gentrigtables, grub-script-check,
6860 grub_script_check_init.c, grub_script_check_init.h, and
6861 trigtables.c.
6862
f84afb27
VS
68632010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 * kern/parser.c: Indented.
6866
ed0e3d30
VS
68672010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
6870
0ea81d98
VS
68712010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
6874 alpha_mask_size == 0 case.
6875
0cdc2a09
BC
68762010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
6877
6878 GRUB shell lexer and parser improvements.
6879
6880 * conf/any-emu.rmk: Build rule updates.
6881 * conf/common.rmk: Likewise.
6882 * conf/i386-coreboot.rmk: Likewise.
6883 * conf/i386-efi.rmk: Likewise.
6884 * conf/i386-ieee1275.rmk: Likewise.
6885 * conf/i386-pc.rmk: Likewise.
6886 * conf/powerpc-ieee1275.rmk: Likewise.
6887 * conf/x86_64-efi.rmk: Likewise.
6888
6889 * configure.ac: Configure check for flex.
6890
6891 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
6892 types.
6893 (grub_lexer_param): Struct member updates.
6894 (grub_parser_param): Likewise.
6895 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
6896 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
6897 (grub_script_lexer_init): Prototype update.
6898 (grub_script_lexer_record_start): Likewise.
6899 (grub_script_lexer_record_stop): Likewise.
6900 (grub_script_lexer_yywrap): New function prototype.
6901 (grub_script_lexer_fini): Likewise.
6902 (grub_script_execute_argument_to_string): Removed by...
6903 (grub_script_execute_argument_to_argv): ...better version.
6904
6905 * script/execute.c (ROUND_UPTO): New macro.
6906 (grub_script_execute_cmdline): Out of memory fixes.
6907 (grub_script_execute_menuentry): Likewise.
6908 (grub_script_execute_argument_to_string): Removed. Update all
6909 users by...
6910 (grub_script_execute_argument_to_argv): ...better version.
6911 * script/function.c (grub_script_function_create): Use
6912 grub_script_execute_argument_to_argv instead of
6913 grub_script_execute_argument_to_string.
6914
6915 * script/lexer.c (check_varstate): Removed.
6916 (check_textstate): Removed.
6917 (grub_script_lexer_record_start): Likewise.
6918 (grub_script_lexer_record_stop): Likewise.
6919 (recordchar): Replaced with...
6920 (grub_script_lexer_record): ...new function.
6921 (nextchar): Removed.
6922 (grub_script_lexer_init): Rewritten.
6923 (grub_script_yylex): Rewritten.
6924 (append_newline): New function.
6925 (grub_script_lexer_yywrap): New function.
6926 (grub_script_lexer_fini): New function.
6927 (grub_script_yyerror): Sets error flag.
6928
6929 * script/yylex.l: New file.
6930 (grub_lexer_yyfree): Wrapper for flex yyffre.
6931 (grub_lexer_yyalloc): Likewise.
6932 (grub_lexer_yyrealloc): Likewise.
6933 * script/parser.y: Refactored.
6934
6935 * script/script.c (grub_script_arg_add): Out of memory fixes.
6936 (grub_script_add_arglist): Likewise.
6937 (grub_script_create_cmdline): Likewise.
6938 (grub_script_create_cmdmenu): Likewise.
6939 (grub_script_add_cmd): Likewise.
6940 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
6941 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
6942 unnecessary code.
6943
6944 * tests/grub_script_echo1.in: New testcase.
6945 * tests/grub_script_vars1.in: New testcase.
6946 * tests/grub_script_echo_keywords.in: New testcase.
6947
1d63a066
VS
69482010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 Remove some redundancy in build system.
6951
6952 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
6953 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
6954 (TARGET_LDFLAGS): Add -nostdlib.
6955 (TARGET_IMG_LDFLAGS): Likewise.
6956 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
6957 anything since mmap isn't available.
6958 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
6959 Add util/time.c.
6960 (pkglib_MODULES): Remove reboot.mod.
6961 (reboot_mod_SOURCES): Removed.
6962 (reboot_mod_CFLAGS): Likewise.
6963 (reboot_mod_LDFLAGS): Likewise.
6964 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
6965 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
6966 (DEFSYMFILES): Add kernel_syms.lst.
6967 (kernel_img_HEADERS): Add common headers.
6968 (symlist.c): New target.
6969 (kernel_syms.lst): Likewise.
6970 (pkglib_MODULES): Add memdisk.mod.
6971 (memdisk_mod_SOURCES): New variable.
6972 (memdisk_mod_CFLAGS): Likewise.
6973 (memdisk_mod_LDFLAGS): Likewise.
6974 (pkglib_MODULES): Add reboot.mod.
6975 (reboot_mod_SOURCES): New variable.
6976 (reboot_mod_CFLAGS): Likewise.
6977 (reboot_mod_LDFLAGS): Likewise.
6978 (pkglib_MODULES): Add date.mod.
6979 (date_mod_SOURCES): New variable.
6980 (date_mod_CFLAGS): Likewise.
6981 (date_mod_LDFLAGS): Likewise.
6982 (pkglib_MODULES): Add datehook.mod.
6983 (datehook_mod_SOURCES): New variable.
6984 (datehook_mod_CFLAGS): Likewise.
6985 (datehook_mod_LDFLAGS): Likewise.
6986 (pkglib_MODULES): Add lsmmap.mod.
6987 (lsmmap_mod_SOURCES): New variable.
6988 (lsmmap_mod_CFLAGS): Likewise.
6989 (lsmmap_mod_LDFLAGS): Likewise.
6990 (pkglib_MODULES): Add boot.mod.
6991 (boot_mod_SOURCES): New variable.
6992 (boot_mod_CFLAGS): Likewise.
6993 (boot_mod_LDFLAGS): Likewise.
6994 * conf/i386-coreboot.rmk: Removed redundant parts.
6995 * conf/i386-ieee1275.rmk: Likewise.
6996 * conf/i386-pc.rmk: Likewise.
6997 * conf/mips-yeeloong.rmk: Likewise.
6998 * conf/mips.rmk: Likewise.
6999 * conf/powerpc-ieee1275.rmk: Likewise.
7000 * conf/sparc64-ieee1275.rmk: Likewise.
7001 * conf/x86_64-efi.rmk: Likewise.
7002 * conf/i386-coreboot.rmk: Moved qemu parts ..
7003 * conf/i386-qemu.rmk: ... here
7004 * conf/i386-efi.rmk: Moved common parts to...
7005 * conf/x86-efi.rmk: ... here.
7006 * conf/i386.rmk: Added modules common to all x86 variants.
7007 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
7008 * disk/memdisk.c: Remove grub/machine/kernel.h.
7009 * gensymlist.sh.in: Include symbol.h.
7010 * hook/datehook.c: Correct module name.
7011 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
7012 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
7013 * include/grub/i386/efi/serial.h: New file.
7014 * include/grub/x86_64/efi/serial.h: Likewise.
7015 * util/time.c: Likewise.
7016 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
7017
463ac55f
CK
70182010-03-14 Colin King <colin.king@ubuntu.com>
70192010-03-14 Colin Watson <cjwatson@ubuntu.com>
7020
7021 Shrink the pre-partition-table part of boot.img by eight bytes.
7022
7023 * boot/i386/pc/boot.S (ERR): New macro.
7024 (chs_mode): Use ERR.
7025 (geometry_error): Likewise.
7026 (hd_probe_error): Remove. This is only used once, so we wrwite
7027 it inline instead.
7028 (read_error): Instead of printing read_error_string, just set up
7029 %si and fall through to ...
7030 (error_message): ... this new function, also used by ERR.
7031
08e46ede
CW
70322010-03-14 Colin Watson <cjwatson@ubuntu.com>
7033
7034 Speed up consecutive hostdisk operations on the same device.
7035
7036 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
7037 (grub_util_biosdisk_open): Initialise disk->data.
7038 (struct linux_partition_cache): New structure.
7039 (linux_find_partition): Cache partition start positions; these are
7040 expensive to compute on every read and write.
7041 (open_device): Cache open file descriptor in disk->data, so that we
7042 don't have to reopen it and flush the buffer cache for consecutive
7043 operations on the same device.
7044 (grub_util_biosdisk_close): New function.
7045 (grub_util_biosdisk_dev): Set `close' member.
7046
7047 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
7048 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
7049 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7050 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
7051 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
7052
4a6d2d06
VS
70532010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 Compile parts of grub-emu as modules.
7056
7057 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
7058 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
7059 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
7060 (all-local): Add $(GRUB_EMU).
7061 (install-local): Install $(GRUB_EMU).
7062 (uninstall): Uninstall $(GRUB_EMU).
7063 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
7064 * kern/dl.c: Likewise.
7065 * commands/sleep.c: Not include machine/time.h.
7066 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
7067 (COMMON_CFLAGS): Likewise.
7068 (sbin_UTILITIES): Remove grub-emu.
7069 (grub_emu_SOURCES): Removed.
7070 (kernel_img_RELOCATABLE): New variable.
7071 (pkglib_PROGRAMS): Add kernel.img.
7072 (kernel_img_SOURCES): New variable
7073 (kernel_img_CFLAGS): Likewise.
7074 (kernel_img_LDFLAGS): Likewise.
7075 (TARGET_NO_STRIP): Likewise.
7076 (TARGET_NO_DYNAMIC_MODULES): Likewise.
7077 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
7078 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
7079 (grub-emu): New target.
7080 (GRUB_EMU): New variable.
7081 * configure.ac: Whitelist -emu as possible x86_64 architecture.
7082 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
7083 * loader/xnu.c: Likewise.
7084 * include/grub/pci.h: Likewise.
7085 * genemuinit.sh: New file.
7086 * genemuinitheader.sh: Likewise.
7087 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
7088 Support TARGET_NO_DYNAMIC_MODULES.
7089 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
7090 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
7091 * disk/loopback.c: Likewise.
7092 * font/font_cmd.c: Likewise.
7093 * partmap/acorn.c: Likewise.
7094 * partmap/amiga.c: Likewise.
7095 * partmap/apple.c: Likewise.
7096 * partmap/gpt.c: Likewise.
7097 * partmap/msdos.c: Likewise.
7098 * partmap/sun.c: Likewise.
7099 * parttool/msdospart.c: Likewise.
7100 * term/gfxterm.c: Likewise.
7101 * video/bitmap.c: Likewise.
7102 * video/readers/jpeg.c: Likewise.
7103 * video/readers/png.c: Likewise.
7104 * video/readers/tga.c: Likewise.
7105 * video/video.c: Likewise.
7106 * util/grub-emu.c (read_command_list): Removed.
7107 (main): Don't call util_init_nls.
7108 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
7109 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
7110
91fdd2ed
VS
71112010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
7114 date.mod, datehook.mod.
7115 (datetime_mod_SOURCES): New variable.
7116 (datetime_mod_CFLAGS): Likewise.
7117 (datetime_mod_LDFLAGS): Likewise.
7118 (date_mod_SOURCES): Likewise.
7119 (date_mod_CFLAGS): Likewise.
7120 (date_mod_LDFLAGS): Likewise.
7121 (datehook_mod_SOURCES): Likewise.
7122 (datehook_mod_CFLAGS): Likewise.
7123 (datehook_mod_LDFLAGS): Likewise.
7124 * conf/sparc64-ieee1275.rmk: Likewise.
7125 * lib/ieee1275/datetime.c: New file.
7126
873ccae6
VS
71272010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7128
7129 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
7130 (ieee1275_fb_mod_SOURCES): New variable.
7131 (ieee1275_fb_mod_CFLAGS): Likewise.
7132 (ieee1275_fb_mod_LDFLAGS): Likewise.
7133 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
7134 New proto.
7135 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
7136 (HEAP_MAX_ADDR): Likewise.
7137 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
7138 type.
7139 Correct stop condition.
7140 (grub_ieee1275_devices_iterate): New function.
7141 * video/ieee1275.c: New file.
7142
601c97c0
VS
71432010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
7146
7147 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
7148 as scratch.
7149 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
7150 SCRATCH_PAD_DISKBOOT as scratch.
7151 (bootit): Pass Openfirmware pointer in %o4.
7152 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
7153 of 0x200000.
7154 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
7155 with util/grub-mkrawimage.c.
7156 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
7157 * include/grub/aout.h (AOUT_MID_SUN): New definition.
7158 (grub_aout_get_type) [GRUB_UTIL]: Removed.
7159 (grub_aout_load) [GRUB_UTIL]: Likewise.
7160 * include/grub/kernel.h (grub_modules_get_end): New proto.
7161 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
7162 (SCRATCH_PAD_BOOT): New definition.
7163 (SCRATCH_PAD_DISKBOOT): Likewise.
7164 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
7165 * include/grub/sparc64/ieee1275/ieee1275.h
7166 (grub_ieee1275_original_stack): New variable
7167 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
7168 New definition
7169 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
7170 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
7171 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
7172 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
7173 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
7174 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
7175 (grub_platform_image_format_t): New type.
7176 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
7177 * kern/main.c (grub_modules_get_end)
7178 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
7179 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
7180 (codestart): Switch stacks.
7181 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
7182 variable.
7183 (grub_heap_init): Use grub_modules_get_end.
7184 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
7185 stack.
7186 * util/grub-mkrawimage.c (generate_image): Support sparc64.
7187 (main): Likewise.
7188 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
7189
d68b491e
TG
71902010-03-14 Thorsten Glaser <tg@mirbsd.org>
7191
7192 * util/grub-mkrescue.in: Base ISO UUID on UTC.
7193
4e02ed50
MK
71942010-03-08 Matt Kraai <kraai@ftbfs.org>
7195
7196 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
7197 bug #559005).
7198
1f15fc1e
VS
71992010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 * genmoddep.awk: Output all missing symbols and not only first.
7202
fce5d8ff
VS
72032010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 * NEWS: Put the date of 1.98 release.
7206
d1e8a02f
VS
72072010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
7210 ft2build.h.
7211
696fd607
VS
72122010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
7215 completition in the middle of string.
7216
33e2e6f3
VS
72172010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * util/grub-mkrescue.in: Use mktemp with explicit template.
7220
b1f6d291
VS
72212010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
7224
2ac227c7
VS
72252010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
7228 right pointer.
7229
8f9a632b
VS
72302010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 Fix FreeBSD compilation.
7233
7234 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
7235 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
7236
60b03859
VS
72372010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
7240
48a5a769
VS
72412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
7244
3ab4bd77
VS
72452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
7248
d116e0d8
RM
72492010-03-04 Robert Millan <rmh.grub@aybabtu.com>
7250
7251 Support relative image path in theme file.
7252
7253 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
7254 (image_set_property): Handle theme_dir and relative path.
7255
c7ef54aa
VS
72562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * configure.ac: Alias amd64 to x86_64.
7259
fcee14ed
VS
72602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 * NEWS: mention multiboot on EFI.
7263
d0780363
VS
72642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * kern/main.c (grub_load_modules): Handle errors from init functions of
7267 embeded modules.
7268
41168ea4
VS
72692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * normal/autofs.c (autoload_fs_module): Handle errors.
7272
b54d93ac
VS
72732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 Disable linux.mod on qemu-mips since it's not functional and leads
7276 to compilation failure.
7277
7278 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
7279 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
7280 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
7281 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
7282 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
7283 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
7284 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
7285 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
7286 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
7287 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
7288 Reported by: BVK Chaitanya
7289
fc8345da
JU
72902010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
7291
7292 * INSTALL: Add gettext as a dependency and add qemu to a new section
7293 "Prerequisites for make-check".
7294
4760f979
CF
72952010-03-04 Christian Franke <franke@computer.org>
7296
7297 * util/grub-pe2elf.c: Add missing include "progname.h".
7298
f209b5b2
VS
72992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 * normal/crypto.c (read_crypto_list): Fix a typo.
7302 Reported by: Seth Goldberg.
7303
b4b7be98
VS
73042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 7307 Reported by: Seth Goldberg.
b4b7be98 7308
c0ee0385
VS
73092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
7312 ascii.bitmaps.
7313
a8efbf64
VS
73142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 7317 Reported by: Seth Goldberg.
a8efbf64 7318
08dcd913
VS
73192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * util/i386/efi/grub-install.in: Copy gettext files.
7322
c4d0b332
VS
73232010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
7326
c6f2fe52
VS
73272010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 Wait for user entry basing on presence of output rather than on errors.
7330
7331 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
7332 (grub_install_newline_hook): Likewise.
7333 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
7334 * normal/menu.c (show_menu): Check line_counter to determine presence
7335 of output.
7336 * normal/term.c (grub_normal_line_counter): New variable.
7337 (grub_normal_get_line_counter): New function.
7338 (grub_install_newline_hook): Likewise.
7339
5382b1e4
VS
73402010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
7343
5519963b
VS
73442010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 * configure.ac: Update version to 1.98.
7347
72b28631
VS
73482010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7349
7350 * util/grub.d/10_linux.in (linux_entry): Don't default to
7351 gfxpayload=keep if Linux doesn't support video handover.
7352
c140a180
VS
73532010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 Don't compile video modules on yeeloong since video subsystem is part
7356 of kernel.
7357
7358 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
7359 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
7360 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
7361 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
7362 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
7363 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
7364 * include/grub/bitmap_scale.h: Likewise.
7365 * include/grub/bufio.h: Likewise.
7366 * include/grub/font.h: Likewise.
7367 * include/grub/gfxterm.h: Likewise.
7368 * include/grub/video.h: Likewise.
7369 * include/grub/vbe.h: Don't include video_fb.h.
7370 * video/i386/pc/vbe.c: Include video_fb.h.
7371 * commands/i386/pc/vbetest.c: Include video.h.
7372
a0ca21c2
CW
73732010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
7374
7375 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
7376 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
7377 default entry if GRUB_SAVEDEFAULT=true. This allows using
7378 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
7379 saving a new default on every boot.
7380
4a8a763c
VS
73812010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 * normal/crypto.c (read_crypto_list): Fix a memory leak.
7384 * normal/term.c (read_terminal_list): Likewise.
7385 * normal/main.c (grub_normal_init_page): Likewise.
7386 (grub_normal_read_line_real): Likewise.
7387
607ffde2
VS
73882010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
7391 memory leak.
7392 Reported by: Seth Goldberg.
7393
2b8fa975
CW
73942010-02-24 Joey Korkames <joey+lists@kidfixit.com>
7395
7396 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
7397 duplicate declaration of `start'.
7398
618307dd
VS
73992010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
7402 filename.
7403 Reported by: Georgy Buranov
7404
7dd05b96 74052010-02-20 Carles Pina i Estany <carles@pina.cat>
7406
7407 * util/grub-mkrawimage.c (usage): Change string formatting to
7408 improve gettext.
7409
d1484a42
MRA
74102010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7411
7412 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
7413 backspace keys.
7414
42b1d186
VS
74152010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
7416
7417 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
7418 Reported by: Michael Suchanek.
7419
74202010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
7421
7422 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
7423 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
7424
d9f31a41
VS
74252010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 Remove any reference to non-free fonts.
7428
7429 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
7430 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
7431 uses non-free components.
7432 * font/font.c (grub_font_get_name): Remove example name.
7433 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
7434 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7435 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
7436 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
7437
2793c71e
GB
74382010-02-16 Georgy Buranov <gburanov@gmail.com>
7439
7440 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
7441
402e3779
VS
74422010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
7445 Double divisor.
7446 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
7447 features.
7448 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
7449
0dd1e0dd
VS
74502010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 * gensymlist.sh.in: Use TARGET_CC instead of CC.
7453
6fa7cfce
ST
74542010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7455
7456 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
7457 * docs/grub.texi (Command-line and menu entry commands): Document play
7458 command.
7459
37c8483b
ST
74602010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7461
7462 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
7463 parse arguments as inline tempo and notes. Move code for playing notes
7464 to...
7465 (play): ... new function.
7466
14da0fb7
ST
74672010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7468
7469 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
7470 grub_uint16_t instead of short.
7471 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
7472 disk from little endian to cpu endianness.
7473
04459e70
ST
74742010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
7475
7476 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
7477 GRUB_TICKS_PER_SECOND instead of 120.
7478
a0876943
VS
74792010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
7482 escape sequence after \e.
7483
e29f95dc
VS
74842010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
7487 non-ASCII characters.
7488
d27859b2
VS
74892010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
7492 set root in single quotes to prevent \, from being unescaped.
7493
bc028f2f
VS
74942010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 Prevent unknown commands from stopping menuentry execution.
7497
7498 * script/execute.c (grub_script_execute_cmdline): Print error after
7499 unknown command.
7500
095f5f82
VS
75012010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
7504 Reported by: Pavel Pisa.
7505
8c717950
VS
75062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
7509
904935c3
VS
75102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 Merge grub_ieee1275_map_physical into grub_map and rename to
7513 grub_ieee1275_map
7514
7515 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
7516 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
7517 Remove.
7518 * kern/ieee1275/openfw.c (grub_map): Rename to ...
7519 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
7520 necessary.
7521 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
7522
5b59a4e3
VS
75232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
7526 opening and not after.
7527
69e137e8
VS
75282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
7531 constants.
7532
2c0fcc36
VS
75332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
7536 (alloc_phys): Use ALIGN_UP instead of align_addr.
7537
8c6052ce
VS
75382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
7541
17cec782
VS
75422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
7545
e0128bbd
VS
75462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7547
7548 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
7549 verbose dprintf.
7550
ca62070b
VS
75512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 Fix over-4GiB seek on sparc64.
7554
7555 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
7556 Replace pos_i and pos_lo with pos. All users updated.
7557 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
7558 New constant.
7559 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
7560 Likewise.
7561 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
7562 and pos_lo.
7563
bdca2607
VS
75642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7565
7566 * util/grub-mkrawimage.c (main): Call set_program_name.
7567
da278c4d
VS
75682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 Properly align 64-bit targets.
7571
7572 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
7573 (generate_image): Use ALIGN_ADDR.
7574
b274d734
VS
75752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 Properly create cross-endian images.
7578
7579 * include/grub/types.h (grub_host_to_target_addr): New macro
7580 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
7581
82da2062
VS
75822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
7585
7cae4377
VS
75862010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
7589
7590 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
7591 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
7592 (grub_linux_boot): Divide by 64K when on VESA.
7593
65a533e7
VS
75942010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 Support GRUB_GFXPAYLOAD_LINUX.
7597
7598 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
7599 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
7600
dd01d397
VS
76012010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
7604 to show messages instead of discarding them.
7605 Process errors after executing command and not before. Keep old method
7606 too as precaution.
7607
660960d6
VS
76082010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * configure.ac: Check for ft2build.h.
7611
62509f04
VS
76122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
7615
473df63d
VS
76162010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7617
7618 * genkernsyms.sh.in: Use TARGET_CC.
7619
c98d2a13
CW
76202010-02-07 Colin Watson <cjwatson@ubuntu.com>
7621
7622 * NEWS: Update.
7623
6e14234c
VS
76242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
7627 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
7628 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 7629
b255e9cf
YB
76302010-02-07 Yves Blusseau <blusseau@zetam.org>
7631
6e14234c 7632 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 7633
98e6959d
VS
76342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 Fix warnings in grub-emu when compiling with maximum warning options.
7637
7638 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
7639 (grub_arch_modules_addr): Return 0 and not NULL.
7640 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 7641 (xstrdup): Use newstr instead of dup.
f88d801b
VS
7642 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
7643 of disk to dsk to avoid shadowing.
74e4934e
VS
7644 (find_free_slot): Fix prototype.
7645 * util/getroot.c (grub_util_is_dmraid): Make static.
7646 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
7647 Add missing prototype.
7648 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 7649
74e31b5c
VS
76502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 * loader/i386/linux.c (grub_linux_setup_video): Handle error
7653 appropriately.
7654
6b2ad14b
VS
76552010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
7658 code out.
7659
8f891adc
VS
76602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
7663 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
7664 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
7665 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
7666 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
7667 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
7668
74b45184
VS
76692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 * include/grub/err.h (grub_err_printf): Don't export.
7672
a4bced77
VS
76732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
7676
007d0695
VS
76772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * include/grub/i18n.h (grub_gettext_dummy): Removed.
7680 * kern/misc.c (grub_gettext_dummy): Make static.
7681
b6c0d9c2
VS
76822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
7685 by non-valid ones.
7686 * kern/term.c (grub_putchar): Likewise.
7687
f51a90d0
VS
76882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
7691 buggy hook call and memory leak.
7692
6846cec5
VS
76932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
7696
468d69fe
VS
76972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
7700
51906b8c
VS
77012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
7704 modevar.
7705 Return grub_errno on allocation error.
7706
09706ce5
VS
77072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
7710
911df80c
YB
77112010-02-06 Yves Blusseau <blusseau@zetam.org>
7712
7713 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
7714 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
7715
3746a6bc
VS
77162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
7719 non-pxe disk.
7720 (grub_pxefs_open): Likewise.
7721
09706ce5
VS
77222010-02-06 Robert Millan <rmh.grub@aybabtu.com>
7723
7724 * util/grub.d/10_hurd.in: Add --class information to menuentries.
7725 * util/grub.d/10_kfreebsd.in: Likewise.
7726 * util/grub.d/10_linux.in: Likewise.
7727
7cc192d9
VS
77282010-02-06 Colin D Bennett <colin@gibibit.com>
7729
7730 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
7731 (gfxmenu_mod_SOURCES): New variable.
7732 (gfxmenu_mod_CFLAGS): Likewise.
7733 (gfxmenu_mod_LDFLAGS): Likewise.
7734 * include/grub/term.h (grub_term_set_current_output): Declare
7735 argument as const.
7736 * docs/gfxmenu-theme-example.txt: New file.
7737 * gfxmenu/gfxmenu.c: Likewise.
7738 * gfxmenu/gui_box.c: Likewise.
7739 * gfxmenu/gui_canvas.c: Likewise.
7740 * gfxmenu/gui_circular_progress.c: Likewise.
7741 * gfxmenu/gui_image.c: Likewise.
7742 * gfxmenu/gui_label.c: Likewise.
7743 * gfxmenu/gui_list.c: Likewise.
7744 * gfxmenu/gui_progress_bar.c: Likewise.
7745 * gfxmenu/gui_string_util.c: Likewise.
7746 * gfxmenu/gui_util.c: Likewise.
7747 * gfxmenu/icon_manager.c: Likewise.
7748 * gfxmenu/model.c: Likewise.
7749 * gfxmenu/named_colors.c: Likewise.
7750 * gfxmenu/theme_loader.c: Likewise.
7751 * gfxmenu/view.c: Likewise.
7752 * gfxmenu/widget-box.c: Likewise.
7753 * include/grub/gfxmenu_model.h: Likewise.
7754 * include/grub/gfxmenu_view.h: Likewise.
7755 * include/grub/gfxwidgets.h: Likewise.
7756 * include/grub/gui.h: Likewise.
7757 * include/grub/gui_string_util.h: Likewise.
7758 * include/grub/icon_manager.h: Likewise.
7759
77602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 Agglomerate scrolling in gfxterm.
7763
7764 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
7765 (grub_virtual_screen_setup): Initialise 'total_screen'.
7766 (write_char): Split to ...
7767 (paint_char): ... this ...
7768 (write_char): ... and this.
7769 (paint_char): Handle delayed scrolling.
7770 (draw_cursor): Likewise.
7771 (scroll_up): Split to ...
7772 (real_scroll): ... this ...
7773 (scroll_up): ... and this.
7774 (real_scroll): Handle multi-line scroll and draw below-the-bottom
7775 characters.
7776 (grub_gfxterm_refresh): Call real_scroll.
7777
77782010-02-06 Colin D Bennett <colin@gibibit.com>
7779
7780 * include/grub/misc.h (grub_iscntrl): New inline function.
7781 (grub_isalnum): Likewise.
7782 (grub_strtol): Likewise.
7783
77842010-02-06 Colin D Bennett <colin@gibibit.com>
7785
7786 * normal/menu_text.c (get_entry_number): Move from here ...
7787 * normal/menu.c (get_entry_number): ... moved here.
7788 * include/grub/menu.h (grub_menu_get_default_entry_index):
7789 New prototype.
7790 * normal/menu.c (grub_menu_get_default_entry_index): New function.
7791 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
7792 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
7793 (grub_menu_viewer_should_return): Likewise.
7794 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
7795 * normal/menu_text.c (run_menu): Enable menu switching.
7796 * normal/menu_viewer.c (should_return): New variable.
7797 (menu_viewer_changed): Likewise.
7798 (grub_menu_viewer_show_menu): Handle menu viewer changes.
7799 (grub_menu_viewer_should_return): New function.
7800 (menuviewer_write_hook): Likewise.
7801 (grub_menu_viewer_init): Likewise.
7802
78032010-02-06 Colin D Bennet <colin@gibibit.com>
78042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 Support for gfxterm in a window.
7807
7808 * include/grub/gfxterm.h: New file.
7809 * include/grub/video.h (struct grub_video_rect): New declaration.
7810 (grub_video_rect_t): Likewise.
7811 * term/gfxterm.c (struct grub_gfxterm_window): New type.
7812 (refcount): New variable.
7813 (render_target): Likewise.
7814 (window): Likewise.
7815 (repaint_callback): Likewise.
7816 (grub_virtual_screen_setup): Use 'render_target'.
7817 (init_window): New function.
7818 (grub_gfxterm_init_window): Likewise.
7819 (grub_gfxterm_init): Check reference counter.
7820 Use init_window.
7821 (destroy_window): New function.
7822 (grub_gfxterm_destroy_window): Likewise.
7823 (grub_gfxterm_fini): Check reference counter.
7824 Use destroy_window.
7825 (redraw_screen_rect): Restore viewport.
7826 Use 'render_target' and 'window'.
7827 Call 'repaint_callback'.
7828 (write_char): Use 'render_target'.
7829 (draw_cursor): Likewise.
7830 (scroll_up): Restore viewport.
7831 Use 'render_target' and 'window'.
7832 Call 'repaint_callback'.
7833 (grub_gfxterm_cls): Likewise.
7834 (grub_gfxterm_refresh): Use 'window'.
7835 (grub_gfxterm_set_repaint_callback): New function.
7836 (grub_gfxterm_background_image_cmd): Use 'window'.
7837 (grub_gfxterm_get_term): New function.
7838 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
7839
78402010-02-06 Colin D Bennett <colin@gibibit.com>
7841
7842 Bitmap scaling support.
7843
7844 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
7845 (bitmap_scale_mod_SOURCES): New variable.
7846 (bitmap_scale_mod_CFLAGS): Likewise.
7847 (bitmap_scale_mod_LDFLAGS): Likewise.
7848 * include/grub/bitmap_scale.h: New file.
7849 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
7850 (background_image_cmd_options): New variable.
7851 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
7852 (cmd): Rename and change type to ...
7853 (background_image_cmd_handle): ... this. All users updated.
7854 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
7855 * video/bitmap_scale.c: New file.
7856
78572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 SDL support.
7860
7861 * Makefile.in (LIBSDL): New variable.
7862 (enable_grub_emu_sdl): Likewise.
7863 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
7864 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
7865 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
7866 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
7867 * util/sdl.c: New file.
7868
78692010-02-06 Colin D Bennett <colin@gibibit.com>
78702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 Double buffering support.
7873
7874 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
7875 * include/grub/video.h: Update comment.
7876 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7877 New type.
7878 (grub_video_fb_doublebuf_blit_init): New prototype.
7879 * term/gfxterm.c (scroll_up): Support double buffering.
7880 (grub_gfxterm_refresh): Likewise.
7881 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
7882 (grub_video_fb_doublebuf_blit_init): Likewise.
7883 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
7884 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
7885 'displayed_page', 'render_page' and 'update_screen'.
7886 (grub_video_vbe_fini): Free offscreen buffer.
7887 (doublebuf_pageflipping_commit): New function.
7888 (doublebuf_pageflipping_update_screen): Likewise.
7889 (doublebuf_pageflipping_init): Likewise.
7890 (double_buffering_init): Likewise.
7891 (grub_video_vbe_setup): Enable doublebuffering.
7892 (grub_video_vbe_swap_buffers): Implement.
7893 (grub_video_vbe_set_active_render_target): Handle double buffering.
7894 (grub_video_vbe_get_active_render_target): Likewise.
7895 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
7896 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
7897 (grub_video_vbe_enable_double_buffering): Likewise.
7898 (grub_video_vbe_swap_buffers): Use update_screen.
7899 (grub_video_set_mode): Use double buffering.
7900
79012010-02-06 Robert Millan <rmh.grub@aybabtu.com>
7902
7903 * maintainance/gentrigtables.py: Remove.
7904 * lib/trig.c: Likewise.
7905
7906 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
7907
7908 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
7909 `trigtables.c'.
7910 (trigtables.c): New rule.
7911 (gentrigtables): Likewise.
7912 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
7913
79142010-02-06 Robert Millan <rmh.grub@aybabtu.com>
7915
7916 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
7917 integer constants.
7918
79192010-02-06 Colin D Bennet <colin@gibibit.com>
7920
7921 Trigonometry support.
7922
7923 * include/grub/trig.h: New file.
7924 * lib/trig.c: Likewise.
7925 * maintainance/gentrigtables.py: Likewise.
7926 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
7927 (trig_mod_SOURCES): New variable.
7928 (trig_mod_CFLAGS): Likewise.
7929 (trig_mod_LDFLAGS): Likewise.
7930
5562834e
VS
79312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
7934 disk devices.
7935
4f8528fc
VS
79362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
7939 error.
7940
2b4068e9
VS
79412010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 * util/hostdisk.c (open_device): Don't use partition device when reading
7944 before the partition.
7945 (grub_util_biosdisk_read): Don't read from partition and before the
7946 partition in single operation.
7947 (grub_util_biosdisk_write): Don't write to partition and before the
7948 partition in single operation.
7949
399f6e4d
TL
79502010-02-03 Torsten Landschoff <torsten@debian.org>
7951
7952 * kern/disk.c (grub_disk_read): Fix offset computation when reading
7953 last sectors.
7954
996649b0
VS
79552010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
7958 CDROM reads.
7959 (grub_biosdisk_write): Refuse to write to CDROM.
7960
3b205d4d
VS
79612010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7962
7963 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
7964
61e89d9d
VS
79652010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 * font/font.c (find_glyph): Check that bmp_idx is available before
7968 using it.
7969 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
7970 with (font == NULL).
7971
bf7fcba2
CS
79722010-01-28 Christian Schmitt <chris@ilovelinux.de>
7973
7974 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
7975
f45d2663
BC
79762010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
7977
7978 * include/grub/script_sh.h (sourcecode): Add const qualifier.
7979 * util/grub-script-check.c (getline): Fix empty lines case.
7980
ec1444e6
RM
79812010-01-28 Robert Millan <rmh.grub@aybabtu.com>
7982
7983 * Makefile.in (check): Exit with fail status when one of the tests
7984 fails.
7985 * tests/example_functional_test.c (example_test): Fix reversed assert.
7986 * tests/example_unit_test.c (example_test): Likewise.
7987
2e1cb9bb
CW
79882010-01-28 Colin Watson <cjwatson@ubuntu.com>
7989
7990 * util/grub.d/10_linux.in: This script does not use any of the
7991 contents of gettext.sh, only the external command `gettext', so stop
7992 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
7993 the same prefix as GRUB.)
7994 * util/grub.d/10_kfreebsd.in: Likewise.
7995
63533ab0
VS
79962010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
7999 of the line.
8000
989e1f93
VS
80012010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8004 last sectors.
8005
e709ebe2
VS
80062010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
8009 having a 4KiB and not 32KiB buffer size.
8010
27dea7ed
RM
80112010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8012
8013 * util/hostfs.c: Include `<errno.h>'.
8014 (grub_hostfs_read): Handle errors from fseeko() and fread().
8015
67667b9c
RM
80162010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8017
8018 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
8019 loop when using read hooks on files whose size isn't sector-aligned.
8020
c294d9d8
RM
80212010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8022
8023 Remove unused parameter.
8024
8025 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
8026 (grub_iso9660_open): Remove initialization of `data->length'.
8027
af75a9f1
RM
80282010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8029
8030 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
8031 memleak conditions.
8032
254e2ce5 80332010-01-27 Carles Pina i Estany <carles@pina.cat>
8034
8035 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
8036 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
8037
b510928c 80382010-01-26 Carles Pina i Estany <carles@pina.cat>
8039
8040 * util/bin2h.c (usage): Fix warning (space after backslash).
8041
aa2f9dd2 80422010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 8043
8044 * font/font.c: Include `grub/fontformat.h.
8045 Remove font file format constants.
8046 (grub_font_load): Use the new macros.
8047 * include/grub/fontformat.h: New file.
8048 * util/grub-mkfont.c: Include `grub/fontformat.c'.
8049 (write_font_pf2): Use the new macros.
8050
94e7e712
RM
80512010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8052
8053 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
8054 does.
8055
3973a59a
RM
80562010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8057
8058 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
8059
8060 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
8061 (_start): Macroify `0x7F'.
8062
8063 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
8064 (make_install_device): Use "(pxe)" as fallback prefix when booting
8065 via PXE.
8066
42e0cba3
GS
80672010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 * configure.ac: Reset LIBS after check for libgcc symbols.
8070
847effd8
CW
80712010-01-25 Colin Watson <cjwatson@ubuntu.com>
8072
8073 * util/hostdisk.c (open_device): Add trailing newline to debug
8074 message.
8075
ea4a7e35
GS
80762010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8077
8078 * configure.ac: Check for `limits.h'.
8079 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
8080
67951a53
RM
80812010-01-24 Robert Millan <rmh.grub@aybabtu.com>
8082
8083 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
8084 capitalize error strings.
8085
c273d4ce
ST
80862010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
8087
8088 * util/grub.d/10_hurd.in: Add a recovery mode.
8089
69be5b74
VS
80902010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * configure.ac: Check for libgcc symbols with -nostdlib.
8093
fc9e5810
BC
80942010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
8095
8096 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
8097
4b358c0a
VS
80982010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
8101 stack since heap may be unavailable at that point.
8102 (grub_ofconsole_gotoxy): Likewise.
8103
454fcd1c
VS
81042010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 * configure.ac: Check for _restgpr_14_x.
8107 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
8108 and _savegpr_* prototypes.
8109
566863ca
RM
81102010-01-22 Robert Millan <rmh.grub@aybabtu.com>
8111
8112 Use generic grub_reboot() for i386-efi.
8113
8114 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
8115 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
8116 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
8117
bf86e59a
VS
81182010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
8121 presence of "prefix" variable as it breaks when normal.mod is
8122 embedded.
8123
d645e0f8
VS
81242010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
8127 stack since heap is unavailable at that point.
8128
f9ab2e25
VS
81292010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
8132 (grub_freebsd_bootinfo): Rewritten.
8133 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
8134
01fc7054
VS
81352010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8136
8137 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
8138
caab4fd6
RM
81392010-01-21 Robert Millan <rmh.grub@aybabtu.com>
8140
8141 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
8142 domain now.
8143
67eb1427
FZ
81442010-01-20 Felix Zielcke <fzielcke@z-51.de>
8145
8146 * util/misc.c (make_system_path_relative_to_its_root): Change the work
8147 around for handling "/" to the correct fix. Fix a memory leak. Use
8148 xstrdup instead of strdup.
8149
a9ed4ff3
VS
81502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
8153
81542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
8155
8156 Optimise glyph lookup by Basic Multilingual Plane lookup array.
8157
8158 * font/font.c (struct grub_font): New member 'bmp_idx'.
8159 (font_init): Initialise 'bmp_idx'.
8160 (load_font_index): Fill 'bmp_idx'.
8161 (find_glyph): Make inline. Use bmp_idx for BMP characters.
8162
48209f4f
VS
81632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
8166 unnecessary calls.
8167
9f0a4bb7
VS
81682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8169
8170 Move context handling out of the kernel.
8171
8172 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
8173 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
8174 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
8175 * conf/i386-efi.rmk: Likewise.
8176 * conf/i386-ieee1275.rmk: Likewise.
8177 * conf/i386-pc.rmk: Likewise.
8178 * conf/powerpc-ieee1275.rmk: Likewise.
8179 * conf/sparc64-ieee1275.rmk: Likewise.
8180 * conf/x86_64-efi.rmk: Likewise.
8181 * include/grub/env.h: Include grub/menu.h.
8182 (grub_env_var_type): Removed.
8183 (grub_env_var): Replaced field 'type' with 'global'.
8184 (grub_env_find): New prototype.
8185 (grub_env_context_open): Remove EXPORT_FUNC.
8186 (grub_env_context_close): Likewise.
8187 (grub_env_export): Likewise.
8188 (grub_env_set_data_slot): Removed.
8189 (grub_env_get_data_slot): Likewise.
8190 (grub_env_unset_data_slot): Likewise.
8191 (grub_env_unset_menu): New prototype.
8192 (grub_env_set_menu): Likewise.
8193 (grub_env_get_menu): Likewise.
8194 * include/grub/env_private.h: New file.
8195 * include/grub/normal.h (grub_context_init): New prototype.
8196 (grub_context_fini): Likewise.
8197 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
8198 * normal/context.c (grub_cmd_export): ... to here.
8199 * kern/env.c: Include env_private.h.
8200 (HASHSZ): Moved to include/grub/env_private.h.
8201 (grub_env_context): Likewise.
8202 (grub_env_sorted_var): Likewise.
8203 (current_context): Renamed from this ...
8204 (grub_current_context): ...to this. 'static' removed. All users updated.
8205 (grub_env_find): Removed 'static'.
8206 (grub_env_context_open): Moved to normal/context.c.
8207 (grub_env_context_close): Likewise.
8208 (grub_env_export): Likewise.
8209 (mangle_data_slot_name): Removed.
8210 (grub_env_set_data_slot): Likewise.
8211 (grub_env_get_data_slot): Likewise.
8212 (grub_env_unset_data_slot): Likewise.
8213 * kern/main.c (grub_set_root_dev): Don't export root.
8214 It will be done later.
8215 (grub_main): Don't export prefix.
8216 It will be done later.
8217 * normal/context.c: New file.
8218 * normal/main.c (free_menu): Use grub_env_unset_menu.
8219 (grub_normal_add_menu_entry): Use grub_env_get_menu.
8220 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
8221 (GRUB_MOD_INIT(normal)): Call grub_context_init.
8222 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
8223
8dd35b8c
VS
82242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8225
8226 setpci support.
8227
8228 * commands/setpci.c: New file.
8229 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
8230 (setpci_mod_SOURCES): New variable.
8231 (setpci_mod_CFLAGS): Likewise.
8232 (setpci_mod_LDFLAGS): Likewise.
8233
449193d5
VS
82342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 Byte-addressable PCI configuration space.
8237
8238 * bus/pci.c (grub_pci_make_address): Use byte address instead of
8239 dword address.
8240 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
8241 GRUB_PCI_REG_CACHELINE.
8242 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
8243 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
8244 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
8245 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
8246 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
8247 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
8248 grub_pci_make_address.
8249 (lock_rom_area): Likewise.
8250 * commands/lspci.c (grub_lspci_iter): Use macroses
8251 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
8252 of grub_pci_make_address.
8253 * disk/ata.c (grub_ata_pciinit): Likewise.
8254 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
8255 (GRUB_PCI_REG_VENDOR): Likewise.
8256 (GRUB_PCI_REG_DEVICE): Likewise.
8257 (GRUB_PCI_REG_COMMAND): Likewise.
8258 (GRUB_PCI_REG_STATUS): Likewise.
8259 (GRUB_PCI_REG_REVISION): Likewise.
8260 (GRUB_PCI_REG_CLASS): Likewise.
8261 (GRUB_PCI_REG_CACHELINE): Likewise.
8262 (GRUB_PCI_REG_LAT_TIMER): Likewise.
8263 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
8264 (GRUB_PCI_REG_BIST): Likewise.
8265 (GRUB_PCI_REG_ADDRESSES): Likewise.
8266 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8267 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8268 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8269 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8270 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8271 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8272 (GRUB_PCI_REG_CIS_POINTER): Likewise.
8273 (GRUB_PCI_REG_SUBVENDOR): Likewise.
8274 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
8275 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
8276 (GRUB_PCI_REG_CAP_POINTER): Likewise.
8277 (GRUB_PCI_REG_IRQ_LINE): Likewise.
8278 (GRUB_PCI_REG_IRQ_PIN): Likewise.
8279 (GRUB_PCI_REG_MIN_GNT): Likewise.
8280 (GRUB_PCI_REG_MAX_LAT): Likewise.
8281 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
8282 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
8283 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 8284 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
8285 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
8286 space.
8287
96d73208
RM
82882010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8289
8290 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
8291 can be reliably determined to be supported.
8292
d4484482
RM
82932010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8294
8295 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
8296 that VESA is supported.
8297 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
8298 supported.
8299
00308ecf
VS
83002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
8303
f66924a4
RM
83042010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8305
8306 * util/misc.c (make_system_path_relative_to_its_root): Work around
8307 special-casing of "/", as previous incarnation of this routine did.
8308
cbca0ada
VS
83092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 Fix any-emu compilation.
8312
8313 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
8314 * grub_bin2h_SOURCES: New variable.
8315
34a66d99
RM
83162010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8317
8318 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
8319
94fabf58
RM
83202010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8321
8322 * util/grub.d/00_header.in: Fix handling of locale_dir.
8323
02cf98ca
VS
83242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8325
8326 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
8327 as possible unifont location (Gentoo).
8328 Reported by: Alexander Brüning
8329
327dbcd7
VS
83302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8331
8332 Don't try to generate lists for kernel.img.
8333
8334 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
8335 (pkglib_MODULES): Remove kernel.img.
8336 (kernel_img_EXPORTS): Removed.
8337 (kernel_img_RELOCATABLE): New variable.
8338 * conf/x86_64-efi.rmk: Likewise.
8339 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
8340
ca467290
VS
83412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
8344 grub_xasprintf or grub_snprintf.
8345 (grub_vsprintf): Likewise.
8346 (grub_snprintf): New proto.
8347 (grub_vsnprintf): Likewise.
8348 (grub_xasprintf): Likewise.
8349 (grub_xvasprintf): Likewise.
8350 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
8351 (grub_sprintf): Removed.
8352 (grub_vsnprintf): New function.
8353 (grub_snprintf): Likewise.
8354 (grub_xvasprintf): Likewise.
8355 (grub_xasprintf): Likewise.
8356 (grub_vsprintf): Renamed to ...
8357 (grub_vsnprintf_real): ...this. New argument max_len.
8358
aca655fd
BC
83592010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
8360
8361 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
8362 fix grub-script-check warning.
8363
7ee92c32
VS
83642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8365
8366 * include/grub/font.h (grub_font_load): Fix prototype.
8367
f80927ca
VS
83682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
8371
119c50ea
VS
83722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * include/grub/x86_64/at_keyboard.h: New file.
8375
47d5f3c1
VS
83762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * loader/mips/linux.c: Include missing grub/i18n.h.
8379
55ff5266
RM
83802009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8381
8382 * normal/menu.c (notify_execution_failure): Clarify error message.
8383
c893cc87
RM
83842009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8385
8386 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
8387 return value (and revert all return statements). Update users.
8388
917dd370
CW
83892010-01-20 Dan Merillat <debian@dan.merillat.org>
8390
8391 * kern/device.c (grub_device_iterate): Allocate new part_ent
8392 structure based on sizeof (*p) rather than sizeof (p->next), to
8393 account for structure padding.
8394
8395 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
8396 disk is NULL, which might happen for LVM physical volumes with no
8397 LVM signature.
8398
d4a4ee57
RM
83992009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8400
8401 * loader/mips/linux.c (grub_cmd_initrd)
8402 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
8403
84042009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8405
8406 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
8407 (grub_video_video_init, grub_video_bitmap_init)
8408 (grub_font_manager_init, grub_term_gfxterm_init)
8409 (grub_at_keyboard_init): New extern declarations.
8410 (grub_machine_init): Initialize gfxterm and at_keyboard.
8411
8412 * kern/main.c (grub_main): Revert grub_printf delay kludge.
8413
8414 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
8415 `gfxterm.mod' into core image.
8416
8417 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8418 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8419 (kernel_img_FORMAT): Copy to ...
8420
8421 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8422 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8423 (kernel_img_FORMAT): ... here, and ...
8424
8425 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8426 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8427 (kernel_img_FORMAT): ... here.
8428
8429 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
8430 and input (at_keyboard) terminals in kernel.
8431 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
8432
8433 (pkglib_MODULES): Remove `pci.mod'.
8434 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
8435 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
8436 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
8437 (at_keyboard_mod_LDFLAGS): Remove variables.
8438
84392010-01-11 Felix Zielcke <fzielcke@z-51.de>
8440
8441 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
8442
84432009-12-10 Robert Millan <rmh.grub@aybabtu.com>
8444
8445 * include/grub/mips/libgcc.h: Only export symbols for functions
8446 that libgcc provides.
8447
84482009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 MIPS support.
8451
8452 * bus/bonito.c: New file.
8453 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
8454 GRUB_PCI_NUM_DEVICES.
8455 * term/i386/pc/serial.c: Move to ...
8456 * term/serial.c: ... here. All users updated.
8457 * util/i386/pc/grub-mkimage.c: Move to ...
8458 * util/grub-mkrawimage.c: ... here. All users updated.
8459 * term/i386/pc/at_keyboard.c: Move to ...
8460 * term/at_keyboard.c: ... here. All users updated.
8461 * conf/mips-qemu-mips.rmk: New file.
8462 * conf/mips-yeeloong.rmk: Likewise.
8463 * conf/mips.rmk: Likewise.
8464 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
8465 mipsel-qemu-mips.
8466 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
8467 to port addresses.
8468 (grub_ata_pciinit): Support CS5536.
8469 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
8470 * font/font_cmd.c (loadfont_command): Open file before passing it to
8471 grub_font_load.
8472 (pseudo_file_read): New function.
8473 (pseudo_file_close): Likewise.
8474 (pseudo_fs): New structure.
8475 (load_font_module): New function.
8476 (GRUB_MOD_INIT(font_manager)): Load embedded font.
8477 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
8478 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
8479 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
8480 * include/grub/i386/at_keyboard.h: Split into ...
8481 * include/grub/at_keyboard.h: ... this ...
8482 * include/grub/i386/at_keyboard.h: ... and this.
8483 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
8484 New prototype.
8485 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
8486 updated.
8487 (grub_elf64_size): Likewise.
8488 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
8489 filename.
8490 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
8491 * include/grub/i386/coreboot/serial.h: Rewritten.
8492 * include/grub/i386/ieee1275/serial.h: Include
8493 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
8494 * include/grub/i386/pc/serial.h: Moved from here ...
8495 * include/grub/serial.h: ... to here. All users updated.
8496 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
8497 (GRUB_PCI_NUM_BUS): Likewise.
8498 (GRUB_PCI_NUM_DEVICES): Likewise.
8499 (grub_pci_device_map_range): Add missing volatile keyword.
8500 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
8501 * include/grub/mips/at_keyboard.h: New file.
8502 * include/grub/mips/cache.h: Likewise.
8503 * include/grub/mips/io.h: Likewise.
8504 * include/grub/mips/kernel.h: Likewise.
8505 * include/grub/mips/libgcc.h: Likewise.
8506 * include/grub/mips/pci.h: Likewise.
8507 * include/grub/mips/qemu-mips/boot.h: Likewise.
8508 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8509 * include/grub/mips/qemu-mips/loader.h: Likewise.
8510 * include/grub/mips/qemu-mips/memory.h: Likewise.
8511 * include/grub/mips/qemu-mips/serial.h: Likewise.
8512 * include/grub/mips/qemu-mips/time.h: Likewise.
8513 * include/grub/mips/relocator.h: Likewise.
8514 * include/grub/mips/time.h: Likewise.
8515 * include/grub/mips/types.h: Likewise.
8516 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
8517 * include/grub/mips/yeeloong/boot.h: Likewise.
8518 * include/grub/mips/yeeloong/kernel.h: Likewise.
8519 * include/grub/mips/yeeloong/loader.h: Likewise.
8520 * include/grub/mips/yeeloong/memory.h: Likewise.
8521 * include/grub/mips/yeeloong/pci.h: Likewise.
8522 * include/grub/mips/yeeloong/serial.h: Likewise.
8523 * include/grub/mips/yeeloong/time.h: Likewise.
8524 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
8525 * kern/elf.c (grub_elf32_size): New parameter. All users
8526 updated.
8527 (grub_elf64_size): Likewise.
8528 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
8529 Load modules before saying "Welcome to GRUB!".
8530 Call grub_refresh after saying "Welcome to GRUB!".
8531 * kern/mips/cache.S: New file.
8532 * kern/mips/cache_flush.S: Likewise.
8533 * kern/mips/dl.c: Likewise.
8534 * kern/mips/init.c: Likewise.
8535 * kern/mips/qemu-mips/init.c: Likewise.
8536 * kern/mips/startup.S: Likewise.
8537 * kern/mips/yeeloong/init.c: Likewise.
8538 * kern/term.c (grub_putcode): Handle NULL terminal.
8539 (grub_getcharwidth): Likewise.
8540 (grub_getkey): Likewise.
8541 (grub_checkkey): Likewise.
8542 (grub_getkeystatus): Likewise.
8543 (grub_getxy): Likewise.
8544 (grub_getwh): Likewise.
8545 (grub_gotoxy): Likewise.
8546 (grub_cls): Likewise.
8547 (grub_setcolorstate): Likewise.
8548 (grub_setcolor): Likewise.
8549 (grub_getcolor): Likewise.
8550 (grub_refresh): Likewise.
8551 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
8552 (write_jump): Add hatch nop.
8553 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
8554 * lib/mips/setjmp.S: New file.
8555 * loader/mips/linux.c: Likewise.
8556 * term/i386/pc/at_keyboard.c: Move from here ...
8557 * term/at_keyboard.c: ... to here.
8558 * term/i386/pc/serial.c: Moved from here ...
8559 * term/serial.c: ... to here. All users updated.
8560 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
8561 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
8562 (serial_translate_key_sequence): Avoid deadlock.
8563 (grub_serial_getkey): Handle backspace.
8564 (grub_serial_putchar): Fix newline handling.
8565 * util/i386/pc/grub-mkimage.c: Move from here ...
8566 * util/grub-mkrawimage.c: ... to here. All users updated.
8567 (generate_image): New parameters 'font_path' and 'format'.
8568 Support embedding font.
8569 Use grub_host_to_target* instead of grub_cpu_to_le*.
8570 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
8571 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
8572 (options): New option "--font".
8573 (usage): Likewise.
8574 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
8575 (main): Handle "--font".
8576 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
8577 (grub_virtual_screen_setup): Set bg_color_display.
8578 (redraw_screen_rect): Use bg_color_display instead of incorrect
8579 bg_color.
8580 (grub_gfxterm_cls): Likewise.
8581 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
8582 Support embedding config file.
8583 (add_segments): Likewise.
8584 (options): New option "--config".
8585 (main): Handle "--config".
8586 * video/sm712.c: New file.
8587
25c2b5b3
RM
85882010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8589
8590 Fix parallel builds.
8591
8592 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
8593 font.c depend on ascii.h).
8594
85952010-01-12 Carles Pina i Estany <carles@pina.cat>
8596
8597 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
8598
85992010-01-11 Carles Pina i Estany <carles@pina.cat>
8600
8601 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
8602 By default: disabled.
8603 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
8604 parameter.
8605
86062010-01-10 Carles Pina i Estany <carles@pina.cat>
8607
8608 * font/font.c: Update copyright years.
8609 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
8610
86112010-01-10 Carles Pina i Estany <carles@pina.cat>
8612
8613 * font/font.c: Include `ascii.h'.
8614 (ASCII_BITMAP_SIZE): New macro.
8615 (ascii_font_glyph): Define.
8616 (ascii_glyph_lookup): New function.
8617 (grub_font_get_string_width): Change comment. If glyph not found, use
8618 ascii_glyph_lookup.
8619 (grub_font_get_glyph_with_fallback): If glyph not available returns
8620 ascii_glyph_lookup.
8621 * util/grub-mkfont.c (file_formats): New enum.
8622 (options): Add `ascii-bitmaps' new option.
8623 (usage): Add `asii-bitmaps' new option.
8624 (write_font_ascii_bitmap): New function.
8625 (write_font): Rename to ...
8626 (write_font_p2): ... this. Remove print_glyphs call.
8627 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
8628 used. Call print_glyphs.
8629 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
8630
86312010-01-14 Robert Millan <rmh.grub@aybabtu.com>
8632
8633 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
8634 (grub_bin2h_SOURCES): New variable.
8635 * util/bin2h.c: New file.
8636
915fc1b8
VS
86372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 * include/multiboot.h: Resynced with spec.
8640 * include/multiboot2.h: Likewise.
8641 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
8642 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
8643
9444b678
RM
86442010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8645
8646 * include/grub/term.h (grub_term_register_input,
8647 grub_term_register_output): Check return of terminal init()
8648 routines, and abort if errors are raised.
8649
8650 * commands/terminal.c: Update copyright year.
8651
cba98e8d
RM
86522010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8653
8654 * commands/terminal.c (grub_cmd_terminal_input)
8655 (grub_cmd_terminal_output): Check return of terminal init()
8656 routines, and abort if errors are raised.
8657
6f7db5d6
VS
86582010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * include/grub/i386/bsd.h: Fix include pathes.
8661
262bff8d
VS
86622010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 Add missing *BSD copyright headers.
8665
8666 * include/grub/aout.h: Add BSD licence.
8667 * include/grub/i386/bsd.h: Parts under different licences moved to ...
8668 * include/grub/i386/freebsd_linker.h: ... here,
8669 * include/grub/i386/freebsd_reboot.h: ... here,
8670 * include/grub/i386/netbsd_bootinfo.h: ... here,
8671 * include/grub/i386/netbsd_reboot.h: ... here,
8672 * include/grub/i386/openbsd_bootarg.h: ... here,
8673 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
8674 licence to each file.
8675
b2cab848
RM
86762010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8677
8678 * acinclude.m4: Remove `nop' assembly instruction; it's not
8679 implemented by all architectures.
8680
2cb6be4b
RM
86812010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8682
8683 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
8684 ELILO. This is no longer necessary.
8685
a2eaee15
BC
86862010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
8687
8688 Added new tool, grub-scrit-check to verify grub.cfg syntax.
8689
8690 * util/grub-script-check.c: grub-script-check tool.
8691 * conf/common.rmk: Make rules for grub-script-check.
8692
88d17012
RM
86932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8694
8695 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
8696 spotting it back in 2008. Shame on me for forgetting he did.
8697
8698 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
8699
8040619d
RM
87002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8701
8702 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
8703 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
8704 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
8705 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
8706 (GRUB_VIDEO_TYPE_EFI): Rename to ...
8707 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
8708
a0c2a0f6
RM
87092010-01-17 Robert Millan <rmh.grub@aybabtu.com>
8710
8711 * include/grub/test.h: Add license header.
8712 * tests/example_functional_test.c: Likewise.
8713 * tests/example_unit_test.c: Likewise.
8714 * tests/lib/functional_test.c: Likewise.
8715 * tests/lib/test.c: Likewise.
8716 * tests/lib/unit_test.c: Likewise.
8717
b0b13907
VS
87182010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 Use flag-based instead of hook-based video mode selection and "auto"
8721 keyword.
8722
8723 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
8724 (grub_video_set_mode): Changed prototype. All users updated.
8725 (grub_video_check_mode_flag): New inline function.
8726 * video/video.c (parse_modespec): New function.
8727 (grub_video_set_mode): Parse flags and keywords.
8728
ea379330 87292010-01-17 Carles Pina i Estany <carles@pina.cat>
8730
8731 * util/misc.c (grub_util_info): Fix the order of the parameters in a
8732 fprintf call.
8733
e15c215e
FZ
87342010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
8735
8736 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
8737
409ae1c9 87382010-01-16 Carles Pina i Estany <carles@pina.cat>
8739
8740 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
8741 string.
8742 * util/grub-emu.c (usage): Likewise.
8743 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
8744 * util/i386/efi/grub-mkimage.c (usage): Likewise.
8745 * util/i386/pc/grub-mkimage.c (usage): Likewise.
8746 * util/i386/pc/grub-setup.c (usage): Likewise.
8747
70a14d3d 87482010-01-16 Carles Pina i Estany <carles@pina.cat>
8749
8750 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
8751 the message.
8752 (grub_util_info): Likewise.
8753 (grub_util_error): Likewise.
8754 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
8755 and/or new lines in `grub_util_warna', `grub_util_info',
8756 `grub_util_error' calls.
8757 * util/getroot.c: Likewise.
8758 * util/grub-editenv.c: Likewise.
8759 * util/grub-emu.c: Likewise.
8760 * util/grub-fstest.c: Likewise.
8761 * util/grub-mkdevicemap.c: Likewise.
8762 * util/grub-mkfont.c: Likewise.
8763 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8764 * util/grub-mkrelpath.c: Likewise.
8765 * util/grub-pe2elf.c: Likewise.
8766 * util/grub-probe.c: Likewise.
8767 * util/hostdisk.c: Likewise.
8768 * util/i386/efi/grub-mkimage.c: Likewise.
8769 * util/i386/pc/grub-mkimage.c: Likewise.
8770 * util/i386/pc/grub-setup.c: Likewise.
8771 * util/ieee1275/ofpath.c: Likewise.
8772 * util/mkisofs/eltorito.c: Likewise.
8773 * util/mkisofs/rock.c: Likewise.
8774 * util/mkisofs/write.c: Likewise.
8775 * util/raid.c: Likewise.
8776 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
8777 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8778
a0b766fc
VS
87792010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8780
8781 Enable multiboot on non-pc.
8782
8783 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
8784 multiboot.mod and multiboot2.mod to ...
8785 * conf/i386.rmk (pkglib_MODULES): ... here.
8786 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
8787 Moved to ...
8788 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
8789 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
8790 Moved to ...
8791 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
8792 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
8793 Moved to ...
8794 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
8795 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
8796 Moved to ...
8797 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
8798 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
8799 relocator.mod.
8800 (ata_mod_SOURCES): Removed.
8801 (ata_mod_CFLAGS): Likewise.
8802 (ata_mod_LDFLAGS): Likewise.
8803 (relocator_mod_SOURCES): Removed.
8804 (relocator_mod_CFLAGS): Likewise.
8805 (relocator_mod_ASFLAGS): Likewise.
8806 (relocator_mod_LDFLAGS): Likewise.
8807 Include i386.mk.
8808 * include/grub/x86_64/multiboot.h: New file.
8809 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
8810 Terminate EFI.
8811
884ade56
VS
88122010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 Video multiboot support.
8815
8816 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
8817 New prototype.
8818 * include/multiboot.h: Resynced with multiboot specification.
8819 * include/multiboot2.h: Likewise.
8820 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
8821 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
8822 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
8823 (HAS_VGA_TEXT): Likewise.
8824 (accepts_video): New variable.
8825 (grub_multiboot_set_accepts_video): New function.
8826 (grub_multiboot_get_mbi_size): Account for video structures.
8827 (set_video_mode): New function.
8828 (retrieve_video_parameters): Likewise.
8829 (grub_multiboot_make_mbi): Fill video fields.
8830
0d90e8a6
VS
88312010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8832
8833 Video driver ids.
8834
8835 * include/grub/video.h (grub_video_driver_id): New type.
8836 (grub_video_adapter): New member 'id'. All users updated.
8837 (grub_video_get_driver_id): New proto.
8838 * video/video.c (grub_video_get_driver_id): New function.
8839
5c71db1b 88402010-01-14 Carles Pina i Estany <carles@pina.cat>
8841
8842 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
8843 `var=val'.
8844
cca15b52 88452010-01-14 Carles Pina i Estany <carles@pina.cat>
8846
8847 * normal/cmdline.c (print_completion): Gettextizze.
8848
c586fbb2 88492001-01-14 Carles Pina i Estany <carles@pina.cat>
8850
8851 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
8852
ba2f6848 88532010-01-14 Carles Pina i Estany <carles@pina.cat>
8854
8855 * gettext/gettext.c (grub_gettext_translate): Push and pop
8856 grub_errno.
8857 (grub_gettext_delete_list): Change comment style.
8858 * kern/err.c (grub_error): Gettextizze.
8859 (grub_fatal): Gettextizze.
8860
0a46429a
RM
88612010-01-14 Robert Millan <rmh.grub@aybabtu.com>
8862
8863 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
8864 (grub_linux16_real_boot): ... this.
8865 * kern/i386/loader.S: Likewise.
8866 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
8867 (grub_linux16_boot): New function. Switches to text mode and calls
8868 grub_linux16_real_boot().
8869
8870 * loader/i386/bsd.c: Include `<grub/video.h>'.
8871 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
8872 text mode before calling grub_unix_real_boot().
8873
8874 * loader/i386/multiboot.c: Include `<grub/video.h>'.
8875 (grub_multiboot_boot): Switch to text mode before calling
8876 grub_relocator32_boot().
8877
8878 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
8879 (grub_chainloader_boot): Switch to text mode before calling
8880 grub_chainloader_real_boot().
8881
d6f93a66
RM
88822010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
88832010-01-05 Colin Watson <cjwatson@ubuntu.com>
8884
8885 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
8886 non-empty value.
8887
88882010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
88892010-01-05 Colin Watson <cjwatson@ubuntu.com>
8890
8891 * util/grub.d/00_header.in: Define a "savedefault" function for use
8892 in menu entries.
8893 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
8894
88952010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
88962010-01-05 Colin Watson <cjwatson@ubuntu.com>
8897
8898 * util/grub-mkconfig_lib.in (save_default_entry): Only set
8899 saved_entry if boot_once is unset.
8900 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
8901 previous saved entry (i.e. grub-reboot).
8902
89032009-12-08 Colin Watson <cjwatson@ubuntu.com>
8904
8905 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
8906
89072009-12-08 Colin Watson <cjwatson@ubuntu.com>
8908
8909 * util/grub.d/00_header.in: Use `set var=val' rather than plain
8910 `var=val'.
8911 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
8912
89132009-12-08 Colin Watson <cjwatson@ubuntu.com>
8914
8915 * util/grub-reboot.in: Fix --version output.
8916 * util/grub-set-default.in: Likewise.
8917
89182009-12-08 Colin Watson <cjwatson@ubuntu.com>
8919
8920 * util/grub.d/00_header.in: Silently ignore zero-sized environment
8921 blocks.
8922
89232009-12-08 Colin Watson <cjwatson@ubuntu.com>
8924
8925 * util/grub.d/00_header.in: Quote the value assigned to `default',
8926 in case it contains spaces.
8927
89282009-12-08 Colin Watson <cjwatson@ubuntu.com>
8929
8930 * util/grub.d/30_os-prober.in: Fix merge error that moved a
8931 `save_default_entry' call from the macosx case to the linux case.
8932
89332009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
89342009-10-25 Colin Watson <cjwatson@ubuntu.com>
8935
8936 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
8937 in `chosen' environment variable.
8938 * normal/menu_text.c (get_entry_number): Check if the variable
8939 matches the title of a menu entry.
8940 (run_menu): Pass menu to get_entry_number.
8941
8942 * util/grub-reboot.in: New file.
8943 * util/grub-set-default.in: New file.
8944 * conf/common.rmk (grub-reboot): New utility.
8945 (grub-set-default): New utility.
8946
8947 * util/grub-mkconfig_lib.in (save_default_entry): New function.
8948 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
8949 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
8950 move it to `saved_entry' for the next boot. Load environment on
8951 initialisation.
8952 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
8953 * util/grub.d/10_hurd.in: Likewise.
8954 * util/grub.d/10_linux.in (linux_entry): Likewise.
8955 * util/grub.d/10_windows.in: Likewise.
8956 * util/grub.d/30_os-prober.in: Likewise.
8957
8958 * util/grub-install.in: Create environment block.
8959 * util/i386/efi/grub-install.in: Likewise.
8960 * util/ieee1275/grub-install.in: Likewise.
8961 * util/sparc64/ieee1275/grub-install.in: Likewise.
8962
0934d184
BC
89632010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
8964
8965 Unit testing framework for GRUB.
8966
8967 * Makefile.in: Test framework build rules for 'make check'.
8968 * conf/tests.rmk: Build rules for individual tests and framework.
8969
8970 * include/grub/test.h: Header file for whitebox tests.
8971 * tests/lib/functional_test.c: Framework support for whitebox
8972 functional tests.
8973 * tests/lib/test.c: Common whitebox testing code for unit and
8974 functional tests.
8975 * tests/lib/unit_test.c: Framework support for whitebox unit
8976 tests.
8977
8978 * tests/util/grub-shell-tester.in: Support utility for grub-script
8979 tests.
8980 * tests/util/grub-shell.in: Utility to execute grub-script
8981 commands in a Qemu instance.
8982
8983 * tests/example_functional_test.c: Example whitebox functional
8984 test.
8985 * tests/example_grub_script_test.in: Example grub-script test.
8986 * tests/example_scripted_test.in: Example scripted test.
8987 * tests/example_unit_test.c: Example whitebox unit test.
8988
9c4ffeeb
VS
89892010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
8992 Add loader/i386/multiboot_mbi.c.
8993 (multiboot2_mod_SOURCES): Likewise.
8994 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
8995 (multiboot2_mod_SOURCES): Likewise.
8996 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
8997 (grub_multiboot_make_mbi): Likewise.
8998 (grub_multiboot_free_mbi): Likewise.
8999 (grub_multiboot_init_mbi): Likewise.
9000 (grub_multiboot_add_module): Likewise.
9001 (grub_multiboot_set_bootdev): Likewise.
9002 * loader/i386/multiboot.c (mbi): Removed.
9003 (mbi_dest): Likewise.
9004 (alloc_mbi): New variable.
9005 (grub_multiboot_payload_size): Removed. All users updated.
9006 (grub_multiboot_pure_size): New variable.
9007 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
9008 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
9009 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
9010 (grub_fill_multiboot_mmap): Likewise.
9011 (grub_multiboot_get_bootdev): Likewise.
9012 (grub_multiboot): Use multiboot_mbi functions.
9013 * loader/i386/multiboot_mbi.c: New file.
9014
17383dfe
VS
90152010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
9018 it would result in module crash.
9019
c1f28820
VS
90202010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
9023 (grub_ofconsole_getwh): Split to ...
9024 (grub_ofconsole_getwh): ... this.
9025 (grub_ofconsole_dimensions): ...and this.
9026 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
9027
58655a16
RM
90282010-01-13 Robert Millan <rmh.grub@aybabtu.com>
9029
9030 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
9031
10891398
VS
90322010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9033
9034 * loader/i386/pc/multiboot2.c: Removed stalled file.
9035
0b8a223c
VS
90362010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
9039 Reported by: Grégoire Sutre
9040
92ab12b0
RM
90412010-01-11 Robert Millan <rmh.grub@aybabtu.com>
9042
9043 * util/misc.c (canonicalize_file_name): New function.
9044 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
9045 instead of realpath().
9046
a788afb6
CW
90472010-01-11 Colin Watson <cjwatson@ubuntu.com>
9048
9049 * util/grub-install.in (usage): Clarify meaning of --root-directory,
9050 and make it clearer that it's optional. Based on confusion
9051 witnessed on IRC.
9052
ffa8e3d2
VS
90532010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
9056 in premature implicit newline.
9057
e9060a9d
VS
90582010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
9061 which resulted in garbled command line at the end of screen.
9062
f0d0c0b7
RM
90632010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9064
9065 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
9066 initialization with similar approach as with other Linux loaders.
9067
0e60bae7
RM
90682010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9069
9070 Fix i386-ieee1275 build.
9071
9072 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
9073 and grub_term_height() for video_{width,height} initialization.
9074
90752010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
9076
9077 Fix grub-emu build.
9078
9079 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
9080
cdb3f378
RM
90812010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
90822010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9083
9084 Support for multiple terminals.
9085
9086 * Makefile.in (pkglib_DATA): terminal.lst.
9087 (terminal.lst): New target.
9088 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
9089 (GRUB_MOD_INIT(handler)): Likewise.
9090 (GRUB_MOD_FINI(handler)): Likewise.
9091 * commands/help.c (grub_cmd_help): Handle multiple terminals.
9092 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
9093 * commands/sleep.c (do_print): Use grub_term_restore_pos.
9094 (grub_cmd_sleep): Use grub_term_save_pos.
9095 * commands/terminal.c: New file.
9096 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
9097 commands/terminal.c and lib/charset.c.
9098 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
9099 (pkglib_MODULES): Add terminal.mod.
9100 (terminal_mod_SOURCES): New variable.
9101 (terminal_mod_CFLAGS): Likewise.
9102 (terminal_mod_LDFLAGS): Likewise.
9103 * genhandlerlist.sh: Don't handle terminals.
9104 * genmk.rb: Generate terminal-*.lst.
9105 * genterminallist.sh: New file.
9106 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
9107 (grub_is_valid_utf8): Likewise.
9108 (grub_utf8_to_ucs4_alloc): Likewise.
9109 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
9110 (grub_menu_register_viewer): Changed argument.
9111 (grub_menu_try_text): New proto.
9112 (grub_gfxmenu_try_hook): New declaration.
9113 * include/grub/normal.h (grub_normal_exit_level): New declaration.
9114 (grub_menu_init_page): Additional argument term.
9115 (grub_normal_init_page): Likewise.
9116 (grub_cmdline_get): Arguments simplified.
9117 (grub_utf8_to_ucs4_alloc): Removed.
9118 (grub_print_ucs4): Additional argument term.
9119 (grub_getstringwidth): Likewise.
9120 (grub_print_message_indented): Likewise.
9121 (grub_menu_text_register_instances): New proto.
9122 (grub_show_menu): Likewise.
9123 (read_terminal_list): Likewise.
9124 (grub_set_more): Likewise.
9125 * include/grub/parser.h: Include handler.h.
9126 * include/grub/reader.h: Rewritten.
9127 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
9128 (GRUB_TERM_WIDTH): Changed to function.
9129 (GRUB_TERM_HEIGHT): Likewise.
9130 (GRUB_TERM_BORDER_WIDTH): Likewise.
9131 (GRUB_TERM_BORDER_HEIGHT): Likewise.
9132 (GRUB_TERM_NUM_ENTRIES): Likewise.
9133 (GRUB_TERM_ENTRY_WIDTH): Likewise.
9134 (GRUB_TERM_CURSOR_X): Likewise.
9135 (grub_term_input_class): Likewise.
9136 (grub_term_output_class): Likewise.
9137 (grub_term_outputs_disabled): New declaration.
9138 (grub_term_inputs_disabled): Likewise.
9139 (grub_term_outputs): Likewise.
9140 (grub_term_inputs): Likewise.
9141 (grub_term_register_input): Rewritten.
9142 (grub_term_register_output): Likewise.
9143 (grub_term_unregister_input): Likewise.
9144 (grub_term_unregister_output): Likewise.
9145 (FOR_ACTIVE_TERM_INPUTS): New macro.
9146 (FOR_DISABLED_TERM_INPUTS): Likewise.
9147 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
9148 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
9149 * include/grub/terminfo.h: Add oterm argument to all protypes.
9150 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
9151 Use grub_rescue_run.
9152 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
9153 All users updated.
9154 * kern/reader.c: Removed. All users updated.
9155 * kern/rescue_reader.c (grub_rescue_init): Removed.
9156 (grub_rescue_reader): Likewise.
9157 (grub_register_rescue_reader): Likewise.
9158 (grub_rescue_run): New function based on kern/reader.c.
9159 * kern/term.c: Adapted for multiterm.
9160 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
9161 (grub_is_valid_utf8): Likewise.
9162 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
9163 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
9164 right terminal.
9165 * loader/i386/linux.c (grub_linux_boot): Likewise.
9166 * normal/auth.c (grub_username_get): New function.
9167 (grub_auth_check_authentication): Use grub_username_get.
9168 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
9169 * normal/color.c: Adapt for multiterm.
9170 * normal/main.c (read_config_file): Don't use grub_reader_loop.
9171 (grub_normal_init_page): Additional argument term.
9172 (read_lists): Call read_terminal_lists.
9173 (grub_enter_normal_mode): Call grub_cmdline_run.
9174 Handle grub_normal_exit_level.
9175 (grub_cmd_normal): Make reentrant.
9176 (grub_cmd_normal_exit): New function.
9177 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
9178 * normal/menu.c: Adapt for multiterm.
9179 * normal/menu_entry.c: Likewise.
9180 * normal/menu_text.c: Likewise.
9181 * normal/menu_viewer.c: Removed. All users updated.
9182 * normal/term.c: New file.
9183 * util/console.c: Change order of includes to workaround a bug in
9184 ncurses headers.
9185 * term/terminfo.c: New argument oterm on all exported functions.
9186 All users updated.
9187 * util/grub-editenv.c (grub_term_input_class): Removed.
9188 (grub_term_output_class): Likewise.
9189
1a064917
RM
91902010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9191
9192 Make loader output a bit more user-friendly.
9193
9194 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
9195 is being loaded. Likewise for the Hurd.
9196
9197 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
9198 that kernel of FreeBSD ${version} is being loaded.
9199
9200 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
9201 grub_dprintf().
9202 (grub_cmd_initrd): Likewise.
9203 * util/grub.d/10_linux.in (linux_entry): Print message indicating
9204 that Linux ${version} is being loaded. Likewise for initrd.
9205
5ce0a83a 92062010-01-09 Carles Pina i Estany <carles@pina.cat>
9207
9208 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
9209
809bbfeb 92102010-01-08 Carles Pina i Estany <carles@pina.cat>
9211
9212 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
9213 (GRUB_MOD_INIT): Gettextizze.
9214 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
9215 (GRUB_MOD_INIT): Gettextizze.
9216 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
9217 (grub_cmd_linux): Capitalise Linux.
9218 (GRUB_MOD_INIT): Gettextizze.
9219 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
9220 (grub_cmd_linux): Capitalise Linux.
9221 (GRUB_MOD_INIT): Gettextizze.
9222 * loader/i386/linux.c: Include `<grub/i18n.h>'.
9223 (grub_cmd_linux): Capitalise Linux.
9224 (GRUB_MOD_INIT): Gettextizze.
9225 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
9226 (GRUB_MOD_INIT): Gettextizze.
9227 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
9228 (grub_cmd_linux): Capitalise Linux.
9229 (GRUB_MOD_INIT): Gettextizze.
9230 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
9231 (grub_cpu_xnu_init): Gettextizze.
9232 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
9233 (GRUB_MOD_INIT): Gettextizze.
9234 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
9235 (GRUB_MOD_INIT): Gettextizze.
9236 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
9237 (grub_linux_load64): Capitalise Linux.
9238 (GRUB_MOD_INIT): Gettextizze.
9239 * loader/xnu.c: Include `<grub/i18n.h>'.
9240 (GRUB_MOD_INIT): Gettextizze.
9241 * po/POTFILES: Add `loader/efi/appleloader.c',
9242 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
9243 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
9244 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
9245 `loader/i386/xnu.c', `loader/multiboot_loader.c',
9246 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
9247 and `loader/xnu.c'.
9248
b394b2ca
RM
92492010-01-08 Robert Millan <rmh.grub@aybabtu.com>
9250
9251 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
9252
92532010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
9254
9255 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
9256 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
9257 * util/mkisofs/mkisofs.c (main): Readjust --version output.
9258
bc8b32b3
RM
92592010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9260
9261 Reset Multiboot 2 support. New loader implements the draft in
9262 /branches/multiboot2 and shares as much code as possible with the
9263 production Multiboot 1 implementation.
9264
9265 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
9266 * loader/multiboot2.c: Likewise.
9267 * loader/i386/multiboot_helper.S: Likewise.
9268 * include/multiboot2.h: Replace with latest version from the draft
9269 in /branches/multiboot2.
9270
9271 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
9272 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
9273 and `loader/multiboot2.c'.
9274 (pkglib_MODULES): Add `multiboot2.mod'.
9275 (multiboot2_mod_SOURCES): New variable.
9276 (multiboot2_mod_LDFLAGS): Likewise.
9277 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
9278
9279 * conf/i386-pc.rmk: Likewise.
9280
9281 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
9282 (multiboot_mod_SOURCES): Remove variable.
9283 (multiboot_mod_LDFLAGS): Likewise.
9284 (multiboot_mod_CFLAGS): Likewise.
9285
9286 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
9287 `<multiboot2.h>' instead of `<multiboot.h>'.
9288 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
9289 (MULTIBOOT_HEADER_MAGIC): New macros.
9290
9291 * loader/multiboot_loader.c (module_version_status): Remove variable.
9292 (find_multi_boot2_header): Remove function.
9293 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
9294 logic. Always check for the Multiboot version we're compiling for.
9295 (grub_cmd_module_loader): Likewise.
9296 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
9297 command instead of `multiboot'.
9298
5d2c52b8
RM
92992010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9300
9301 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
9302 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
9303 all users.
9304
53108d92
RM
93052010-01-07 Robert Millan <rmh.grub@aybabtu.com>
93062010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 Fix breakage introduced with previous commit.
9309
9310 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
9311 commands.
9312 * normal/handler.c (read_handler_list): Revert part of previous commit
9313 affecting this file.
9314 * normal/main.c (read_lists): Move read_handler_list() call back to ...
9315 (grub_normal_execute): ... here.
9316
e2e936b2
RM
93172010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9318
9319 Merge prefix-redefinition-fix branch.
9320
9321 * normal/autofs.c (read_fs_list): Make function capable of being
9322 run multiple times, gracefuly replacing the previous data
9323 structures.
9324 * normal/dyncmd.c (read_command_list): Likewise.
9325 * normal/handler.c (read_handler_list): Likewise.
9326 * normal/main.c (read_lists): New function. Calls all the
9327 list reading functions.
9328 (grub_normal_execute): Use read_lists() instead of calling all
9329 list reading functions explicitly. Register read_lists() as a
9330 variable hook attached to ${prefix}.
9331
607a3701
VS
93322010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9333
9334 Merge crypto branch.
9335
9336 * Makefile.in (pkglib_DATA): Add crypto.lst.
9337 (crypto.lst): New target.
9338 * commands/hashsum.c: New file.
9339 * commands/password.c (check_password): Use grub_crypto_memcmp.
9340 * commands/password_pbkdf2.c: New file.
9341 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
9342 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
9343 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
9344 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
9345 -I$(srcdir)/lib/libgcrypt_wrap.
9346 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
9347 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
9348 password_pbkdf2.mod.
9349 (crypto_mod_SOURCES): New variable.
9350 (crypto_mod_CFLAGS): Likewise.
9351 (crypto_mod_LDFLAGS): Likewise.
9352 (hashsum_mod_SOURCES): New variable.
9353 (hashsum_mod_CFLAGS): Likewise.
9354 (hashsum_mod_LDFLAGS): Likewise.
9355 (pbkdf2_mod_SOURCES): New variable.
9356 (pbkdf2_mod_CFLAGS): Likewise.
9357 (pbkdf2_mod_LDFLAGS): Likewise.
9358 (password_pbkdf2_mod_SOURCES): New variable.
9359 (password_pbkdf2_mod_CFLAGS): Likewise.
9360 (password_pbkdf2_mod_LDFLAGS): Likewise.
9361 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
9362 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
9363 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
9364 Include conf/gcry.rmk.
9365 * include/grub/auth.h: Rewritten.
9366 * include/grub/crypto.h: New file.
9367 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
9368 * include/grub/normal.h (read_crypto_list): New prototype.
9369 * lib/crypto.c: New file.
9370 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9371 * lib/pbkdf2.c: Likewise.
9372 * normal/auth.c (grub_auth_strcmp): Removed.
9373 (grub_iswordseparator): Likewise.
9374 (grub_auth_strword): Likewise.
9375 (is_authenticated): Use grub_strword.
9376 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
9377 and grub_strword. Pass entered password to authentication callback.
9378 * normal/crypto.c: New file.
9379 * normal/main.c: Call read_crypto_list.
9380 * util/grub-mkpasswd-pbkdf2.c: New file.
9381 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
9382
42841caa
VS
93832010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 Fix descent and ascent calculation.
9386
9387 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
9388 (options): New option "asce".
9389 (usage): Likewise.
9390 (add_char): Ignore invalid glyphs for descent calculation.
9391 Calculate ascent from actual content.
9392 (print_glyphs): Use 'asce'.
9393 (write_font): Likewise. Allow ascent override.
9394 (main): Handle "asce" option.
9395
e7730de7 93962010-01-06 Carles Pina i Estany <carles@pina.cat>
9397
9398 * kern/err.c: Include `<grub/i18n.h>'.
9399 (grub_print_error): Add full stop. Gettextizze.
9400 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
9401 (grub_bsd_load_elf): Capitalise ELF.
9402 (grub_cmd_freebsd_loadenv): Add `s' in error string.
9403 (grub_cmd_freebsd_module): Likewise.
9404 (grub_cmd_freebsd_module_elf): Likewise.
9405 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
9406
40e3a41f 94072010-01-06 Carles Pina i Estany <carles@pina.cat>
9408
9409 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
9410 * commands/search_file.c (HELP_MESSAGE): New macro.
9411 * commands/search_label.c (HELP_MESSAGE): Likewise.
9412 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
9413 * po/POTFILES: Add `commands/search_file.c',
9414 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
9415 `commands/search.c'.
9416
83507e68
RM
94172010-01-05 Robert Millan <rmh.grub@aybabtu.com>
9418
9419 * config.rpath: Update from Gnulib.
9420
465c787b
YB
94212010-01-05 Yves Blusseau <blusseau@zetam.org>
9422
9423 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
9424
6581dd3a
YB
94252010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
9426
9427 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
9428
3bff18c5
CW
94292010-01-05 Colin Watson <cjwatson@ubuntu.com>
9430
9431 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
9432 arguments to fread so that we get a return value in bytes, rather
9433 than something that will normally be rounded down to 0.
9434 Adjust error handling to avoid producing garbage when size_t is not
9435 the same size as long long.
9436
a1368118
CW
94372010-01-05 Colin Watson <cjwatson@ubuntu.com>
9438
9439 * util/mkisofs/write.c (padblock_write): Check return value of
9440 fread.
9441
7c302978
RM
94422010-01-05 Robert Millan <rmh.grub@aybabtu.com>
9443
9444 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
9445 floppy images now.
9446
9447 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
9448
e33ace06
RM
94492010-01-04 Robert Millan <rmh.grub@aybabtu.com>
9450
9451 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
9452 instead of manual alignment.
9453 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
9454 verbose). Avoid attempts to read past end of the device
9455 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
9456 but GRUB_DISK_CACHE_SIZE may exceed that).
9457
4b856776
RM
94582010-01-04 Robert Millan <rmh.grub@aybabtu.com>
9459
9460 * commands/crc.c (grub_cmd_crc): Abort on read errors.
9461 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
9462 it to upper layer.
9463
52c2d97f
VS
94642010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
9467 New constant.
9468 (grub_efi_piwg_device_path): New structure
9469 (grub_efi_piwg_device_path_t): New type.
9470 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
9471 (devpath_1): Transform to a structure. All users updated.
9472 (devpath_2): Likewise.
9473 (devpath_3): Likewise.
9474 (devpath_4): Likewise.
9475 (devpath_5): Likewise.
9476
98ff6a54
VS
94772010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9478
9479 * loader/efi/appleloader.c: Restored. Update all users.
9480
3a73dcb6
RM
94812010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9482
9483 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
9484
9485 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
9486 (struct boot_blocklist): Move from here ...
9487 * include/grub/i386/pc/boot.h [ASM_FILE]
9488 (struct grub_boot_blocklist): ... to here. Update all users.
9489 (setup): Only initialize `start' member of `first_block'
9490 structure. Add assert() calls to verify the other members.
9491
9492 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
9493 (generate_image): Fix broken blocklist length initialization.
9494 Add assert() call to verify blocklist `segment' field.
9495
ab0eeb0c
RM
94962010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9497
9498 * loader/efi/appleloader.c: Remove. Update all users.
9499
58bc8bd5
RM
95002010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9501
9502 * boot/i386/pc/boot.S: Update copyright year.
9503 * boot/i386/pc/cdboot.S: Likewise.
9504 * boot/i386/pc/diskboot.S: Likewise.
9505 * boot/i386/pc/lnxboot.S: Likewise.
9506 * boot/i386/pc/pxeboot.S: Likewise.
9507 * bus/pci.c: Likewise.
9508 * commands/cmp.c: Likewise.
9509 * commands/help.c: Likewise.
9510 * commands/hexdump.c: Likewise.
9511 * commands/i386/pc/halt.c: Likewise.
9512 * commands/i386/pc/play.c: Likewise.
9513 * commands/i386/pc/vbeinfo.c: Likewise.
9514 * commands/ls.c: Likewise.
9515 * commands/test.c: Likewise.
9516 * disk/dmraid_nvidia.c: Likewise.
9517 * disk/i386/pc/biosdisk.c: Likewise.
9518 * disk/ieee1275/nand.c: Likewise.
9519 * disk/ieee1275/ofdisk.c: Likewise.
9520 * disk/lvm.c: Likewise.
9521 * disk/raid.c: Likewise.
9522 * disk/raid6_recover.c: Likewise.
9523 * disk/scsi.c: Likewise.
9524 * fs/affs.c: Likewise.
9525 * fs/cpio.c: Likewise.
9526 * fs/ext2.c: Likewise.
9527 * fs/hfs.c: Likewise.
9528 * fs/iso9660.c: Likewise.
9529 * fs/ntfs.c: Likewise.
9530 * fs/sfs.c: Likewise.
9531 * fs/udf.c: Likewise.
9532 * fs/ufs.c: Likewise.
9533 * fs/xfs.c: Likewise.
9534 * gencmdlist.sh: Likewise.
9535 * genmk.rb: Likewise.
9536 * include/grub/disk.h: Likewise.
9537 * include/grub/efi/api.h: Likewise.
9538 * include/grub/efi/efi.h: Likewise.
9539 * include/grub/efi/pe32.h: Likewise.
9540 * include/grub/elf.h: Likewise.
9541 * include/grub/fs.h: Likewise.
9542 * include/grub/i386/at_keyboard.h: Likewise.
9543 * include/grub/i386/pc/memory.h: Likewise.
9544 * include/grub/i386/pc/vbe.h: Likewise.
9545 * include/grub/i386/pci.h: Likewise.
9546 * include/grub/i386/tsc.h: Likewise.
9547 * include/grub/ieee1275/ieee1275.h: Likewise.
9548 * include/grub/ntfs.h: Likewise.
9549 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
9550 * include/grub/sparc64/libgcc.h: Likewise.
9551 * include/grub/symbol.h: Likewise.
9552 * include/grub/types.h: Likewise.
9553 * include/multiboot2.h: Likewise.
9554 * io/gzio.c: Likewise.
9555 * kern/device.c: Likewise.
9556 * kern/disk.c: Likewise.
9557 * kern/efi/efi.c: Likewise.
9558 * kern/efi/mm.c: Likewise.
9559 * kern/elf.c: Likewise.
9560 * kern/file.c: Likewise.
9561 * kern/i386/dl.c: Likewise.
9562 * kern/i386/pc/init.c: Likewise.
9563 * kern/i386/pc/startup.S: Likewise.
9564 * kern/ieee1275/ieee1275.c: Likewise.
9565 * kern/ieee1275/init.c: Likewise.
9566 * kern/main.c: Likewise.
9567 * kern/mm.c: Likewise.
9568 * kern/powerpc/dl.c: Likewise.
9569 * kern/sparc64/dl.c: Likewise.
9570 * kern/x86_64/dl.c: Likewise.
9571 * lib/hexdump.c: Likewise.
9572 * loader/efi/appleloader.c: Likewise.
9573 * loader/i386/ieee1275/linux.c: Likewise.
9574 * loader/i386/pc/chainloader.c: Likewise.
9575 * loader/i386/pc/linux.c: Likewise.
9576 * loader/i386/pc/multiboot2.c: Likewise.
9577 * loader/ieee1275/multiboot2.c: Likewise.
9578 * loader/multiboot2.c: Likewise.
9579 * loader/multiboot_loader.c: Likewise.
9580 * loader/powerpc/ieee1275/linux.c: Likewise.
9581 * normal/completion.c: Likewise.
9582 * normal/menu_entry.c: Likewise.
9583 * partmap/apple.c: Likewise.
9584 * util/grub.d/10_hurd.in: Likewise.
9585 * util/hostfs.c: Likewise.
9586 * video/readers/png.c: Likewise.
9587
e2d70b5c
CW
95882010-01-03 Colin Watson <cjwatson@ubuntu.com>
9589
9590 * include/grub/misc.h (GNUC_PREREQ): New macro.
9591 (ATTRIBUTE_ERROR): New macro.
9592 * include/grub/list.h (grub_bad_type_cast_real): Use
9593 ATTRIBUTE_ERROR.
9594
a173283f 95952010-01-03 Carles Pina i Estany <carles@pina.cat>
9596
9597 * normal/menu_text.c (print_message): Change messages.
9598
7fa7ff74 95992010-01-03 Carles Pina i Estany <carles@pina.cat>
9600
9601 * normal/menu_entry.c (store_completion): Gettextizze.
9602
136d24f6 96032010-01-03 Carles Pina i Estany <carles@pina.cat>
9604
9605 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
9606
f936862e 96072010-01-03 Carles Pina i Estany <carles@pina.cat>
9608
9609 * po/POTFILES: Sort correctly.
9610
29c44ad1 96112010-01-03 Carles Pina i Estany <carles@pina.cat>
9612
9613 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
9614 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
9615 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
9616 full stop.
9617 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
9618 summary. Gettextizze the strings.
9619 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
9620 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
9621 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
9622 full stop.
9623 (GRUB_MOD_INIT): Remove command name from summary.
9624 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
9625 summary.
9626 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
9627 * term/i386/pc/serial.c (options): Add full stops.
9628 (GRUB_MOD_INIT): Remove command name from the summary.
9629
77a79592 96302010-01-03 Carles Pina i Estany <carles@pina.cat>
9631
9632 * commands/acpi.c: Gettextizze help strings and/or options. Include
9633 `grub/i18n.h' if needed.
9634 * commands/blocklist.c: Likewise.
9635 * commands/boot.c: Likewise.
9636 * commands/cat.c: Likewise.
9637 * commands/cmp.c: Likewise.
9638 * commands/configfile.c: Likewise.
9639 * commands/crc.c: Likewise.
9640 * commands/date.c: Likewise.
9641 * commands/echo.c: Likewise.
9642 * commands/efi/fixvideo.c: Likewise.
9643 * commands/efi/loadbios.c: Likewise.
9644 * commands/gptsync.c: Likewise.
9645 * commands/halt.c: Likewise.
9646 * commands/handler.c: Likewise.
9647 * commands/hdparm.c: Likewise.
9648 * commands/hexdump.c: Likewise.
9649 * commands/i386/cpuid.c: Likewise.
9650 * commands/i386/pc/drivemap.c: Likewise.
9651 * commands/i386/pc/halt.c: Likewise.
9652 * commands/i386/pc/pxecmd.c: Likewise.
9653 * commands/i386/pc/vbeinfo.c: Likewise.
9654 * commands/i386/pc/vbetest.c: Likewise.
9655 * commands/ieee1275/suspend.c: Likewise.
9656 * commands/keystatus.c: Likewise.
9657 * commands/loadenv.c: Likewise.
9658 * commands/ls.c: Likewise.
9659 * commands/lsmmap.c: Likewise.
9660 * commands/lspci.c: Likewise.
9661 * commands/memrw.c: Likewise.
9662 * commands/minicmd.c: Likewise.
9663 * commands/parttool.c: Likewise.
9664 * commands/password.c: Likewise.
9665 * commands/probe.c: Likewise.
9666 * commands/read.c: Likewise.
9667 * commands/reboot.c: Likewise.
9668 * commands/search.c: Likewise.
9669 * commands/sleep.c: Likewise.
9670 * commands/test.c: Likewise.
9671 * commands/true.c: Likewise.
9672 * commands/usbtest.c: Likewise.
9673 * commands/videotest.c: Likewise.
9674 * commands/xnu_uuid.c: Likewise.
9675 * disk/loopback.c: Likewise.
9676 * hello/hello.c: Likewise.
9677 * loader/i386/bsd.c: Likewise.
9678 * term/i386/pc/serial.c: Likewise.
9679 * po/POTFILES: Add new files.
9680
da8d5c53
CW
96812010-01-02 Colin Watson <cjwatson@ubuntu.com>
9682
9683 * term/i386/pc/at_keyboard.c
9684 (keyboard_controller_wait_untill_ready): Rename to ...
9685 (keyboard_controller_wait_until_ready): ... this. Update all users.
9686
33937904 96872010-01-01 Carles Pina i Estany <carles@pina.cat>
9688
9689 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
9690 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
9691 string using string width.
9692 * normal/menu_text.c (grub_print_message_indented): Use
9693 grub_print_spaces and not print_spaces.
9694 (print_timeout): Likewise.
9695 (print_spaces): Move to...
9696 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
9697
3fd3b8d8
RM
96982010-01-01 Robert Millan <rmh.grub@aybabtu.com>
9699
9700 Import from Gnulib.
9701
9702 * gnulib/getdelim.c: New file.
9703 * gnulib/getline.c: Likewise.
9704
33433555
VS
97052009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
9706
9707 * include/grub/list.h (grub_assert_fail): Removed.
9708 (grub_bad_type_cast_real): New function.
9709 (grub_bad_type_cast): New macro.
9710 (GRUB_AS_LIST): Use grub_bad_type_cast.
9711 (GRUB_AS_LIST_P): Likewise.
e44721e8 9712 (GRUB_AS_NAMED_LIST): Likewise.
33433555 9713 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 9714 (GRUB_AS_PRIO_LIST): Likewise.
33433555 9715 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 9716 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 9717
f5a51306
VS
97182009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
9721 Fix syntax error.
9722
90d1e879
RM
97232009-12-29 Robert Millan <rmh.grub@aybabtu.com>
9724
9725 * configure.ac: Check for TARGET_CFLAGS initialization before we
9726 initialize it ourselves (sigh).
9727 Move a few modifications to TARGET_CFLAGS to be unconditional
9728 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
9729 eh_frame)
9730
9731 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
9732 * term/i386/pc/at_keyboard.c
9733 (keyboard_controller_wait_untill_ready): Likewise.
9734 (keyboard_controller_led): Rename `led_status' paramter to avoid
9735 name conflict.
9736
465b5a81 97372009-12-28 Carles Pina i Estany <carles@pina.cat>
9738
9739 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
9740 quotes.
9741
c181849b
VS
97422009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9743
9744 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
9745
9c8739a4
VS
97462009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * normal/menu_text.c (grub_print_message_indented): Prevent
9749 past-the-end-of-array dereference.
9750
3e74249c
VS
97512009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
9754 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
9755
64fd18ed 97562009-12-27 Carles Pina i Estany <carles@pina.cat>
9757
9758 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
9759 * normal/main.c (grub_normal_read_line): Remove a space from the
9760 default prompt.
9761
714af9b9 97622009-12-27 Carles Pina i Estany <carles@pina.cat>
9763
9764 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
9765 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
9766 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
9767 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
9768 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
9769 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
9770 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
9771
82f3e412 97722009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 9773
9774 * video/readers/jpeg.c (cmd): Declare.
9775 (grub_cmd_jpegtest): Use `grub_command_t' type.
9776 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
9777 Assign to `cmd'.
9778 (GRUB_MOD_FINI): Use `cmd' to unregister.
9779 * video/readers/png.c (cmd): Declare.
9780 (grub_cmd_pngtest): Use `grub_command_t' type.
9781 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
9782 Assign to `cmd'.
9783 (GRUB_MOD_FINI): Use `cmd' to unregister.
9784 * video/readers/tga.c (cmd): Declare.
9785 (grub_cmd_tgatest): Use `grub_command_t' type.
9786 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
9787 Assign to `cmd'.
9788 (GRUB_MOD_FINI): Use `cmd' to unregister.
9789
82f3e412 97902009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 9791
9792 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
9793 stops.
9794 * kern/corecmd.c (grub_register_core_commands): Likewise.
9795 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
9796 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
9797 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
9798 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
9799 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
9800 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
9801 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
9802 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
9803 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
9804 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
9805 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
9806 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
9807 * normal/handler.c (insert_handler): Likewise.
9808 * normal/main.c (GRUB_MOD_INIT): Likewise.
9809 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
9810
fdcdbb66 98112009-12-26 Carles Pina i Estany <carles@pina.cat>
9812
9813 * commands/help.c (grub_cmd_help): Print the command name before the
9814 summary.
9815 (GRUB_MOD_INIT): Remove command name from the summary.
9816 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 9817 string as summary.
fdcdbb66 9818 * lib/arg.c (find_long): Print the command name before the summary.
9819 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
9820 summary.
9821 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
9822 * commands/cat.c (GRUB_MOD_INIT): Likewise.
9823 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
9824 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
9825 * commands/crc.c (GRUB_MOD_INIT): Likewise.
9826 * commands/date.c (GRUB_MOD_INIT): Likewise.
9827 * commands/echo.c (GRUB_MOD_INIT): Likewise.
9828 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
9829 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
9830 * commands/handler.c (GRUB_MOD_INIT): Likewise.
9831 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
9832 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
9833 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
9834 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
9835 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
9836 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
9837 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
9838 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
9839 * commands/ls.c (GRUB_MOD_INIT): Likewise.
9840 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
9841 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
9842 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
9843 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
9844 * commands/password.c (GRUB_MOD_INIT): Likewise.
9845 * commands/probe.c (GRUB_MOD_INIT): Likewise.
9846 * commands/read.c (GRUB_MOD_INIT): Likewise.
9847 * commands/search.c (GRUB_MOD_INIT): Likewise.
9848 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
9849 * commands/test.c (GRUB_MOD_INIT): Likewise.
9850 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
9851 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
9852 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
9853 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
9854 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
9855 * lib/arg.c (GRUB_MOD_INIT): Likewise.
9856 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
9857 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
9858 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
9859 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
9860 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
9861 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
9862 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
9863 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
9864
9c288be2
VS
98652009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 Use search command for preliminar UUID search.
9868
9869 * commands/search.c: Split into ...
9870 * commands/search_wrap.c: ...this
9871 * commands/search.c: ...and this.
9872 * commands/search_file.c: New file.
9873 * commands/search_label.c: New file.
9874 * commands/search_uuid.c: New file.
9875 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
9876 Add commands/search_wrap.c, commands/search_file.c,
9877 commands/search_label.c and commands/search_uuid.c.
9878 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
9879 (search_mod_SOURCES): Set to commands/search_wrap.c.
9880 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
9881 search_label.mod.
9882 (search_fs_file_mod_SOURCES): New variable.
9883 (search_fs_file_mod_CFLAGS): Likewise.
9884 (search_fs_file_mod_LDFLAGS): Likewise.
9885 (search_label_mod_SOURCES): Likewise.
9886 (search_label_mod_CFLAGS): Likewise.
9887 (search_label_mod_LDFLAGS): Likewise.
9888 (search_fs_uuid_mod_SOURCES): New variable.
9889 (search_fs_uuid_mod_CFLAGS): Likewise.
9890 (search_fs_uuid_mod_LDFLAGS): Likewise.
9891 (fs_file_mod_SOURCES): Removed.
9892 (fs_file_mod_CFLAGS): Likewise.
9893 (fs_file_mod_LDFLAGS): Likewise.
9894 (fs_uuid_mod_SOURCES): Removed.
9895 (fs_uuid_mod_CFLAGS): Likewise.
9896 (fs_uuid_mod_LDFLAGS): Likewise.
9897 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
9898 Set to util/grub-install.in.
9899 * disk/fs_file.c: Removed.
9900 * disk/fs_uuid.c: Likewise.
9901 * include/grub/search.h: New file.
9902 * util/grub-install.in: Handle sparc64.
9903 Create and use load.cfg.
9904 * util/sparc64/ieee1275/grub-install.in: Removed.
9905
db943399
VS
99062009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
9909 Ignore return status if CF is cleared.
9910 (grub_biosdisk_get_diskinfo_standard): Likewise.
9911
3fdae612
RM
99122009-12-25 Robert Millan <rmh.grub@aybabtu.com>
9913
9914 * term/i386/pc/at_keyboard.c
9915 (keyboard_controller_wait_untill_ready): New function.
9916 (grub_keyboard_controller_write, grub_keyboard_controller_read)
9917 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
9918 for keyboard polling, rather than duplicate the same loop. This
9919 saves a few bytes in code size.
9920
7ebaa2b4
VS
99212009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 Support for (pxe[:server[:gateway]]) syntax and
9924 use environment variable for PXE.
9925
9926 * commands/i386/pc/pxecmd.c (options): Removed.
9927 (print_ip): Removed.
9928 (grub_cmd_pxe): Removed
9929 (grub_cmd_pxe_unload): New function.
9930 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
9931 (grub_pxe_your_ip): Made static.
9932 (grub_pxe_default_server_ip): Likewise.
9933 (grub_pxe_default_gateway_ip): Likewise.
9934 (grub_pxe_blksize): Likewise.
9935 (parse_ip): New function.
9936 (grub_pxe_open): Support server and gateway specification.
9937 (grub_pxe_close): Free disk->data.
9938 (grub_pxefs_open): Use disk->data.
9939 (grub_pxefs_read): Likewise.
9940 (grub_env_write_readonly): New function.
9941 (set_mac_env): Likewise.
9942 (set_env_limn_ro): Likewise.
9943 (parse_dhcp_vendor): Likewise.
9944 (grub_pxe_detect): Set the environment variables.
9945 (set_ip_env): New function.
9946 (write_ip_env): Likewise.
9947 (grub_env_write_pxe_default_server): Likewise.
9948 (grub_env_write_pxe_default_gateway): Likewise.
9949 (grub_env_write_pxe_blocksize): Likewise.
9950 (GRUB_MOD_INIT(pxe)): Set environment variables.
9951 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
9952 (grub_pxe_mac_addr_t): ... this. All users updated.
9953 (grub_pxe_your_ip): Removed.
9954 (grub_pxe_server_ip): Likewise.
9955 (grub_pxe_gateway_ip): Likewise.
9956 (grub_pxe_blksize): Likewise.
9957
ec5f98ab 99582009-12-25 Carles Pina i Estany <carles@pina.cat>
9959
9960 * commands/help.c: Include `<grub/i18n.h>'.
9961 (grub_cmd_help): Gettextizze.
9962 (GRUB_MOD_INIT): Likewise.
9963 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
9964 (GRUB_MOD_INIT): Gettextizze.
9965 * commands/search.c: Include `<grub/i18n.h>'.
9966 (options): Gettextizze.
9967 (GRUB_MOD_INIT): Gettextizze.
9968 * lib/arg.c: Include `<grub/i18n.h>'.
9969 (help_options): Gettextizze.
9970 (find_long): Likewise.
9971 (grub_arg_show_help): Likewise.
9972 * normal/dyncmd.c: Include `<grub/i18n.h>'.
9973 (read_command_list): Gettextizze.
9974 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 9975 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 9976
22815526
RM
99772009-12-25 Robert Millan <rmh.grub@aybabtu.com>
9978
9979 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
9980 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
9981 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
9982 (led_status): New variable.
9983 (keyboard_controller_led): New function.
9984 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
9985 update led status for caps lock, num lock and scroll lock.
9986
0ad46fd7
FZ
99872009-12-25 Felix Zielcke <fzielcke@z-51.de>
9988
9989 * util/hostdisk.c (open_device): Fix a comment.
9990
d0e158c2
RM
99912009-12-24 Robert Millan <rmh.grub@aybabtu.com>
9992
9993 * util/grub-install.in (host_os): New variable.
9994 * util/i386/efi/grub-install.in (host_os): Likewise.
9995
401c0ad6
RM
99962009-12-24 Robert Millan <rmh.grub@aybabtu.com>
9997
9998 * util/mkisofs/write.c (padblock_write): Abort when given an
9999 excedingly large embed image, instead of silently truncating it.
10000
d14d3370
RM
100012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10002
10003 * include/multiboot.h: Indentation fixes.
10004
eeed10b4
RM
100052009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10006
10007 * include/multiboot.h (struct multiboot_aout_symbol_table)
10008 (struct multiboot_elf_section_header_table): New structure
10009 declarations (stolen from GRUB Legacy).
10010 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
10011 table information.
10012
10013 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
10014 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
10015 type aliases.
10016
681c70ab
RM
100172009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10018
10019 * include/multiboot.h: Make comments src2texi-friendly.
10020
e4d47d8d
RM
100212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10022
10023 For consistency with [multiboot]/docs/boot.S.
10024
10025 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
10026 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
10027 (MULTIBOOT_MAGIC2): Rename from this ...
10028 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
10029
a0b70bda
RM
100302009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10031
10032 * include/multiboot.h: Remove `<grub/types.h>'.
10033 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
10034 types. Update all users.
10035
61ba42be 100362009-12-25 Carles Pina i Estany <carles@pina.cat>
10037
10038 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
10039 `couldn't' and `can not' by `cannot'.
10040 * commands/i386/pc/drivemap.c: Likewise.
10041 * disk/ata.c: Likewise.
10042 * disk/ieee1275/nand.c: Likewise.
10043 * fs/affs.c: Likewise.
10044 * fs/fat.c: Likewise.
10045 * fs/hfs.c: Likewise.
10046 * fs/hfsplus.c: Likewise.
10047 * fs/iso9660.c: Likewise.
10048 * fs/jfs.c: Likewise.
10049 * fs/minix.c: Likewise.
10050 * fs/reiserfs.c: Likewise.
10051 * fs/sfs.c: Likewise.
10052 * fs/udf.c: Likewise.
10053 * fs/ufs.c: Likewise.
10054 * fs/xfs.c: Likewise.
10055 * loader/powerpc/ieee1275/linux.c: Likewise.
10056 * loader/sparc64/ieee1275/linux.c: Likewise.
10057 * util/grub-probe.c: Likewise.
10058 * util/misc.c: Likewise.
10059
7fd0baee 100602009-12-24 Carles Pina i Estany <carles@pina.cat>
10061
10062 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
10063 grub_errno calls.
10064 * commands/acpi.c: Likewise.
10065 * commands/blocklist.c: Likewise.
10066 * commands/efi/loadbios.c: Likewise.
10067 * commands/i386/pc/drivemap.c: Likewise.
10068 * commands/loadenv.c: Likewise.
10069 * commands/memrw.c: Likewise.
10070 * commands/password.c: Likewise.
10071 * commands/videotest.c: Likewise.
10072 * disk/ata.c: Likewise.
10073 * disk/ata_pthru.c: Likewise.
10074 * disk/dmraid_nvidia.c: Likewise.
10075 * disk/ieee1275/nand.c: Likewise.
10076 * disk/ieee1275/ofdisk.c: Likewise.
10077 * disk/loopback.c: Likewise.
10078 * disk/lvm.c: Likewise.
10079 * disk/mdraid_linux.c: Likewise.
10080 * disk/raid.c: Likewise.
10081 * disk/raid6_recover.c: Likewise.
10082 * disk/scsi.c: Likewise.
10083 * efiemu/main.c: Likewise.
10084 * efiemu/mm.c: Likewise.
10085 * efiemu/pnvram.c: Likewise.
10086 * efiemu/symbols.c: Likewise.
10087 * font/font.c: Likewise.
10088 * fs/cpio.c: Likewise.
10089 * fs/hfsplus.c: Likewise.
10090 * fs/iso9660.c: Likewise.
10091 * fs/jfs.c: Likewise.
10092 * fs/minix.c: Likewise.
10093 * fs/ntfs.c: Likewise.
10094 * fs/ntfscomp.c: Likewise.
10095 * fs/reiserfs.c: Likewise.
10096 * fs/ufs.c: Likewise.
10097 * fs/xfs.c: Likewise.
10098 * gettext/gettext.c: Likewise.
10099 * include/grub/auth.h: Likewise.
10100 * kern/elf.c: Likewise.
10101 * kern/file.c: Likewise.
10102 * kern/ieee1275/init.c: Likewise.
10103 * kern/ieee1275/mmap.c: Likewise.
10104 * kern/ieee1275/openfw.c: Likewise.
10105 * kern/powerpc/dl.c: Likewise.
10106 * kern/sparc64/dl.c: Likewise.
10107 * lib/arg.c: Likewise.
10108 * loader/i386/bsd.c: Likewise.
10109 * loader/i386/bsdXX.c: Likewise.
10110 * loader/i386/efi/linux.c: Likewise.
10111 * loader/i386/efi/xnu.c: Likewise.
10112 * loader/i386/ieee1275/linux.c: Likewise.
10113 * loader/i386/linux.c: Likewise.
10114 * loader/i386/multiboot.c: Likewise.
10115 * loader/i386/pc/linux.c: Likewise.
10116 * loader/i386/pc/multiboot2.c: Likewise.
10117 * loader/i386/xnu.c: Likewise.
10118 * loader/ieee1275/multiboot2.c: Likewise.
10119 * loader/macho.c: Likewise.
10120 * loader/machoXX.c: Likewise.
10121 * loader/multiboot2.c: Likewise.
10122 * loader/multiboot_loader.c: Likewise.
10123 * loader/powerpc/ieee1275/linux.c: Likewise.
10124 * loader/sparc64/ieee1275/linux.c: Likewise.
10125 * loader/xnu.c: Likewise.
10126 * loader/xnu_resume.c: Likewise.
10127 * mmap/i386/pc/mmap.c: Likewise.
10128 * normal/menu_viewer.c: Likewise.
10129 * partmap/acorn.c: Likewise.
10130 * partmap/amiga.c: Likewise.
10131 * partmap/apple.c: Likewise.
10132 * script/lexer.c: Likewise.
10133 * term/gfxterm.c: Likewise.
10134 * term/i386/pc/serial.c: Likewise.
10135 * term/i386/pc/vga.c: Likewise.
10136 * term/ieee1275/ofconsole.c: Likewise.
10137 * term/terminfo.c: Likewise.
10138 * video/bitmap.c: Likewise.
10139 * video/efi_gop.c: Likewise.
10140 * video/efi_uga.c: Likewise.
10141 * video/fb/video_fb.c: Likewise.
10142 * video/i386/pc/vbe.c: Likewise.
10143 * video/readers/tga.c: Likewise.
10144 * video/video.c: Likewise.
10145
0ad46fd7 101462009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
10147
10148 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
10149 * commands/lspci.c: Likewise.
10150 * commands/probe.c: Likewise.
10151 * commands/xnu_uuid.c: Likewise.
10152 * conf/i386-coreboot.rmk: Likewise.
10153 * conf/i386-efi.rmk: Likewise.
10154 * conf/i386-ieee1275.rmk: Likewise.
10155 * conf/i386-pc.rmk: Likewise.
10156 * conf/powerpc-ieee1275.rmk: Likewise.
10157 * conf/sparc64-ieee1275.rmk: Likewise.
10158 * conf/x86_64-efi.rmk: Likewise.
10159 * fs/i386/pc/pxe.c: Likewise.
10160 * gettext/gettext.c: Likewise.
10161 * include/grub/efi/graphics_output.h: Likewise.
10162 * include/grub/i386/pc/memory.h: Likewise.
10163 * kern/env.c: Likewise.
10164 * kern/i386/qemu/startup.S: Likewise.
10165 * lib/i386/pc/biosnum.c: Likewise.
10166 * lib/i386/relocator.c: Likewise.
10167 * lib/i386/relocator_asm.S: Likewise.
10168 * lib/relocator.c: Likewise.
10169 * loader/i386/bsd.c: Likewise.
10170 * loader/i386/multiboot.c: Likewise.
10171 * loader/i386/pc/chainloader.c: Likewise.
10172 * loader/i386/xnu.c: Likewise.
10173 * loader/xnu.c: Likewise.
10174 * normal/main.c: Likewise.
10175 * normal/menu_text.c: Likewise.
10176 * util/getroot.c: Likewise.
10177 * util/grub-mkconfig_lib.in: Likewise.
10178 * util/grub.d/00_header.in: Likewise.
10179 * util/i386/pc/grub-mkimage.c: Likewise.
10180 * util/mkisofs/eltorito.c: Likewise.
10181 * util/mkisofs/exclude.h: Likewise.
10182 * util/mkisofs/hash.c: Likewise.
10183 * util/mkisofs/iso9660.h: Likewise.
10184 * util/mkisofs/joliet.c: Likewise.
10185 * util/mkisofs/mkisofs.c: Likewise.
10186 * util/mkisofs/mkisofs.h: Likewise.
10187 * util/mkisofs/multi.c: Likewise.
10188 * util/mkisofs/name.c: Likewise.
10189 * util/mkisofs/rock.c: Likewise.
10190 * util/mkisofs/tree.c: Likewise.
10191 * util/mkisofs/write.c: Likewise.
10192 * video/efi_gop.c: Likewise.
10193
009ec743
VS
101942009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10195
10196 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
10197 size counting.
10198
0ad46fd7 101992009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
10200
10201 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
10202 * genmk.rb (class SCRIPT): Modify the target file instead of source.
10203
d3d30ea0
VS
102042009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
10207 (GRUB_MOD_INIT(memrw)): Update help line.
10208
a34f5c70
VS
102092009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
10212 Use grub_extcmd_t. All users updated.
10213 (options): New variable.
10214 (grub_cmd_read): Restructure for readability. Support "-v" option.
10215 (grub_cmd_write): Restructure for readability.
10216
0ad46fd7 102172009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
10218
10219 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
10220
0ad46fd7 102212009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
10222
10223 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
10224 with the actual contents of the correspondending make variable.
10225 * util/grub-mkrescue.in (pkglib_DATA): New variable.
10226 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
10227 specifying `*.lst' and `efiemu??.o'
10228
0ad46fd7 102292009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
10230
10231 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
10232 after function name.
10233 Noticed by Rene Engelhard <rene@debian.org>.
10234
dc77a799
VS
102352009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
10238 (options): New variable.
10239 (iospace): Likewise.
10240 (grub_lspci_iter): List IO spaces if "-i" was given.
10241 (grub_cmd_lspci): Parse options.
10242 (GRUB_MOD_INIT(lspci)): Use extcmd.
10243 (GRUB_MOD_FINI(lspci)): Likewise.
10244
0ad46fd7 102452009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
10246
10247 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
10248 `function' keyword.
10249 Patch by Tony Mancill <tmancill@debian.org>.
10250
b5d5993b
VS
102512009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
10254 (grub_uhci_portstatus): Likewise.
10255 (grub_uhci_portstatus): Add necessary delay.
11d18281 10256 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 10257
941903f2 102582009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 10259
941903f2 10260 * commands/acpi.c (options): Fix capitalizations and/or full stops.
10261 (GRUB_MOD_INIT): Likewise.
10262 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 10263 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
10264 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 10265 * commands/efi/loadbios.c (enable_rom_area): Likewise.
10266 (enable_rom_area): Likewise.
10267 (GRUB_MOD_INIT): Likewise.
10268 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10269 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
10270 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10271 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
10272 * commands/hexdump.c (options): Likewise.
10273 * commands/i386/cpuid.c (options): Likewise.
10274 (GRUB_MOD_INIT): Likewise.
10275 * commands/i386/pc/drivemap.c (options): Likewise.
10276 (GRUB_MOD_INIT): Likewise.
10277 * commands/i386/pc/halt (options): Likewise.
10278 (GRUB_MOD_INIT): Likewise.
10279 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10280 * commands/i386/pc/pxecmd.c (options): Likewise.
10281 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
10282 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
10283 * commands/keystatus.c (options): Likewise.
10284 (GRUB_MOD_INIT): Likewise.
10285 * commands/loadenv.c (options): Likewise.
10286 * commands/ls.c (options): Likewise.
10287 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10288 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10289 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10290 * commands/parttool.c (helpmsg): Likewise.
10291 * commands/probe.c (options): Likewise.
10292 * commands/read.c (GRUB_MOD_INIT): Likewise.
10293 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
10294 * commands/search.c (options): Likewise.
10295 * commands/sleep.c (options): Likewise.
10296 * commands/test.c (GRUB_MOD_INIT): Likewise.
10297 * commands/true.c (GRUB_MOD_INIT): Likewise.
10298 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
10299 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
10300 * lib/arg.c (help_options): Likewise.
e9bbb4e7 10301 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
10302 `$(XGETTEXT)'.
98a50553 10303 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 10304
0ad46fd7 103052009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 10306
ef3c2c3a 10307 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
10308 instead of specifying them explicit.
10309
7922f68b
RM
103102009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10311
10312 * NEWS: Add grub-probe support for GNU/Hurd.
10313
537ce47f
RM
103142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10315
10316 * NEWS: gettext was added after 1.97.
10317
9b214e3a
RM
103182009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10319
10320 * util/mkisofs/msdos_partition.h: New file (based on
10321 include/grub/msdos_partition.h).
10322 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
10323 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
10324 (ld_options, main): Recognize --protective-msdos-label.
10325 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
10326 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
10327 (padblock_write): If `use_protective_msdos_label' is set, patch a
10328 protective DOS-style label in the output image.
10329
10330 * util/grub-mkrescue.in: Use --protective-msdos-label.
10331
e9309813
RM
103322009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10333
10334 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
10335 boot.
10336
0ae56929
RM
103372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10338
10339 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
10340 variables.
10341 (ld_options, main): Recognize `--embedded-boot'.
10342 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
10343 declarations.
10344 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
10345 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
10346 (padblock_write): Likewise. Rewrite to support embedded boot image.
10347
10348 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
10349 for BIOS-based disk boot instead of only ElTorito.
10350
b15937b1
RM
103512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10352
10353 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
10354 build (not needed for bootstrap).
10355
52cc3ce0
RM
103562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10357
10358 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
10359 from i386-pc build (not needed for bootstrap).
10360 Rewrite a pair of strings.
10361
36f5ff04
RM
103622009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10363
10364 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
10365
973c6c85 103662009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
10367
10368 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
10369
05d21547
AB
103702009-12-21 Andreas Born <futur.andy@googlemail.com>
10371
10372 * kern/env.c (grub_env_context_open): Mark exported variable for
10373 reexport.
10374
0175d51f
AB
103752009-12-21 Andreas Born <futur.andy@googlemail.com>
10376
10377 * kern/env.c (grub_env_export): Create nonexistent variables before
10378 exporting.
10379
7f39d92f 103802009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 10381
7f39d92f 10382 * include/grub/auth.h: Include `<grub/i18n.h>'.
10383 (GRUB_GET_PASSWORD): Gettextizze string.
10384 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
10385 menu_text.c.
10386 (grub_utf8_to_ucs4_alloc): Fix indentation.
10387 (grub_print_ucs4): Likewise.
10388 (grub_getstringwidth): Likewise.
10389 (print_message_indented): New declaration.
10390 * normal/auth.c: Include `<grub/i18n.h>'.
10391 (grub_auth_check_authentication): Gettexttize string.
10392 * normal/cmdline.c: Include `<grub/i18n.h>'.
10393 (grub_cmdline_get): Gettextizze.
10394 * normal/color.c: Include `<grub/i18n.h>'.
10395 (grub_parse_color_name_pair): Gettexttize strings.
10396 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
10397 string (use `print_message_indented').
10398 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
10399 `include/grub/normal.h'.
10400 (print_message_indented): Renamed to ...
10401 (grub_print_message_indented): ... this. Remove `static' qualifer (now
10402 used in normal/main.c).
10403 (print_message): Use `grub_print_message_indented' instead of
10404 `print_message_indented'.
10405 (print_timeout): Likewise.
10406 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
10407 (grub_normal_print_device_info): Gettexttize strings.
10408 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
10409
3041d898
VS
104102009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
10413 of arguments. Return number of tokens and not arguments. All users
10414 updated.
10415
de15bf8e
VS
104162009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10417
10418 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
10419 non-MSDOS paritions.
10420
e0a6ca52
VS
104212009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 * include/grub/types.h (UNUSED): Removed since it conflicts with
10424 NetBSD headers. All users changed to direct __attribute__ ((unused)).
10425 Reported by Grégoire Sutre.
10426
b99518d1 104272009-12-19 Carles Pina i Estany <carles@pina.cat>
10428
10429 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
10430 (grub_print_ucs4_alloc): Likewise.
10431 (grub_getstringwidth): Likewise.
10432 * normal/main.c (grub_normal_init_page): Gettextize version string.
10433 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
10434 (getstringwidth): Renamed to ...
10435 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
10436 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
10437 (grub_print_ucs4): Remove `static' qualifer (now used in
10438 normal/main.c).
10439 * po/POTFILES: Add normal/main.c.
10440
bfd5e52b 104412009-12-19 Carles Pina i Estany <carles@pina.cat>
10442
10443 * normal/menu_text.c (STANDARD_MARGIN): New macro.
10444 (print_message_indented): Add `margin_left' and `margin_right'
10445 parameters.
10446 (print_message): Update `print_message_indented' calls. Adds '\n' to the
10447 strings.
10448 (print_timeout): Use `print_message_indented' to print the message.
10449 Deletes `second_stage' parameter.
10450 (run_menu): Update `print_timeout' calls.
10451
5a1ad2b9
VS
104522009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 Fix console palette on OpenFirmware.
10455
10456 * term/ieee1275/ofconsole.c (MAX): Removed.
10457 (colors): Redone based on VGA palette.
10458 (grub_ofconsole_setcolor): Discard brightness bit since only 8
10459 colors are supported.
10460 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
10461
b045f00a
VS
104622009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10463
10464 Fix potential EfiEmu double prepare.
10465
10466 * efiemu/main.c (prepared): New variable
10467 (grub_efiemu_unload): Set prepare to '0'.
10468 (grub_efiemu_prepare): Return if already prepared. Set prepared.
10469
10470 set_virtual_address_map support.
10471
10472 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
10473 prototype.
10474 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
10475 prototype.
10476 (grub_efiemu_crc32): Likewise.
10477 (grub_efiemu_crc64): Likewise.
10478 (grub_efiemu_set_virtual_address_map): Likewise.
10479 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
10480 New definition.
10481 (grub_autoefi_set_virtual_address_map): Likewise.
10482 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
10483 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
10484 Restructure flow to accomodate it.
10485 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
10486 (grub_efiemu_crc): Recompute CRC32.
10487 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
10488 (efiemu_ptv_relocated): ... this. Made global. All users updated.
10489 * efiemu/symbols.c (relocated_handle): New variable.
10490 (grub_efiemu_free_syms): Free relocated_handle.
10491 (grub_efiemu_alloc_syms): Allocate relocated_handle.
10492 (grub_efiemu_write_sym_markers): New function.
10493 (grub_efiemu_set_virtual_address_map): Likewise.
10494
10495 Newer XNU parameters.
10496
10497 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
10498 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
10499 (grub_xnu_fill_devicetree): New prototype.
10500 (grub_xnu_heap_real_start): New variable.
10501 * loader/xnu.c (get_name_ptr): New function.
10502 (grub_xnu_load_driver): Fill namelen and name.
10503
10504 64-bit xnu support.
10505
10506 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
10507 and 'loader/macho64.c'.
10508 * conf/i386-pc.rmk: Likewise.
10509 * conf/x86_64-efi.rmk: Likewise.
10510 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
10511 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
10512 * include/grub/macho.h (grub_macho_segment64): New structure.
10513 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
10514 (grub_macho_size32): ... to this.
10515 (grub_macho32_get_entry_point): Renamed from ...
10516 (grub_macho_get_entry_point32): ... to this.
10517 (grub_macho_contains_macho64): New prototype.
10518 (grub_macho_size64): Likewise.
10519 (grub_macho_get_entry_point64): Likewise.
10520 (grub_macho32_load): Renamed from ...
10521 (grub_macho_load32): ... to this.
10522 (grub_macho32_filesize): Renamed from ...
10523 (grub_macho_filesize32): ... to this.
10524 (grub_macho32_readfile): Renamed from ...
10525 (grub_macho_readfile32): ... to this.
10526 (grub_macho_filesize64): New prototype.
10527 (grub_macho_readfile64): Likewise.
10528 (grub_macho_parse32): Likewise.
10529 (grub_macho_parse64): Likewise.
10530 * loader/macho.c: Split into ...
10531 * loader/machoXX.c: ... and this. Replace 32 with XX.
10532 * loader/macho32.c: New file.
10533 * loader/macho64.c: Likewise.
10534 * loader/xnu.c (grub_xnu_is_64bit): New variable.
10535 (grub_cmd_xnu_kernel): Make 32-bit only.
10536 (grub_cmd_xnu_kernel64): New function.
10537 (grub_xnu_load_driver): Support Mach-O 64.
10538 (grub_cmd_xnu_mkext): Likewise.
10539 * util/grub.d/30_os-prober.in (osx_entry): New function.
10540 Generate entries for 64-bit boot too.
10541
10542 Eliminate ad-hoc tree format in XNU and EfiEmu.
10543
10544 * efiemu/main.c (grub_efiemu_prepare): Update comment.
10545 * efiemu/pnvram.c: Rewritten to use environment variables.
10546 All users updated.
10547
10548 Inline utf16_to_utf8.
10549
10550 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
10551 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
10552 All users updated.
10553 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
10554
10555 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
10556 * commands/usbtest.c (grub_usb_get_string): ... move here.
10557 (usb_print_str): Fix error handling.
10558 * include/grub/usb.h (grub_usb_get_string): Remove.
10559
10560 UTF-8 to UTF-16 transformation.
10561
10562 * conf/common.rmk (pkglib_MODULES): Add charset.mod
10563 (charset_mod_SOURCES): New variable.
10564 (charset_mod_CFLAGS): Likewise.
10565 (charset_mod_LDFLAGS): Likewise.
10566 * include/grub/utf.h: New file.
10567 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
10568
10569 Support for device properties.
10570
10571 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
10572 (grub_xnu_devprop_device_header): Likewise.
10573 (grub_xnu_devprop_device_descriptor): Likewise.
10574 (grub_xnu_devprop_add_device): New prototype.
10575 (grub_xnu_devprop_remove_device): Likewise.
10576 (grub_xnu_devprop_remove_property): Likewise.
10577 (grub_xnu_devprop_add_property_utf8): Likewise.
10578 (grub_xnu_devprop_add_property_utf16): Likewise.
10579 (grub_cpu_xnu_init): Likewise.
10580 (grub_cpu_xnu_fini): Likewise.
10581 (grub_cpu_xnu_unload): Likewise.
10582 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
10583 (property_descriptor): Likewise.
10584 (devices): New variable.
10585 (grub_xnu_devprop_remove_property): New function.
10586 (grub_xnu_devprop_add_device): Likewise.
10587 (grub_xnu_devprop_remove_device): Likewise.
10588 (grub_xnu_devprop_add_property): Likewise.
10589 (grub_xnu_devprop_add_property_utf8): Likewise.
10590 (grub_xnu_devprop_add_property_utf16): Likewise.
10591 (hextoval): Likewise.
10592 (grub_cpu_xnu_fill_devprop): Likewise.
10593 (grub_cmd_devprop_load): Likewise.
10594 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
10595 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
10596 (cmd_devprop_load): New variable.
10597 (grub_cpu_xnu_init): New function.
10598 (grub_cpu_xnu_fini): Likewise.
10599 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
10600 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
10601 (grub_cmd_xnu_devtree): Likewise.
10602 (hextoval): New function.
10603 (unescape): Likewise.
10604 (grub_xnu_fill_devicetree): Likewise.
10605
10606 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
10607 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
10608
0945f181
VS
106092009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 Workaround for broken ATI VBE.
10612
10613 * video/i386/pc/vbe.c (last_set_mode): New variable.
10614 (grub_vbe_set_video_mode): Set 'last_set_mode'.
10615 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
10616 (grub_video_vbe_setup): Don't check for reserved flag.
10617
0ad46fd7 106182009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
10619
10620 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
10621 the `find' command.
10622
c179ebe4
VS
106232009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
10624
10625 UUID support for HFS.
10626
10627 * fs/hfs.c (grub_hfs_uuid): New function.
10628 (grub_hfs_fs): New value .uuid.
10629 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
10630
0ad46fd7 106312009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
10632
10633 Fix a segfault with parsing unknown long options.
10634
10635 * util/grub-mkrelpath.c (options): Zero terminate it.
10636
c4a3e41a
CPE
106372009-12-13 Carles Pina i Estany <carles@pina.cat>
10638
10639 * include/grub/misc.h (grub_puts): New declaration.
10640 (grub_puts_): Likewise.
a22008a6 10641 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
10642 (grub_puts_): Likewise.
10643
2e8a7602
RM
106442009-12-13 Robert Millan <rmh.grub@aybabtu.com>
10645
10646 * util/grub-probe.c (probe): Improve error message.
10647
b50b77b9
RM
106482009-12-13 Robert Millan <rmh.grub@aybabtu.com>
10649
10650 * loader/i386/multiboot_elfxx.c
10651 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
10652 initialization.
10653
106542009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10655
10656 Relocator framework
10657
10658 * loader/i386/xnu_helper.S: Removed. All users updated.
10659 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
10660 (relocator_mod_SOURCES): New variable.
10661 (relocator_mod_CFLAGS): Likewise.
10662 (relocator_mod_LDFLAGS): Likewise.
10663 (relocator_mod_ASFLAGS): Likewise.
10664 * conf/x86_64.rmk: Likewise.
10665 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
10666 (grub_multiboot_payload_entry_offset): Likewise.
10667 (grub_multiboot_forward_relocator): Likewise.
10668 (grub_multiboot_forward_relocator_end): Likewise.
10669 (grub_multiboot_backward_relocator): Likewise.
10670 (grub_multiboot_backward_relocator_end): Likewise.
10671 (grub_multiboot_payload_eip): New variable.
10672 (grub_multiboot_payload_orig): Likewise.
10673 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
10674 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
10675 * include/grub/i386/memory.h
10676 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
10677 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
10678 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
10679 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
10680 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
10681 * include/grub/i386/relocator.h: New file.
10682 * include/grub/x86_64/relocator.h: Likewise.
10683 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
10684 (XNU_RELOCATOR): New macro.
10685 (grub_xnu_launcher_start): Remove.
10686 (grub_xnu_launcher_end): Likewise.
10687 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
10688 (grub_xnu_heap_real_start): Remove.
10689 (grub_xnu_heap_start): Change to void *. All users updated.
10690 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
10691 * lib/i386/relocator.c: New file.
10692 * lib/i386/relocator_asm.S: Likewise.
10693 * lib/i386/relocator_backward.S: Likewise.
10694 * lib/mips/relocator.c: Likewise.
10695 * lib/mips/relocator_asm.S: Likewise.
10696 * lib/relocator.c: Likewise.
10697 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
10698 (entry): Removed.
10699 (playground): Likewise.
10700 (grub_multiboot_payload_orig): New variable.
10701 (grub_multiboot_payload_dest): Likewise.
10702 (grub_multiboot_payload_size): Likewise.
10703 (grub_multiboot_payload_eip): Likewise.
10704 (grub_multiboot_payload_esp): Likewise.
10705 (grub_multiboot_boot): Use grub_relocator32_boot.
10706 (grub_multiboot_unload): Free relocators.
10707 (grub_multiboot): Setup stack. Use relocators.
10708 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
10709 (grub_multiboot_load_elfXX): Use relocators.
10710 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
10711 (grub_multiboot_payload_size): Likewise.
10712 (grub_multiboot_payload_dest): Likewise.
10713 (grub_multiboot_payload_entry_offset): Likewise.
10714 (grub_multiboot_forward_relocator): Likewise.
10715 (grub_multiboot_backward_relocator): Likewise.
10716 (grub_multiboot_real_boot): Likewise.
10717 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
10718 (grub_xnu_entry_point): Likewise.
10719 (grub_xnu_arg1): Likewise.
10720 (grub_xnu_stack): Likewise.
10721 (grub_xnu_launch): Removed.
10722 (grub_xnu_boot_resume): New function.
10723 (grub_xnu_boot): Use relocators.
10724 * loader/i386/xnu_helper.S: Removed.
10725 * loader/xnu.c (grub_xnu_heap_start): New variable.
10726 (grub_xnu_heap_size): Likewise.
10727 (grub_xnu_heap_malloc): Use relocators.
10728 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
10729
29eb90c6
VS
107302009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10731
10732 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
10733 anything.
10734
31027430
CPE
107352009-12-13 Carles Pina i Estany <carles@pina.cat>
10736
10737 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
10738 GRUB_ERR_NONE before calling grub_env_set.
10739
dc0c71d9
RM
107402009-12-12 Robert Millan <rmh@aybabtu.com>
10741
10742 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
10743 * genmk.rb (video): New variable.
10744 (CLEANFILES, VIDEOFILES): Add #{video}.
10745 (#{video}): New target rule.
10746 * genvideolist.sh: New file.
10747 * Makefile.in (pkglib_DATA): Add video.lst.
10748 (video.lst): New target rule.
10749 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
10750 `video.lst'.
10751 * util/grub.d/30_os-prober.in: Replace `vbe' with
10752 ${GRUB_VIDEO_BACKEND}.
10753
2a4bfcf0
RM
107542009-12-11 Robert Millan <rmh.grub@aybabtu.com>
10755
10756 * THANKS: Add David Miller.
10757
2a3aa4d5
RM
107582009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 libpciaccess support.
10761
10762 * Makefile.in (LIBPCIACCESS): New variable.
10763 (enable_grub_emu_pci): Likewise.
10764 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
10765 util/pci.c and commands/lspci.c.
10766 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
10767 * configure.ac (grub-emu-pci): New option.
10768 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
10769 (grub_pci_device_unmap_range): Likewise.
10770 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
10771 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
10772 (grub_pci_address_t) [!GRUB_UTIL]: New type.
10773 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
10774 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
10775 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
10776 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
10777 * include/grub/pciutils.h: New file.
10778 * util/pci.c: Likewise.
10779
0ad46fd7 107802009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
10781
10782 * util/misc.c: Don't include <errno.h> twice.
10783
0ad46fd7 107842009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
10785
10786 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
10787 name in an error message.
10788 (grub_biosdisk_rw): Likewise.
10789
2e59983c
VS
107902009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 Eliminate NTFS 4Gib barrier.
10793
10794 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
10795 (read_run_data): Likewise.
10796 (grub_ntfs_read_run_list): Likewise.
10797 (grub_ntfs_read_block): Likewise.
10798 (grub_ntfs_iterate_dir): Likewise.
10799 (read_mft): Likewise.
10800 (read_data): Likewise.
10801 Use COM_LOG_LEN.
10802 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
10803 to avoid 64-bit division
10804 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
10805 (grub_ntfs_rlst): Use grub_disk_addr_t.
10806
71ee178a
VS
108072009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 Eliminate grub-fstest 4Gib barrier.
10810
10811 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
10812 (read_file): Fix error reporting.
10813
2520d4b8
VS
108142009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 Eliminate hexdump 4Gib barrier.
10817
10818 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
10819 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
10820
e1f27065
VS
108212009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
10822
10823 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
10824 Fixes amarsh bug.
10825
1a0f7f45
RM
108262009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
10827
10828 Remove miscellaneous files in distclean target.
10829
10830 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
10831
c631d9fb
CW
108322009-12-09 Colin Watson <cjwatson@ubuntu.com>
10833
10834 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
10835 if they're already set. This resolves the conflict between my
10836 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
10837 fixing the --grub-probe option again.
10838 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
10839 change on 2009-10-06, so that we now once again source
10840 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
10841
7c7b6106
RM
108422009-12-08 Robert Millan <rmh.grub@aybabtu.com>
10843
10844 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
10845 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
10846 `util/devicemap.c'.
10847
e3069ec1
CPE
108482009-12-08 Carles Pina i Estany <carles@pina.cat>
10849
10850 * include/grub/misc.h (grub_printf_): New declaration.
10851 * kern/misc.c (grub_printf_): New definition.
10852 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
10853 instead of `grub_printf' and `_'.
10854 * normal/menu_entry.c (store_completion): Likewise.
10855 (run): Likewise.
10856 (grub_menu_entry_run): Likewise.
10857 * normal/menu_text.c (grub_wait_after_message): Likewise.
10858 (notify_booting): Likewise.
10859 (notify_fallback): Likewise.
10860 (notify_execution_failure): Likewise.
10861
d6ceebf1
CW
108622009-12-07 Colin Watson <cjwatson@ubuntu.com>
10863
10864 * configure.ac: Check for vasprintf.
10865 * util/misc.c (asprintf): Move allocation from here ...
10866 (vasprintf): ... to here. New function.
10867 (xasprintf): New function.
10868 * include/grub/util/misc.h (vasprintf, xasprintf): Add
10869 prototypes.
10870 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
10871 * util/grub-mkfont.c (write_font): Likewise.
10872 * util/grub-probe.c (probe): Likewise.
10873 * util/hostdisk.c (make_device_name): Likewise.
10874
de6daa8b
DM
108752009-12-06 David S. Miller <davem@sunset.davemloft.net>
10876
10877 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
10878 anything even prefixed with 'cdrom' as a cdrom.
10879
0ad46fd7 108802009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
10881
10882 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
10883 mount points.
10884
98d3dc02
CPE
108852009-12-05 Carles Pina i Estany <carles@pina.cat>
10886
10887 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
10888 grub_gettext_msg_list.
10889 (grub_gettext_gettranslation_from_position): Return const char *
10890 and not char *.
a2c1332b 10891 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
10892 returns from the list if existing there.
10893 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
10894 (grub_gettext_delete_list): Delete the list.
10895 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
10896 lang environment variable is changed.
10897 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
10898
b283f108
VS
108992009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
10900
10901 Rename kernel.mod to kernel.img.
10902
10903 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
10904 (kernel_mod_EXPORTS): Rename to ...
10905 (kernel_img_EXPORTS): ... this.
10906 (kernel_mod_SOURCES): Rename to ...
10907 (kernel_img_SOURCES): ... this.
10908 (kernel_mod_HEADERS): Rename to ...
10909 (kernel_img_HEADERS): ... this. All users updated.
10910 (kernel_mod_CFLAGS): Rename to ...
10911 (kernel_img_CFLAGS): ... this.
10912 (kernel_mod_ASFLAGS): Rename to ...
10913 (kernel_img_ASFLAGS): ... this.
10914 (kernel_mod_LDFLAGS): Rename to ...
10915 (kernel_img_LDFLAGS): ... this.
10916 * conf/x86_64-efi.rmk: Likewise.
10917 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
10918 (read_kernel_image): ... this. All users updated.
10919 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
10920
69055f8a
CPE
109212009-12-05 Carles Pina i Estany <carles@pina.cat>
10922
10923 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
10924 (print_spaces): New function.
10925 (grub_print_ucs4): New function.
10926 (getstringwidth): New function.
10927 (print_message_indented): New function.
10928 (print_message): Gettexttize strings using print_message_indented.
10929 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
10930 width.
10931 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 10932 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
10933 Gettextize.
10934 * normal/menu_entry.c (store_completion): Cleanup the gettextized
10935 string.
10936 (run): Likewise.
10937 (grub_menu_entry_run): Likewise.
10938 * PO/POTFILES: Add normal/menu_entry.c.
10939
f616f51c
VS
109402009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
10943
57bbe3be
CPE
109442009-12-05 Carles Pina i Estany <carles@pina.cat>
10945
10946 * util/grub-install.in: Install gettext .mo files.
10947 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
10948
013d67a1
CPE
109492009-12-05 Carles Pina i Estany <carles@pina.cat>
10950
10951 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
10952 grub_dprintf.
10953
fb954db0
RM
109542009-12-05 Robert Millan <rmh.grub@aybabtu.com>
10955
10956 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
10957 non-firmware-dependant one in realmode.S takes precedence.
10958
6b8474f8
RM
109592009-12-04 Robert Millan <rmh.grub@aybabtu.com>
10960
10961 * commands/halt.c: Replace misc arch-specific headers with
10962 `<grub/misc.h>'.
10963 * commands/reboot.c: Likewise.
10964 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
10965 `<grub/misc.h>'.
10966 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
10967 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
10968 (kernel_img_SOURCES): ... to here.
10969
10970 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
10971 * include/grub/i386/pc/init.h: Likewise.
10972 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
10973 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
10974
10975 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
10976
10977 * include/grub/i386/halt.h: Remove.
10978 * include/grub/i386/reboot.h: Likewise.
10979
10980 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
10981
4b2e6ca2
DM
109822009-12-03 David S. Miller <davem@sunset.davemloft.net>
10983
10984 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
10985 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
10986 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
10987 "progname.h"
10988 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
10989 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10990 (usage): Add missing comma in printf.
10991
5239348f
RM
109922009-12-02 Robert Millan <rmh.grub@aybabtu.com>
10993
10994 Use the same reboot approach on i386 coreboot and qemu as we do on
10995 BIOS.
10996
10997 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
10998 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
10999 * kern/i386/reboot.c: Remove.
11000 * include/grub/i386/reboot.h (grub_reboot): Export function.
11001 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
11002 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
11003 0xf000:0xfff0 instead of 0xffff:0x0000.
11004 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
11005 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
11006
ef34cbd4
RM
110072009-11-30 Robert Millan <rmh.grub@aybabtu.com>
11008
11009 Fix $srcdir != $objdir build.
11010
11011 * Makefile.in (po/%.po): Rewrite as ...
11012 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
11013
dc9837ea
ST
110142009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
11015
11016 Fix GNU/Hurd grub-install crash.
11017 * util/grub-probe.c (probe): Try to access `path' only when it is not
11018 NULL.
11019
2f857f98
VS
110202009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 Correct module naming.
11023
11024 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11025 (GRUB_MOD_INIT(efi_uga)): ... to this
11026 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11027 (GRUB_MOD_FINI(efi_uga)): ... to this
11028 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11029 (GRUB_MOD_INIT(efi_gop)): ... to this
11030 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11031 (GRUB_MOD_FINI(efi_gop)): ... to this
11032
c5448046
RM
110332009-11-28 Robert Millan <rmh.grub@aybabtu.com>
11034
11035 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
11036 translatable.
11037 (usage): Translate `arg' strings using gettext().
11038 Thanks to Jordi Mallach for the suggestion.
11039
c85184ad
VS
110402009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 GOP support. Based on patch from Bean
11043 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11044
11045 * video/efi_gop.c: New file.
11046 * include/grub/efi/graphics_output.h: Likewise.
11047 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
11048 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11049 variables.
11050 * conf/x86_64-efi.rmk: Likewise.
11051
8a4c48d8
VS
110522009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11053
11054 Rename efi_fb to efi_uga.
11055
11056 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11057 'efi_uga.mod'.
11058 (efi_fb_mod_SOURCES): Rename this ...
11059 (efi_uga_mod_SOURCES): ... to this.
11060 (efi_fb_mod_CFLAGS): Rename this ...
11061 (efi_uga_mod_CFLAGS): ... to this.
11062 (efi_fb_mod_LDFLAGS): Rename this ...
11063 (efi_uga_mod_LDFLAGS): ... to this.
11064 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11065 'efi_uga.mod'.
11066 (efi_fb_mod_SOURCES): Rename this ...
11067 (efi_uga_mod_SOURCES): ... to this.
11068 (efi_fb_mod_CFLAGS): Rename this ...
11069 (efi_uga_mod_CFLAGS): ... to this.
11070 (efi_fb_mod_LDFLAGS): Rename this ...
11071 (efi_uga_mod_LDFLAGS): ... to this.
11072 * video/efi_fb.c: Move this ...
11073 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
11074
fb6c1a7b
RM
110752009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11076
11077 * po/README: New file. Explain our PO file workflow.
11078
3bc7896c
RM
110792009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11080
11081 * po/ChangeLog: Remove. Move relevant entries back to ...
11082 * ChangeLog: ... here.
11083 * po/ca.po: Remove (now handled by TLP).
11084 * po/id.po: Likewise.
11085 * po/zh_CN.po: Likewise.
11086 * Makefile.in (LINGUAS): Initialize in a way that supports
11087 empty set.
11088
9ed4841d
RM
110892009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11090
11091 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
11092 reliing on po/LINGUAS.
11093 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
11094 (po/%.po): ... this.
11095
0ad46fd7 110962009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
11097
11098 * util/i386/efi/grub-mkimage.c: Include "progname.h".
11099 (main): Use `program_name' instead of nonexistent `progname'.
11100
e30dd392
FZ
111012009-11-26 Felix Zielcke <fzielcke@z-51.de>
11102
11103 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11104 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
11105
7656de4f
RM
111062009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11107
11108 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
11109 commit.
11110 * conf/i386-efi.rmk: Likewise.
11111 * conf/i386-ieee1275.rmk: Likewise.
11112 * conf/powerpc-ieee1275.rmk: Likewise.
11113 * conf/sparc64-ieee1275.rmk: Likewise.
11114 * conf/x86_64-efi.rmk: Likewise.
11115
db77c4d4
FZ
111162009-11-26 Felix Zielcke <fzielcke@z-51.de>
11117
11118 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
11119
a755bb04
FZ
111202009-11-26 Felix Zielcke <fzielcke@z-51.de>
11121
11122 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
11123
8a4c07fd
RM
111242009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11125
11126 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
11127 (grub_mkdevicemap_SOURCES): New variable.
11128 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
11129 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
11130 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
11131 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
11132 (grub_mkdevicemap_SOURCES): Remove.
11133 * conf/i386-efi.rmk: Likewise.
11134 * conf/i386-ieee1275.rmk: Likewise.
11135 * conf/i386-pc.rmk: Likewise.
11136 * conf/powerpc-ieee1275.rmk: Likewise.
11137 * conf/sparc64-ieee1275.rmk: Likewise.
11138 * conf/x86_64-efi.rmk: Likewise.
11139 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
11140 (usage): Fix strings to use `program_name'.
11141 (main): Initialize gettext.
11142 * util/grub-editenv.c: Likewise.
11143 * util/grub-emu.c: Likewise.
11144 * util/grub-fstest.c: Likewise.
11145 * util/grub-mkdevicemap.c: Likewise.
11146 * util/grub-mkfont.c: Likewise.
11147 * util/grub-mkrelpath.c: Likewise.
11148 * util/grub-pe2elf.c: Likewise.
11149 * util/grub-probe.c: Likewise.
11150 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11151 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11152 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11153
11154 * util/misc.c: Include `"progname.h"'.
11155 (progname): Remove variable.
11156 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
11157
6f61ed55
FZ
111582009-11-25 Felix Zielcke <fzielcke@z-51.de>
11159
11160 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
11161 printf and print a newline after the menuentry header line.
11162 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11163
f022876b
FZ
111642009-11-25 Felix Zielcke <fzielcke@z-51.de>
11165
11166 autoconf >= 2.60 support $(localedir).
11167
11168 * INSTALL: Note that autoconf 2.60 is required.
11169 * configure.ac (AC_PREREQ): Bump to 2.60.
11170 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
11171 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11172
6717926e
YB
111732009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
11174
11175 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
11176 aclocal is run.
11177
08806a54
RM
111782009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11179
11180 * normal/main.c (grub_normal_read_line): Fix off-by-one
11181 buffer overflow.
11182
13b33fba
RM
111832009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11184
11185 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
11186 "parser.grub" in grub_command_execute() call.
11187
4a8572e9
CPE
111882009-11-24 Carles Pina i Estany <carles@pina.cat>
11189
11190 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
11191 * conf/i386-efi.rmk: Likewise.
11192 * conf/i386-ieee1275.rmk: Likewise.
11193 * conf/i386-pc.rmk: Likewise.
11194 * conf/powerpc-ieee1275.rmk: Likewise.
11195 * conf/sparc64-ieee1275.rmk: Likewise.
11196 * conf/x86_64-efi.rmk: Likewise.
11197 * gettext/gettex.c: Include <grub/i18n.h>.
11198 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
11199 here ...
11200 * include/grub/i18n.h: ... to here
11201 * include/grub/i18n.h: ... to here.
11202 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 11203 (grub_gettext_dummy): Move above user.
4a8572e9 11204
bee48093
FZ
112052009-11-24 Felix Zielcke <fzielcke@z-51.de>
11206
11207 * util/Makefile.in (install-local): Convert a `for' into a normal
11208 shell expansion.
11209
a031e91c
RM
112102009-11-24 Robert Millan <rmh.grub@aybabtu.com>
11211
11212 * autogen.sh: Add automake call.
11213 * config.guess: Remove.
11214 * config.sub: Likewise.
11215 * install-sh: Likewise.
11216
26bec39d
FZ
112172009-11-24 Felix Zielcke <fzielcke@z-51.de>
11218
11219 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
11220
8e2532fd
FZ
112212009-11-24 Felix Zielcke <fzielcke@z-51.de>
11222
11223 * util/Makefile.in (install-local): Convert a make `$(foreach)'
11224 function to a normal shell `for'.
11225
fefa1b7d
FZ
112262009-11-24 Felix Zielcke <fzielcke@z-51.de>
11227
11228 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11229
4501250b
FZ
112302009-11-24 Felix Zielcke <fzielcke@z-51.de>
11231
11232 * util/grub-mkrelpath.c: New file.
11233 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
11234 (grub_mkrelpath_SOURCES): New variable.
11235 * include/grub/util/misc.h: New function prototype.
11236 * util/misc.c (make_system_path_relative_to_its_root): New function.
11237
11238 * util/grub-mkconfig_lib.in (bindir): New variable.
11239 (grub_mkrelpath): Likewise.
11240 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
11241
11242 * util/probe.c (probe): Make the file path relative to its root.
11243 Change a info message to use the GRUB path. Enable again the
11244 check if we can read the file with GRUB facilities.
11245
11246 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
11247 to its root.
11248
11d9778b
FZ
112492009-11-24 Felix Zielcke <fzielcke@z-51.de>
11250
11251 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
11252 platform.
11253
4465287d
FZ
112542009-11-24 Felix Zielcke <fzielcke@z-51.de>
11255
11256 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
11257 strncmp().
11258
62b47f22
FZ
112592009-11-24 Felix Zielcke <fzielcke@z-51.de>
11260
11261 * util/getroot.c (grub_util_is_dmraid): New function.
11262 (grub_util_get_dev_abstraction): Treat dmraid and multipath
11263 devices as normal ones, not as LVM.
11264
1eafb9b9 112652009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
11266
11267 * conf/common.rmk: Add grub-gettext_lib target and updates
11268 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
11269 LDFLAGS.
11270 * gettext/gettext.c: New file. (Reads mo files).
11271 * include/grub/file.h (grub_file_pread): New prototype.
11272 * include/grub/i18n.h (_): New prototype.
11273 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
11274 prototypes.
11275 * kern/misc.c (grub_gettext_dummy): New function.
11276 * normal/menu_text.c: Include <grub/i18n.h>.
11277 * normal/menu_text.c (print_timeout): Gettexttize string.
11278 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
11279 * po/POTFILES: Add `normal/menu_text.c'.
11280 * po/ca.po: Add new translations.
c3ea6bd4
CPE
11281 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
11282 gettext module and defines locale_dir and lang in grub.cfg.
11283 * NEWS: Add gettext support.
11284
0fdb2568
RM
112852009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11286
11287 * util/hostdisk.c: Include `<grub/i18n.h>'.
11288 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
11289 (make_device_name): Rewrite using asprintf.
11290 (convert_system_partition_to_system_disk): Replace 0 with NULL.
11291 (find_system_device): If a device is not found, generate one just
11292 by reusing the OS path name.
11293 (read_device_map): Make it permissible for device.map not to exist.
11294
f515aa62
RM
112952009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11296
11297 * script/sh/execute.c: Move from here ...
11298 * script/execute.c: ... to here. Update all users.
11299 * script/sh/function.c: Move from here ...
11300 * script/function.c: ... to here. Update all users.
11301 * script/sh/lexer.c: Move from here ...
11302 * script/lexer.c: ... to here. Update all users.
11303 * script/sh/main.c: Move from here ...
11304 * script/main.c: ... to here. Update all users.
11305 * script/sh/parser.y: Move from here ...
11306 * script/parser.y: ... to here. Update all users.
11307 * script/sh/script.c: Move from here ...
11308 * script/script.c: ... to here. Update all users.
11309
f84b481b
RM
113102009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11311
11312 * configure.ac: Detect all `emu' platforms. Define
11313 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
11314 --enable-grub-emu logic. Disable include/grub/machine
11315 symlink on `emu' platforms.
11316
11317 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
11318 * gensymlist.sh.in: Likewise.
11319
11320 * include/grub/i386/coreboot/machine.h: Remove file.
11321 * include/grub/i386/efi/machine.h: Likewise.
11322 * include/grub/i386/ieee1275/machine.h: Likewise.
11323 * include/grub/i386/pc/machine.h: Likewise.
11324 * include/grub/i386/qemu/machine.h: Likewise.
11325 * include/grub/powerpc/ieee1275/machine.h: Likewise.
11326 * include/grub/sparc64/ieee1275/machine.h: Likewise.
11327 * include/grub/x86_64/efi/machine.h: Likewise.
11328
11329 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
11330 * commands/halt.c: Likewise.
11331 * commands/reboot.c: Likewise.
11332 * include/grub/autoefi.h: Likewise.
11333 * include/grub/i386/at_keyboard.h: Likewise.
11334 * include/grub/i386/kernel.h: Likewise.
11335 * include/grub/i386/loader.h: Likewise.
11336 * include/grub/i386/pc/memory.h: Likewise.
11337 * kern/dl.c: Likewise.
11338 * kern/i386/coreboot/init.c: Likewise.
11339 * loader/i386/bsd.c: Likewise.
11340 * loader/i386/linux.c: Likewise.
11341 * loader/multiboot_loader.c: Likewise.
11342 * term/i386/pc/serial.c: Likewise.
11343 * term/usb_keyboard.c: Likewise.
11344
11345 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
11346 `<grub/machine/machine.h>'
11347 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
11348 * util/misc.c: Remove `<grub/machine/machine.h>' and
11349 `<grub/machine/time.h>'.
11350
11351 * Makefile.in (enable_grub_emu): Remove variable.
11352 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
11353
11354 * conf/any-emu.rmk: New file.
11355 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
11356 (grub_emu_init.c): Move from here ...
11357 * conf/any-emu.rmk: ... to here.
11358
11359 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
11360 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
11361 * conf/any-emu.rmk: ... to here.
11362
4efeab03
RM
113632009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11364
11365 * include/grub/parser.h (grub_parser_register): Document need
11366 of `name' parameter.
11367 * normal/main.c (grub_normal_read_line): Simplify prompt string.
11368 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
11369 "sh" to "grub".
11370
ea1dd8bf
RM
113712009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11372
11373 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
11374 `$(XGETTEXT)'.
11375 * include/grub/i18n.h (N_): New macro.
11376 * util/mkisofs/mkisofs.h: Likewise.
11377 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
11378 around N_().
11379 (usage): Use gettext() to translate help strings when printing them.
11380
0c140626
RM
113812009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11382
11383 Based on patch from Bean
11384 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11385
11386 * video/efi_fb.c: New file.
11387 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
11388 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11389 variables.
11390 * conf/x86_64-efi.rmk: Likewise.
11391
87d58298
RM
113922009-11-22 Robert Millan <rmh.grub@aybabtu.com>
11393
11394 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
11395 * util/i386/pc/grub-setup.c: Likewise.
11396
994cc3a3
ST
113972009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11398
11399 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
11400 <hurd/fs.h>
11401 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
11402 file_get_storage_info to implement grub_guess_root_device.
11403
26a61d6a
FZ
114042009-11-21 Felix Zielcke <fzielcke@z-51.de>
11405
11406 * Makefile.in (target): Use make's builtin $(shell) function
11407 instead of calling directly $(SHELL) to create the locale directories,
11408 inside the $(foreach) function.
11409
74ff1dd5
FZ
114102009-11-21 Felix Zielcke <fzielcke@z-51.de>
11411
11412 * util/grub-mkrescue.in: Print an error and usage if output option
11413 has not been given.
11414
0b787d0e
FZ
114152009-11-21 Felix Zielcke <fzielcke@z-51.de>
11416
11417 Patch from Loïc Minier <loic.minier@ubuntu.com>.
11418 * util/grub.d/30_os-prober.in: Cope with Linux entries where
11419 root and /boot are on different devices.
11420
1164b270
RM
114212009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11422
11423 Fix build for srcdir != objdir.
11424
11425 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
11426 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
11427 $(srcdir).
11428 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
11429 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
11430 reference for input.
11431
13774a2f
RM
114322009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11433
11434 * util/grub-mkrescue.in: Use source directory direcly (without copiing
11435 or hardlinking it). Remove -J option, Joliet is not compatible with
11436 multiple source directories.
11437
efda854e
RM
114382009-11-21 Carles Pina i Estany <carles@pina.cat>
114392009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11440
11441 * util/grub-mkrescue.in: Recognize `--override-directory' option.
11442 (process_input_dir): New function. Process an arbitrary input
11443 directory.
11444 Misc adjustments to support both "override mode" and system-wide mode.
11445
6c09890c
FZ
114462009-11-20 Felix Zielcke <fzielcke@z-51.de>
11447
11448 * configure.ac (UNIFONT_BDF): Rename to ...
11449 (FONT_SOURCE): ... this. Update all users.
11450
a797824f
FZ
114512009-11-20 Felix Zielcke <fzielcke@z-51.de>
11452
11453 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
11454 to the list of unifont files to look for.
11455
cd4f42b0
RM
114562009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11457
11458 Patch from Joe Auricchio <jauricchio@gmail.com>
11459 * commands/minicmd.c (grub_mini_cmd_clear): New function.
11460 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
11461 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
11462
393c783d
FZ
114632009-11-19 Felix Zielcke <fzielcke@z-51.de>
11464
11465 * Makefile.in (install-local): Add a missing backslash.
11466
b2f1e327
FZ
114672009-11-19 Felix Zielcke <fzielcke@z-51.de>
11468
11469 * include/grub/x86_64/io.h: New file.
11470
f577f7a0
RM
114712009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11472
11473 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
11474 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
11475 Include `"progname.h"'.
11476 (main): Initialize gettext.
11477 * util/i386/pc/grub-setup.c: Gettexttize.
11478 * util/i386/pc/grub-mkimage.c: Likewise.
11479
11480 * Makefile.in (po/*.po): Redefine as ...
11481 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
11482
3bc7896c
RM
11483 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
11484
c37943b6
RM
114852009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11486
11487 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
11488 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
11489 (program_name): Remove.
11490 (main): Initialize gettext support.
6323f705
RM
11491 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
11492 Include `<libintl.h>'.
11493 (_): New macro.
c37943b6
RM
11494
11495 * util/mkisofs/eltorito.c: Gettexttize.
11496 * util/mkisofs/joliet.c: Likewise.
11497 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
11498 * util/mkisofs/multi.c: Likewise.
11499 * util/mkisofs/rock.c: Likewise.
11500 * util/mkisofs/tree.c: Likewise.
11501 * util/mkisofs/write.c: Likewise.
11502
3bc7896c
RM
11503 * po/POTFILES: Update with new files.
11504
5ce77c6e
RM
115052009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11506
11507 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
11508 * util/mkisofs/iso9660.h: Likewise.
11509 * util/mkisofs/joliet.c: Likewise.
11510 * util/mkisofs/mkisofs.c: Likewise.
11511 * util/mkisofs/mkisofs.h: Likewise.
11512 * util/mkisofs/rock.c: Likewise.
11513 * util/mkisofs/tree.c: Likewise.
11514 * util/mkisofs/write.c: Likewise.
11515
11516 * util/mkisofs/eltorito.c (rcsid): Remove.
11517 * util/mkisofs/hash.c: Likewise.
11518 * util/mkisofs/joliet.c: Likewise.
11519 * util/mkisofs/name.c: Likewise.
11520 * util/mkisofs/rock.c: Likewise.
11521 * util/mkisofs/tree.c: Likewise.
11522 * util/mkisofs/write.c: Likewise.
11523
1dabbc77
RM
115242009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11525
11526 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
11527 instead of static allocation.
11528 * util/mkisofs/match.h: Likewise.
11529
633877cb
RM
115302009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11531
3bc7896c
RM
11532 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
11533 and `util/grub.d/10_linux.in'.
633877cb
RM
11534 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
11535 translatable Shell files.
11536
af1c0c85
RM
115372009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11538
11539 * Makefile.in ($(srcdir)/aclocal.m4): New target.
11540
769ae37b
RM
115412009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11542
11543 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 11544 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
11545 * util/grub.d/10_kfreebsd.in (bindir): New variable.
11546 Add gettext initialization.
11547 (kfreebsd_entry): Make menuentry output translatable.
11548
115492009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11550
11551 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
11552 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
11553 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
11554 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
11555 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 11556 * po/LINGUAS: New file.
769ae37b
RM
11557
115582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11559
11560 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
11561 other things).
11562 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
11563 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
11564 bindtextdomain() calls for gettext initialization.
11565
115662009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11567
11568 * gnulib/progname.c: New file (imported from Gnulib).
11569 * gnulib/progname.h: Likewise.
11570 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11571 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
11572 (usage): Replace `progname' with `program_name'.
11573 (main): Use set_program_name() for program name initialization.
11574
115752009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11576
11577 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
11578 from here ...
11579 * Makefile.in (CPPFLAGS): ... to here.
11580
115812009-11-16 Robert Millan <rmh.grub@aybabtu.com>
11582
11583 * aclocal.m4: Move from here ...
11584 * acinclude.m4: ... to here.
11585 * autogen.sh: Add call to `aclocal'.
11586 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
11587
115882009-11-16 Robert Millan <rmh.grub@aybabtu.com>
11589
11590 * Makefile.in (CLEANFILES): Add `po/*.mo'.
11591 (LINGUAS): New variable.
11592 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
11593 (install-local): Install MO files.
11594 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
11595 * include/grub/i18n.h: New file.
3bc7896c
RM
11596 * po/POTFILES: New file.
11597 * po/ca.po: New file.
769ae37b
RM
11598 * util/grub.d/10_linux.in (bindir): New variable.
11599 Add gettext initialization.
11600 (linux_entry): Make menuentry output translatable.
11601 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
11602 (usage): Make --help output translatable.
11603 (main): Initialize gettext.
11604
02c0a6ad
RM
116052009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11606
11607 * import_gcry.py: New file (written by Vladimir with minor
11608 adjustments).
11609 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
11610 ciphers.
11611 * INSTALL: Document that Python is required for bootstrap.
11612
116132009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11614
11615 Import ciphers from libgcrypt 1.4.4.
11616
11617 * lib/libgcrypt/cipher/ChangeLog
11618 * lib/libgcrypt/cipher/ac.c
11619 * lib/libgcrypt/cipher/arcfour.c
11620 * lib/libgcrypt/cipher/bithelp.h
11621 * lib/libgcrypt/cipher/blowfish.c
11622 * lib/libgcrypt/cipher/camellia-glue.c
11623 * lib/libgcrypt/cipher/camellia.c
11624 * lib/libgcrypt/cipher/camellia.h
11625 * lib/libgcrypt/cipher/cast5.c
11626 * lib/libgcrypt/cipher/cipher.c
11627 * lib/libgcrypt/cipher/crc.c
11628 * lib/libgcrypt/cipher/des.c
11629 * lib/libgcrypt/cipher/dsa.c
11630 * lib/libgcrypt/cipher/ecc.c
11631 * lib/libgcrypt/cipher/elgamal.c
11632 * lib/libgcrypt/cipher/hash-common.c
11633 * lib/libgcrypt/cipher/hash-common.h
11634 * lib/libgcrypt/cipher/hmac-tests.c
11635 * lib/libgcrypt/cipher/md.c
11636 * lib/libgcrypt/cipher/md4.c
11637 * lib/libgcrypt/cipher/md5.c
11638 * lib/libgcrypt/cipher/primegen.c
11639 * lib/libgcrypt/cipher/pubkey.c
11640 * lib/libgcrypt/cipher/rfc2268.c
11641 * lib/libgcrypt/cipher/rijndael-tables.h
11642 * lib/libgcrypt/cipher/rijndael.c
11643 * lib/libgcrypt/cipher/rmd.h
11644 * lib/libgcrypt/cipher/rmd160.c
11645 * lib/libgcrypt/cipher/rsa.c
11646 * lib/libgcrypt/cipher/seed.c
11647 * lib/libgcrypt/cipher/serpent.c
11648 * lib/libgcrypt/cipher/sha1.c
11649 * lib/libgcrypt/cipher/sha256.c
11650 * lib/libgcrypt/cipher/sha512.c
11651 * lib/libgcrypt/cipher/tiger.c
11652 * lib/libgcrypt/cipher/twofish.c
11653 * lib/libgcrypt/cipher/whirlpool.c
11654
af2f93ac
RM
116552009-11-16 Robert Millan <rmh.grub@aybabtu.com>
11656
11657 Fix build for systems without error().
11658
11659 * gnulib/error.c: New file (imported from Gnulib).
11660 * gnulib/error.h: Likewise.
11661 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
11662 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
11663 (this variable is now used by error()).
11664
73fb3dd5
FZ
116652009-11-16 Felix Zielcke <fzielcke@z-51.de>
11666
814f5e96
FZ
11667 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
11668 instead of relying that char is signed.
73fb3dd5 11669
a691ca33
VS
116702009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
11673 blocksize different from specified.
11674 (grub_pxefs_read): Likewise.
11675
2af8f0f4
FZ
116762009-11-16 Felix Zielcke <fzielcke@z-51.de>
11677
11678 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
11679
11680 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
11681 (grub_ata_readwrite): Likewise. Update 2 format strings.
11682 (grub_atapi_read): Likewise.
11683
11684 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
11685 * conf/i386.rmk (pkglib_MODULES): ... to here ...
11686 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
11687 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
11688 (ata_mod_LDFLAGS): Move from here ...
11689 * conf/i386.rmk: ... to here ...
11690 * conf/x86_64-efi.rmk: ... and here.
11691 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
11692 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
11693
83bdecaf
RM
116942009-11-16 Robert Millan <rmh.grub@aybabtu.com>
11695
11696 Relicense multiboot.h, with RMS' blessing.
11697
11698 * include/multiboot.h: Change to X11 license.
11699
fd6fd3d7
RM
117002009-11-15 Robert Millan <rmh.grub@aybabtu.com>
11701
11702 Support --version in grub-mkisofs.
11703
11704 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
11705 (OPTION_VERSION): New macro.
11706 (ld_options): Recognize --version.
11707 (usage): Move `program_name' from here ...
11708 (program_name): ... to here. Add `static' qualifier.
11709 (main): Recognize `OPTION_VERSION'.
11710
16a88c49
FZ
117112009-11-15 Felix Zielcke <fzielcke@z-51.de>
11712
11713 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
11714 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
11715
a4158476
RM
117162009-11-14 Robert Millan <rmh.grub@aybabtu.com>
11717
11718 Fix help2man generation for mkisofs.
11719
11720 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
11721 (usage): Send output to stdout (rather than stderr).
11722
fc2208b0
RM
117232009-11-14 Robert Millan <rmh.grub@aybabtu.com>
11724
11725 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
11726 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
11727 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
11728 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
11729 (bin_SCRIPTS): Add `grub-mkfloppy'.
11730 (grub_mkfloppy_SOURCES): New variable.
11731
11732 * util/grub-mkrescue.in: New file.
11733 * util/i386/pc/grub-mkfloppy.in: New file.
11734
11735 * util/i386/coreboot/grub-mkrescue.in: Remove.
11736 * util/i386/pc/grub-mkrescue.in: Remove.
11737
8d0edf4a
RM
117382009-11-13 Robert Millan <rmh.grub@aybabtu.com>
11739
11740 * include/grub/multiboot.h (struct grub_multiboot_header): Move
11741 from here ...
11742 * include/multiboot.h (struct multiboot_header): ... to here. Update
11743 all users.
11744 * include/grub/multiboot.h (struct grub_multiboot_info): Move
11745 from here ...
11746 * include/multiboot.h (struct multiboot_info): ... to here. Update
11747 all users.
11748 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
11749 from here ...
11750 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
11751 Update all users.
11752 * include/grub/multiboot.h (struct grub_mod_list): Move
11753 from here ...
11754 * include/multiboot.h (struct multiboot_mod_list): ... to here.
11755 Update all users.
11756
a73f5969
RM
117572009-11-13 Robert Millan <rmh.grub@aybabtu.com>
11758
11759 * include/multiboot2.h (multiboot_word): Rename from this ...
11760 (multiboot2_word): ... to this. Update all users.
11761 (multiboot_header): Rename from this ...
11762 (multiboot2_header): ... to this. Update all users.
11763 (multiboot_tag_header): Rename from this ...
11764 (multiboot2_tag_header): ... to this. Update all users.
11765 (multiboot_tag_start): Rename from this ...
11766 (multiboot2_tag_start): ... to this. Update all users.
11767 (multiboot_tag_name): Rename from this ...
11768 (multiboot2_tag_name): ... to this. Update all users.
11769 (multiboot_tag_module): Rename from this ...
11770 (multiboot2_tag_module): ... to this. Update all users.
11771 (multiboot_tag_memory): Rename from this ...
11772 (multiboot2_tag_memory): ... to this. Update all users.
11773 (multiboot_tag_unused): Rename from this ...
11774 (multiboot2_tag_unused): ... to this. Update all users.
11775 (multiboot_tag_end): Rename from this ...
11776 (multiboot2_tag_end): ... to this. Update all users.
11777
1c8927f0
RM
117782009-11-13 Robert Millan <rmh.grub@aybabtu.com>
11779
11780 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
11781 this platform we should support Multiboot1 first.
11782
11783 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
11784 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
11785 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
11786
6e1e0d89
RM
117872009-11-12 Robert Millan <rmh.grub@aybabtu.com>
11788
11789 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
11790 of write calls (converting them to fwrite() if they aren't already).
11791 (get_torito_desc): Likewise.
11792 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
11793
7f2b34d8
RM
117942009-11-12 Robert Millan <rmh.grub@aybabtu.com>
11795
11796 * util/i386/pc/grub-install.in: Move from here ...
11797 * util/grub-install.in: ... to here. Update all users.
11798
c0ef3311
CW
117992009-11-11 Colin Watson <cjwatson@ubuntu.com>
11800
11801 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
11802
e1f240ff
RM
118032009-11-11 Robert Millan <rmh.grub@aybabtu.com>
11804
11805 Support for El Torito without floppy emulation.
11806
11807 * util/mkisofs/eltorito.c: Include `<errno.h>'.
11808 (init_boot_catalog): Improve error handling.
11809 (get_torito_desc): Don't use floppy emulation unless requested by
11810 user. Patch boot information table when requested via
11811 `-boot-info-table'.
11812 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
11813 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
11814 (use_boot_info_table): New variables.
11815 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
11816 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
11817 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
11818 `--eltorito-emul-floppy'.
11819 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
11820 and `OPTION_ELTORITO_EMUL_FLOPPY'.
11821 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
11822 (use_boot_info_table, get_731): New prototypes.
11823 * util/mkisofs/write.c (get_731): New function.
11824
af7d4de5
FZ
118252009-11-11 Felix Zielcke <fzielcke@z-51.de>
11826
11827 Fix the generation of the man page.
11828
11829 * util/pc/i386/grub-install.in: Source
11830 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
11831
2c55dbc0
RM
118322009-11-11 Robert Millan <rmh.grub@aybabtu.com>
11833
11834 Large file support for grub-mkisofs.
11835
11836 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
11837 * util/mkisofs/mkisofs.c (next_extent, last_extent)
11838 (session_start): Upgrade type to `uint64_t'. Update all users.
11839 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
11840 (struct directory_entry): Upgrade type of `starting_block' and
11841 `size' to `uint64_t'. Update all users.
11842 (struct deferred): Remove unused structure.
11843 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
11844 Update all users.
11845 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
11846 file is larger than `UINT32_MAX'.
11847 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
11848 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
11849 return value.
11850 (struct deferred_write): Upgrade type of `extent' and `size' to
11851 `uint64_t'. Update all users.
11852 (last_extent_written): Upgrade type to `uint64_t'. Update all
11853 users.
11854 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
11855 Update all users. Upgrade type of `remain' to `int64_t' and
11856 `use' to `size_t'. Use error() to handle fread() errors.
11857 (write_files): Rely on write_one_file() rather than calling
11858 xfwrite() directly.
11859
6a9cead5
FZ
118602009-11-09 Felix Zielcke <fzielcke@z-51.de>
11861
11862 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
11863
4825d790
RM
118642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11865
11866 * util/mkisofs/fnmatch.c: Remove.
11867 * util/mkisofs/getopt1.c: Likewise.
11868 * util/mkisofs/getopt.c: Likewise.
11869 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
11870 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
11871 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
11872 `gnulib/getopt1.c' and `gnulib/getopt.c'.
11873 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
11874
11875 * configure.ac: Detect `mingw32msvc' host_os.
11876 Check for lstat(), getuid() and getgid().
11877
11878 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
11879 instances of `u_char' with `uint8_t'.
11880
11881 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
11882 [!HAVE_GETUID] (getuid): New function (stub).
11883 [!HAVE_GETGID] (getgid): Likewise.
11884 [!HAVE_LSTAT] (lstat): Likewise.
11885 [!S_IROTH] (S_IROTH): New macro (dummy).
11886 [!S_IRGRP] (S_IRGRP): Likewise.
11887
84b860d8
RM
118882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11889
11890 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
11891 conditional expression).
11892
66e9b712
RM
118932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11894
11895 Import from Gnulib.
11896
11897 * gnulib/fnmatch.c: New file.
11898 * gnulib/fnmatch.h: Likewise.
11899 * gnulib/fnmatch_loop.c: Likewise.
11900 * gnulib/getopt.c: Likewise.
11901 * gnulib/getopt.h: Likewise.
11902 * gnulib/getopt1.c: Likewise.
11903 * gnulib/getopt_int.h: Likewise.
11904 * gnulib/gettext.h: Likewise.
11905
34f4a5b0
RM
119062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11907
11908 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
11909 * normal/handler.c (read_handler_list): Likewise.
11910
ac451143
RM
119112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11912
11913 Misc cleanup.
11914
11915 * kern/command.c (grub_register_command_prio): Use
11916 grub_zalloc() instead of explicitly zeroing data.
11917 * kern/list.c: Include `<grub/mm.h>'.
11918 (grub_named_list_find): Replace `0' with `NULL'.
11919 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
11920 (fs_module_list): Change type to `grub_named_list_t'. Update all
11921 users.
11922 * normal/dyncmd.c (read_command_list): Add space between function
11923 call and parenthesis.
11924 * normal/handler.c (read_handler_list): Likewise.
11925
4089b167
RM
119262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11927
11928 * normal/auth.c (punishment_delay): Moved from here ...
11929 (grub_auth_strcmp): ... to here (inside function).
11930
325f5037
RM
119312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11932
11933 * include/grub/list.h (struct grub_named_list): Remove `const'
11934 qualifier from `name'.
11935 (struct grub_prio_list): Likewise.
11936
7aea29a3
RM
119372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11938
11939 * normal/auth.c: Include `<grub/time.h>'.
11940 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
11941
3fd6f044
RM
119422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11943
11944 * normal/auth.c (punishment_delay): New variable.
11945 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
11946 (grub_auth_check_authentication): Punish failed login attempts with
11947 an incremental (2^N) delay.
11948
a4cd68e4
RM
119492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11950
11951 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
11952 path with $(srcdir).
11953
7ad12f43
VS
119542009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11955
11956 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
11957
c1129f03
RM
119582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11959
11960 * util/i386/coreboot/grub-mkrescue.in: New file.
11961 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
11962 variables.
11963
11964 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
11965 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
11966 * configure.ac: Add header and function checks to satisfy grub-mkisofs
11967 requirements.
11968 * util/mkisofs/defaults.h: New file.
11969 * util/mkisofs/eltorito.c: Likewise.
11970 * util/mkisofs/exclude.h: Likewise.
11971 * util/mkisofs/fnmatch.c: Likewise.
11972 * util/mkisofs/getopt.c: Likewise.
11973 * util/mkisofs/getopt1.c: Likewise.
11974 * util/mkisofs/hash.c: Likewise.
11975 * util/mkisofs/include/fctldefs.h: Likewise.
11976 * util/mkisofs/include/mconfig.h: Likewise.
11977 * util/mkisofs/include/prototyp.h: Likewise.
11978 * util/mkisofs/include/statdefs.h: Likewise.
11979 * util/mkisofs/iso9660.h: Likewise.
11980 * util/mkisofs/joliet.c: Likewise.
11981 * util/mkisofs/match.c: Likewise.
11982 * util/mkisofs/match.h: Likewise.
11983 * util/mkisofs/mkisofs.c: Likewise.
11984 * util/mkisofs/mkisofs.h: Likewise.
11985 * util/mkisofs/multi.c: Likewise.
11986 * util/mkisofs/name.c: Likewise.
11987 * util/mkisofs/rock.c: Likewise.
11988 * util/mkisofs/tree.c: Likewise.
11989 * util/mkisofs/write.c: Likewise.
11990
ec8bb77d
VS
119912009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11992
11993 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
11994 being insecure.
11995
3716b12c
RM
119962009-11-08 Robert Millan <rmh.grub@aybabtu.com>
11997
11998 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
11999 `grub-mkimage' (and use $0 when possible).
12000
b97b7b91
RM
120012009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12002
12003 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
12004 error message for excessively large memory map.
12005
04114812
RM
120062009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12007
12008 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
12009 executable bit.
12010
e4eb2373
RM
120112009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12012
12013 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
12014 message for coreboot users.
12015
c926e1d5 120162009-11-07 Robert Millan <rmh.grub@aybabtu.com>
12017
12018 Fix build with GNU gold.
12019
12020 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
12021 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
12022 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
12023 link addresses.
12024 * aclocal.m4: Likewise.
12025
86e5b1db 120262009-11-04 Felix Zielcke <fzielcke@z-51.de>
12027
12028 * configure.ac (AC_PREREQ): Bump to 2.59d.
12029 * INSTALL: Make it more clear when Autoconf and Ruby are
12030 needed and when to run `./autogen.sh'.
12031
246cd78f 120322009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
12033
12034 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
12035 OSes.
12036
4f9dfb37 120372009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12038
12039 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
12040
b82bd5e1 120412009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12042
12043 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
12044 giving it to GNU Mach.
12045
ff1a9bca 120462009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12047
12048 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
12049 GNU partition number to get internal GRUB partition number.
12050
61697d9c 120512009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12052
12053 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
12054 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
12055
a50569e1 120562009-11-01 Robert Millan <rmh.grub@aybabtu.com>
12057
12058 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
12059 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
12060 case.
12061
5b153867 120622009-11-01 Felix Zielcke <fzielcke@z-51.de>
12063
12064 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
12065
d9e2cd70 120662009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12067
12068 Fix build problem.
12069
12070 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
12071 `-isystem=$(srcdir)/include'.
12072
805111a4 120732009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12074
12075 * util/i386/pc/grub-install.in: Remove hint that device.map should be
12076 checked (grub-install doesn't currently rely on it).
12077
fa6e945f 120782009-10-29 Robert Millan <rmh.grub@aybabtu.com>
12079
12080 Revert SVN r2660.
12081
12082 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
12083 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12084 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
12085 * conf/i386-ieee1275.rmk: Likewise.
12086 * conf/i386-pc.rmk: Likewise.
12087 * conf/powerpc-ieee1275.rmk: Likewise.
12088 * conf/sparc64-ieee1275.rmk: Likewise.
12089 * conf/x86_64-efi.rmk: Likewise.
12090
cee15086 120912009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12092
12093 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
12094
95b9239e 120952009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12096
12097 * include/grub/misc.h: Stop checking for APPLE_CC.
12098
2ed19dfd 120992009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12100
12101 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
12102 doesn't cause an infinite call loop.
12103
fdcdde19 121042009-10-28 Felix Zielcke <fzielcke@z-51.de>
12105
12106 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
12107 strings.
12108
cefabfe1 121092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12110
12111 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
12112 variable.
12113 * Makefile.in: Likewise.
12114
ed96ab6d 121152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12116
12117 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
12118
0579b753 121192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12120
12121 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
12122
478df409 121232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12124
12125 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
12126
083d1679 121272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12128
12129 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
12130 from here ...
12131 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
12132
5947ae32 121332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12134
12135 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
12136 in $(MAKEINFO) invocation. This makes it clear in output that
12137 errors are being ignored.
12138
94180ff6 121392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12140
12141 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
12142 from here ...
12143 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12144 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
12145 * conf/i386-ieee1275.rmk: Likewise.
12146 * conf/i386-pc.rmk: Likewise.
12147 * conf/powerpc-ieee1275.rmk: Likewise.
12148 * conf/sparc64-ieee1275.rmk: Likewise.
12149 * conf/x86_64-efi.rmk: Likewise.
12150
9031b03a 121512009-10-26 Colin Watson <cjwatson@ubuntu.com>
12152
12153 * util/grub-editenv.c (main): If only a command is given, use
12154 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
12155 (usage): FILENAME is now optional and has a default.
12156
e4f6809b 121572009-10-26 Colin Watson <cjwatson@ubuntu.com>
12158
12159 Improve grub-mkconfig performance when there are several menu
12160 entries on a single filesystem.
12161
12162 * util/grub.d/10_linux.in (linux_entry): Cache the output of
12163 prepare_grub_to_access_device.
12164 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12165 * util/grub.d/30_os-prober.in: Likewise.
12166
67937d4d 121672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12168
12169 * util/grub.d/10_freebsd.in: Remove.
12170 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
12171 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
12172
ee3756cc 121732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12174
5c35048e 12175 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 12176
4dea1c6f 121772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12178
12179 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
12180 grub_util_error() call.
12181
042484d7 121822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12183
12184 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
12185 `reserved_first_sector' member.
12186 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
12187 `reserved_first_sector' to 1.
12188 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
12189 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
12190 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
12191 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
12192 filesystems which begin at first sector.
12193 (options): New option --skip-fs-probe.
12194 (main): Handle --skip-fs-probe and pass it to setup().
12195
d64448a7 121962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12197
12198 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
12199 (memset): Fix function prototype.
12200
508d42ec 122012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
122022009-10-25 Vasily Averin <vvs@parallels.com>
12203
12204 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
12205 `dirent.direntlen == 0'.
12206
b240e30c 122072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12208
12209 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
12210 `cpio'.
12211 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
12212
346e7fbe 122132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12214
12215 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
12216 `__trampoline_setup' and `__ucmpdi2'.
12217 * include/grub/powerpc/libgcc.h: Only export symbols for functions
12218 that libgcc provides.
12219
cdb308b0 122202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12221
12222 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
12223 * include/grub/sparc64/libgcc.h (memset): Likewise.
12224 * include/grub/misc.h (memset, memcmp): New function prototypes.
12225
fb26abc2 122262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12227
12228 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
12229 `cpio'.
12230 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
12231
f6693890 122322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12233
12234 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
12235 * docs/grub.cfg: Compensate for recent change in multiboot
12236 loader (since 2009-08-14 it won't pass filename to payload).
12237 * util/grub.d/10_hurd.in: Likewise.
12238
0933cdc0 122392009-10-21 Felix Zielcke <fzielcke@z-51.de>
12240
12241 * config.guess: Update to latest version from config git
12242 repository.
12243 * config.sub: Likewise.
12244
3b2fe8c2 122452009-10-20 Robert Millan <rmh.grub@aybabtu.com>
12246
12247 Fix build on sparc64.
12248
12249 * configure.ac: Perform checks for libgcc symbols before
12250 adding `-nostdlib' to LDFLAGS.
12251
46695a62 122522009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 Let user specify OpenBSD root device.
12255
12256 * loader/i386/bsd.c (openbsd_root): New variable.
12257 (openbsd_opts): New option 'root'.
12258 (OPENBSD_ROOT_ARG): New macro.
12259 (grub_openbsd_boot): Use 'openbsd_root'.
12260 (grub_cmd_openbsd): Fill 'openbsd_root'.
12261
d2b6b7fc 122622009-10-16 Robert Millan <rmh.grub@aybabtu.com>
12263
12264 * NEWS: Misc adjustments.
12265
421bd7ac 122662009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12267
12268 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
12269
f1d29d87 122702009-10-16 Robert Millan <rmh.grub@aybabtu.com>
12271
12272 * configure.ac: Bump version to 1.97.
12273
6f3cd880 122742009-10-16 Colin Watson <cjwatson@ubuntu.com>
12275
12276 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
12277 -mno-3dnow on x86 architectures. Some toolchains enable these
12278 features by default, but they rely on registers that aren't enabled
12279 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
12280
035f7122 122812009-10-15 Robert Millan <rmh.grub@aybabtu.com>
12282
12283 Make entry text a bit more readable.
12284
12285 * util/grub.d/10_linux.in: Add `with' before `Linux'.
12286
44998e58 122872009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12288
12289 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
12290
cd2851b3 122912009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12292
12293 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
12294 operations.
12295
c6f3b249 122962009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12297
12298 * configure.ac: Add missing dollar.
12299
6b5886ba 123002009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
12303
12304 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
12305 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
12306 exports.
12307 * include/grub/sparc64/libgcc.h: Likewise. Use
12308 preprocessor conditionals.
12309
e9d66f6d 123102009-10-14 Robert Millan <rmh.grub@aybabtu.com>
12311
12312 * conf/common.rmk (grub-dumpbios): Remove rule.
12313 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
12314 * util/grub-dumpbios.in: Remove file.
12315
9155bc17 123162009-10-14 Robert Millan <rmh.grub@aybabtu.com>
12317
12318 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
12319 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
12320
12321 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
12322 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
12323 users.
12324
12325 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
12326 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
12327 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
12328 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
12329 users.
12330
bf7f7a18 123312009-10-12 Robert Millan <rmh.grub@aybabtu.com>
12332
12333 * term/tparm.c: Switch to GPLv3.
12334
86564c26 123352009-10-09 Robert Millan <rmh.grub@aybabtu.com>
12336
12337 * include/grub/i386/cpuid.h: Add header protection.
12338
5c936493 123392009-10-09 Robert Millan <rmh.grub@aybabtu.com>
12340
12341 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
12342
12343 * include/grub/i386/cpuid.h: New file.
12344 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
12345 (has_longmode): Rename to ...
12346 (grub_cpuid_has_longmode): ... this. Update all users. Remove
12347 `static' attribute.
12348 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
12349 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
12350 on a CPU that doesn't implement AMD64 instruction set.
12351
186e7cf2 123522009-10-06 Colin Watson <cjwatson@ubuntu.com>
12353
12354 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
12355 that version.texi is rebuilt on version number changes.
12356
83b65c4a 123572009-10-06 Colin Watson <cjwatson@ubuntu.com>
12358
12359 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
12360 Fixes bug #27602.
12361
d244281c 123622009-10-06 Colin Watson <cjwatson@ubuntu.com>
12363
12364 * util/i386/pc/grub-install.in: Source
12365 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
12366 that the --grub-probe option will work.
12367 * util/sparc64/ieee1275/grub-install.in: Likewise.
12368
da25306d 123692009-10-05 Robert Millan <rmh.grub@aybabtu.com>
12370
12371 * configure.ac: Bump version to 1.97~beta4.
12372
e8ee83c0 123732009-10-03 Robert Millan <rmh.grub@aybabtu.com>
12374
12375 Resync grub-mkdevicemap in x86_64-efi.
12376
12377 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
12378 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
12379 `util/devicemap.c'.
12380
50dcabcf 123812009-10-01 Colin Watson <cjwatson@ubuntu.com>
12382
12383 * util/grub-editenv.c (create_envblk_file): Write new block with a
12384 .new suffix and then rename it into place, to ensure atomic
12385 creation.
12386
0e51c3a7 123872009-09-28 Robert Millan <rmh.grub@aybabtu.com>
12388
12389 Do not automatically install headers.
12390
12391 * Makefile.in (include_DATA): Remove. Update all users.
12392
31299a95 123932009-09-26 Robert Millan <rmh.grub@aybabtu.com>
12394
12395 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
12396 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
12397
12398 * util/osdetect.lua: Remove.
12399 * script/lua/lauxlib.c: Likewise.
12400 * script/lua/ldebug.c: Likewise.
12401 * script/lua/grub_main.c: Likewise.
12402 * script/lua/lauxlib.h: Likewise.
12403 * script/lua/ldebug.h: Likewise.
12404 * script/lua/ltablib.c: Likewise.
12405 * script/lua/liolib.c: Likewise.
12406 * script/lua/lstrlib.c: Likewise.
12407 * script/lua/lualib.h: Likewise.
12408 * script/lua/ldo.c: Likewise.
12409 * script/lua/ldump.c: Likewise.
12410 * script/lua/ldo.h: Likewise.
12411 * script/lua/loslib.c: Likewise.
12412 * script/lua/lundump.c: Likewise.
12413 * script/lua/grub_lib.c: Likewise.
12414 * script/lua/ldblib.c: Likewise.
12415 * script/lua/lundump.h: Likewise.
12416 * script/lua/lmem.c: Likewise.
12417 * script/lua/grub_lib.h: Likewise.
12418 * script/lua/lmathlib.c: Likewise.
12419 * script/lua/lstate.c: Likewise.
12420 * script/lua/ltm.c: Likewise.
12421 * script/lua/lvm.c: Likewise.
12422 * script/lua/lmem.h: Likewise.
12423 * script/lua/lstate.h: Likewise.
12424 * script/lua/ltm.h: Likewise.
12425 * script/lua/ltable.c: Likewise.
12426 * script/lua/lvm.h: Likewise.
12427 * script/lua/llex.c: Likewise.
12428 * script/lua/lgc.c: Likewise.
12429 * script/lua/grub_lua.h: Likewise.
12430 * script/lua/loadlib.c: Likewise.
12431 * script/lua/lfunc.c: Likewise.
12432 * script/lua/lopcodes.c: Likewise.
12433 * script/lua/lparser.c: Likewise.
12434 * script/lua/ltable.h: Likewise.
12435 * script/lua/llex.h: Likewise.
12436 * script/lua/lgc.h: Likewise.
12437 * script/lua/lfunc.h: Likewise.
12438 * script/lua/lbaselib.c: Likewise.
12439 * script/lua/lopcodes.h: Likewise.
12440 * script/lua/lparser.h: Likewise.
12441 * script/lua/lzio.c: Likewise.
12442 * script/lua/linit.c: Likewise.
12443 * script/lua/lobject.c: Likewise.
12444 * script/lua/llimits.h: Likewise.
12445 * script/lua/lstring.c: Likewise.
12446 * script/lua/lzio.h: Likewise.
12447 * script/lua/lapi.c: Likewise.
12448 * script/lua/lcode.c: Likewise.
12449 * script/lua/lua.h: Likewise.
12450 * script/lua/lobject.h: Likewise.
12451 * script/lua/lstring.h: Likewise.
12452 * script/lua/lapi.h: Likewise.
12453 * script/lua/lcode.h: Likewise.
12454 * script/lua/luaconf.h: Likewise.
12455
cb8a2c38 124562009-09-26 Colin Watson <cjwatson@ubuntu.com>
12457
12458 * docs/grub.texi (Command-line and menu entry commands): Document
12459 date and echo commands.
12460
6b9b6276 124612009-09-24 Pavel Roskin <proski@gnu.org>
12462
12463 * include/grub/kernel.h (struct grub_module_header): Remove
12464 `grub_module_header_types'. Make `type' unsigned. Make `size'
12465 32-bit on all platforms.
12466 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
12467 8-bit field. Use grub_host_to_target32() for `size'.
12468 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
12469 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
12470 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
12471
4e5a02a7 124722009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12473
12474 Fix "lost keypress" bug in at_keyboard.
12475
12476 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
12477 Checks for readyness of input buffer (without flushing it).
12478 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
12479 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
12480
c6dcedf6 124812009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12482
12483 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
12484 size check within GRUB_MACHINE_PCBIOS section.
12485
74c958b1 124862009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12487
12488 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
12489 return value.
12490 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
12491 KEYBOARD_ISREADY check.
12492 (grub_at_keyboard_checkkey): Rename to ...
12493 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
12494 Remove gratuitous cast.
12495
ff420223 124962009-09-23 Colin Watson <cjwatson@ubuntu.com>
12497
12498 * configure.ac: Call AC_PROG_MKDIR_P.
12499 * Makefile.in (docs/stamp-vti): Create docs directory. Create
12500 version.texi in $(builddir) rather than $(srcdir).
12501 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
12502 to makeinfo's @include search path.
12503
d96875df 125042009-09-23 Felix Zielcke <fzielcke@z-51.de>
12505
12506 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
12507
9b3f8365 125082009-09-23 Felix Zielcke <fzielcke@z-51.de>
12509
12510 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
12511 for `*.dpkg-new'.
12512
c44c90db 125132009-09-21 Colin Watson <cjwatson@ubuntu.com>
12514
12515 Build info documentation. Some code borrowed from Automake.
12516
12517 * configure.ac: Check for makeinfo.
12518 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
12519 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
12520 docs/version.texi.
12521 (MOSTLYCLEANFILES): Add vti.tmp.
12522 (docs/version.texi, docs/stamp-vti): Update automatically.
12523 (docs/grub.info): Build info documentation. Use --force and ignore
12524 errors for now.
12525 (all-local): Add $(INFOS).
12526 (install-local): Install info files.
12527 (uninstall): Uninstall info files.
12528 * docs/version.texi: Remove from revision control. This file is
12529 automatically generated on build now.
12530 * gendistlist.sh: Add `*.info'.
12531
e0b37bb5 125322009-09-21 Felix Zielcke <fzielcke@z-51.de>
12533
12534 * kern/term.c: Fix indentation.
12535
5a78865b 125362009-09-21 Felix Zielcke <fzielcke@z-51.de>
12537
12538 * util/hostdisk.c: Fix a comment.
12539
dace7e8a 125402009-09-20 Robert Millan <rmh.grub@aybabtu.com>
12541
12542 Fix regression introduced in r2539.
12543
12544 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
12545 to 0xA1.
12546
a83d079b 125472009-09-19 Colin Watson <cjwatson@ubuntu.com>
12548
12549 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 12550 os-prober. Under normal operation, it does not print anything to
12551 stderr; if it does, we need to debug it, and throwing away stderr
12552 makes that excessively difficult.
a83d079b 12553
be94a509 125542009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
12555
12556 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
12557
63f745e8 125582009-09-16 Robert Millan <rmh.grub@aybabtu.com>
12559
12560 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
12561 AC_LANG_PROGRAM from autoconf.
12562 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
12563 prototypes (fixes warning).
12564
12565 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
12566 `--disable-werror' was used.
12567
bbb2a70f 125682009-09-16 Robert Millan <rmh.grub@aybabtu.com>
12569
12570 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
12571 uninitialized `lastaddr'.
12572
77c24f1d 125732009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12574
0f0b8c87 12575 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 12576
07197f23 125772009-09-14 Colin Watson <cjwatson@ubuntu.com>
12578
12579 * commands/test.c (get_fileinfo): Return immediately if
12580 grub_fs_probe fails.
12581
dabf1798 125822009-09-14 José Martínez <xosemp@gmail.com>
12583
12584 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
12585
d52109a7 125862009-09-14 Colin Watson <cjwatson@ubuntu.com>
12587
12588 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
12589 output.
12590
56532179 125912009-09-13 Robert Millan <rmh.grub@aybabtu.com>
12592
12593 * configure.ac: Remove --enable-grub-pe2elf. Only build
12594 grub-pe2elf when needed by the build system itself.
12595 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
12596
8ef070f5 125972009-09-12 Robert Millan <rmh.grub@aybabtu.com>
12598
12599 * configure.ac: Bump version to 1.97~beta3.
12600 * docs/version.texi: Likewise.
12601
61229557 126022009-09-12 Robert Millan <rmh.grub@aybabtu.com>
12603
12604 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
12605 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
12606 from here ...
12607 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
12608 (grub_linux_setup_video): ... to here (with some adjustments).
12609
5c9f8d84 126102009-09-12 Robert Millan <rmh.grub@aybabtu.com>
12611
12612 Fix memory corruption issue (spotted by Colin Watson).
12613
12614 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
12615 causing returned size to be stored in an incorrect memory location.
12616 Fix use of uninitialized value when storing the returned size.
12617
e8f5d6e9 126182009-09-12 Yves Blusseau <blusseau@zetam.org>
12619
12620 Change clean rules to properly remove files
12621
12622 * genmk.rb: add new clean rules
12623 * Makefile.in (clean): add the new targets
12624 (mostlyclean): likewise
12625
cda2a409 126262009-09-11 Colin Watson <cjwatson@ubuntu.com>
12627
12628 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
12629 to grub_uint64_t.
12630 * fs/ntfs.c (init_file): Understand 64-bit sizes for
12631 non-resident files.
12632
86695375 126332009-09-11 Colin Watson <cjwatson@ubuntu.com>
12634
12635 * configure.ac: Don't look for help2man when cross-compiling. Fixes
12636 part of bug #27349.
12637
8aa1541a 126382009-09-10 Felix Zielcke <fzielcke@z-51.de>
12639
12640 * util/grub-mkconfig.in: Make the created config mode 400 and
12641 print a warning if it fails.
12642
48d9bb0a 126432009-09-10 Robert Millan <rmh.grub@aybabtu.com>
12644
12645 * util/grub.d/40_custom.in: Ask user to type custom entries below
12646 comment, rather than below 'exec tail' line.
12647
3b0521be 126482009-09-10 Colin Watson <cjwatson@ubuntu.com>
12649
12650 * util/grub.d/40_custom.in: Make sure that the explanatory text is
12651 visible in grub.cfg.
12652
50051d55 126532009-09-10 Colin Watson <cjwatson@ubuntu.com>
12654
12655 * util/grub.d/40_custom.in: Make it a little clearer how to use this
12656 file.
12657
c0d34387 126582009-09-10 Felix Zielcke <fzielcke@z-51.de>
12659
12660 * docs/grub.cfg: Add an example menu entry for memtest86+.
12661
80a608f3 126622009-09-09 Felix Zielcke <fzielcke@z-51.de>
12663
a2094832 12664 * config.guess: Update to latest version from config git.
80a608f3 12665 * config.sub: Likewise.
12666
99423078 126672009-09-08 Colin Watson <cjwatson@ubuntu.com>
12668
12669 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
12670 unknown-command case. Fixes bug #27320.
12671
44454e4c 126722009-09-08 Felix Zielcke <fzielcke@z-51.de>
12673
12674 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
12675 `help' if the command exists.
12676
e30d87ad 126772009-09-06 Robert Millan <rmh.grub@aybabtu.com>
12678
12679 * INSTALL: Require GCC 4.1.3 or later.
12680
9a86f1ec 126812009-09-06 Yves Blusseau <blusseau@zetam.org>
12682
12683 * Makefile.in (RMKFILES): add i386-qemu.rmk
12684 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
12685 $(srcdir)/stamp-h.in
12686
7f26d466 126872009-09-05 Robert Millan <rmh.grub@aybabtu.com>
12688
12689 * util/grub-probe.c (probe): Comment out buggy codepath, which
12690 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
12691 should be re-enabled after 1.97.
12692
3a613259 126932009-09-05 Felix Zielcke <fzielcke@z-51.de>
12694
12695 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
12696 find searches for.
12697
197f76c7 126982009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
12699
12700 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
12701 unnecessary calls to grub_error.
12702
70ba68ce 127032009-09-04 Colin Watson <cjwatson@ubuntu.com>
12704
12705 * NEWS: Mention `keystatus' and Unicode fonts.
12706
4ff0d7a4 127072009-09-04 Robert Millan <rmh.grub@aybabtu.com>
12708
12709 * configure.ac: Bump version to 1.97~beta2.
12710 * docs/version.texi: Likewise.
12711
77c55a87 127122009-09-03 Colin Watson <cjwatson@ubuntu.com>
12713
12714 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
12715 containing unwind information in some cases where it previously did
12716 not. Use -fno-dwarf2-cfi-asm if available to restore the old
12717 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
12718 discussion.
12719
f79572cd 127202009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
12721
12722 Embedding loadenv module into grub-emu
12723
12724 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
12725 commands/loadenv.c
12726 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
12727 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
12728 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
12729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
12730 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
12731 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
12732
93a81088 127332009-09-03 Magnus Granberg <zorry@ume.nu>
12734
12735 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
12736 include -fPIE in the default specs.
12737 * configure.ac: Check if pie_possible is yes and add -fno-PIE
12738 to TARGET_CFLAGS.
12739
160034b2 127402009-09-03 Felix Zielcke <fzielcke@z-51.de>
12741
12742 * INSTALL: Note that GNU Bison 2.3 or later is required.
12743
087c07c4 127442009-09-03 Colin Watson <cjwatson@ubuntu.com>
12745
12746 * kern/i386/pc/startup.S: Fix typo.
12747
cbf978c0 127482009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12749
12750 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
12751 according to GCS.
12752
127532009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 12754
12755 * docs/grub.texi (Naming convention): Describe one-based partition
12756 numbering.
12757 (Device syntax): Likewise.
12758 (File name syntax): Likewise.
12759 (Block list syntax): Likewise.
12760 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
12761 menu.lst.
12762 (File name syntax): Likewise.
12763 (Command-line and menu entry commands): Document acpi, blocklist,
12764 crc, export, insmod, keystatus, ls, set, and unset commands.
12765
f3e8cdfd 127662009-09-02 Colin Watson <cjwatson@ubuntu.com>
12767
12768 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
12769 to avoid implying that only one of --shift, --ctrl, or --alt may be
12770 used.
12771
c0bc232b 127722009-09-02 Colin Watson <cjwatson@ubuntu.com>
12773
12774 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
12775 rather than comparing against S_IFREG, which will almost never work.
12776
aa0f752d 127772009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
12780 (write_blocklists): Likewise.
12781
ecb3166a 127822009-09-01 Colin Watson <cjwatson@ubuntu.com>
12783
12784 * script/lua/grub_lua.h (fputs): Supply a format string as the first
12785 argument to grub_printf.
12786
c403a125 127872009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 12788
12789 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 12790 non GNU test.
31aba781 12791
b5e7312c 127922009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12793
12794 * kern/file.c (grub_file_read): Spelling fix
12795
fe00f472 127962009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12797
12798 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
12799 loading of headers in some cases.
12800
cc55302e 128012009-08-30 Robert Millan <rmh.grub@aybabtu.com>
12802
12803 * configure.ac: Bump version to 1.97~beta1.
12804 * docs/version.texi: Likewise.
12805
5c90cdd2 128062009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 12807
12808 * include/grub/i386/xnu.h: Add license header.
12809 include grub/err.h explicitly.
12810
c90edae4 128112009-08-29 Robert Millan <rmh.grub@aybabtu.com>
12812
12813 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
12814 to `ufs' in the vfs.root.mountfrom kernel parameter.
12815
d8888b5c 128162009-08-29 Robert Millan <rmh.grub@aybabtu.com>
12817
12818 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
12819
12820 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
12821 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
12822
12823 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
12824 `ARRAY_SIZE' macro.
12825
6f07b921 128262009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12827
12828 * kern/file.c (grub_file_read): Check offset.
12829 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
12830 * fs/jfs.c (grub_jfs_read_file): Likewise.
12831 * fs/ntfs.c (grub_ntfs_read): Likewise.
12832 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
12833 * fs/minix.c (grub_minix_read_file): Correct offset check.
12834 * fs/ufs.c (grub_ufs_read_file): Likewise.
12835
b4f34077 128362009-08-28 Colin Watson <cjwatson@ubuntu.com>
12837
12838 * term/i386/pc/console.c (bios_data_area): Cast
12839 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
12840
e7c69859 128412009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 1-bit optimised blitters.
12844
12845 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
12846 prototype.
12847 (grub_video_fbblit_replace_24bit_1bit): Likewise.
12848 (grub_video_fbblit_replace_16bit_1bit): Likewise.
12849 (grub_video_fbblit_replace_8bit_1bit): Likewise.
12850 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
12851 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
12852 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
12853 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
12854 function.
12855 (grub_video_fbblit_replace_24bit_1bit): Likewise.
12856 (grub_video_fbblit_replace_16bit_1bit): Likewise.
12857 (grub_video_fbblit_replace_8bit_1bit): Likewise.
12858 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
12859 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
12860 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
12861 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
12862 when possible.
12863 * video/video.c (grub_video_get_blit_format): Return
12864 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
12865
a57da43f 128662009-08-28 Colin Watson <cjwatson@ubuntu.com>
12867
12868 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
12869 the first argument to grub_printf.
12870
4cbe67e5 128712009-08-28 Colin Watson <cjwatson@ubuntu.com>
128722009-08-28 Robert Millan <rmh.grub@aybabtu.com>
12873
12874 Add `getkeystatus' terminal method. Add a new `keystatus' command
12875 to query it.
12876
12877 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
12878 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
12879 modifier key bitmasks.
12880 (struct grub_term_input): Add `getkeystatus' member.
12881 (grub_getkeystatus): Add prototype.
12882 * kern/term.c (grub_getkeystatus): New function.
12883
12884 * include/grub/i386/pc/memory.h
12885 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
12886 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
12887 Data Area layout.
12888 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
12889 (grub_console_term_input): Set `getkeystatus' member.
12890 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
12891 constants.
12892 (grub_usb_keyboard_getreport): Likewise.
12893 (grub_usb_keyboard_checkkey): Likewise.
12894 (grub_usb_keyboard_getkeystatus): New function.
12895 (grub_usb_keyboard_term): Set `getkeystatus' member.
12896
12897 * commands/keystatus.c: New file.
12898 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
12899 (keystatus_mod_SOURCES): New variable.
12900 (keystatus_mod_CFLAGS): Likewise.
12901 (keystatus_mod_LDFLAGS): Likewise.
12902 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
12903 commands/keystatus.c.
12904 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12905 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12906 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12907 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12908 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12909 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 12910
6e2a9085 129112009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 Split befs.mod and afs.mod into *_be.mod and *.mod
12914
12915 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
12916 (grub_fstest_SOURCES): Likewise.
12917 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
12918 (afs_be_mod_SOURCES): New variable.
12919 (afs_be_mod_CFLAGS): Likewise.
12920 (afs_be_mod_LDFLAGS): Likewise.
12921 (befs_be_mod_SOURCES): Likewise.
12922 (befs_be_mod_CFLAGS): Likewise.
12923 (befs_be_mod_LDFLAGS): Likewise.
12924 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
12925 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12926 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12927 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12928 (grub_emu_SOURCES): Likewise.
12929 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12930 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12931 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12932 * fs/afs_be.c: New file.
12933 * fs/befs_be.c: New file.
12934 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
12935 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
12936 (U16): Replaced with ...
12937 (grub_afs_to_cpu16): ...this. All users updated.
12938 (U32): Replaced with ...
12939 (grub_afs_to_cpu32): ...this. All users updated.
12940 (U64): Replaced with ...
12941 (grub_afs_to_cpu64): ...this. All users updated.
12942 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
12943 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 12944 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 12945 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
12946 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
12947 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
12948 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
12949 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
12950 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
12951 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
12952 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
12953
32a71655 129542009-08-26 Bean <bean123ch@gmail.com>
12955
12956 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
12957 64-bit number.
12958 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
12959 (grub_xfs_inode_block): Change return type to grub_uint64_t.
12960 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
12961
552bf6c5 129622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12963
12964 NetBSD memory map support.
12965
12966 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
12967 (grub_netbsd_btinfo_mmap_header): New structure.
12968 (grub_netbsd_btinfo_mmap_entry): Likewise.
12969 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
12970
1ae2078c 129712009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12972
12973 Enable bsd.mod on coreboot.
12974
12975 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
12976 (bsd_mod_SOURCES): New variable.
12977 (bsd_mod_CFLAGS): Likewise.
12978 (bsd_mod_LDFLAGS): Likewise.
12979 (bsd_mod_ASFLAGS): Likewise.
12980 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
12981 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
12982
beefc598 129832009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12984
12985 Cleanup NetBSD root support.
12986
12987 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
12988 grub_bsd_get_device.
12989 Fix typo.
12990
3b76e68b 129912009-08-25 Felix Zielcke <fzielcke@z-51.de>
12992
12993 * util/grub.d/00_header.in: Move check for the video backend of
12994 gfxterm from here ...
12995 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
12996 a suitable video backend.
12997
aea664ea 129982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12999
13000 Fix breakage in grub-setup.
13001
13002 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
13003 "msdos_partition_map".
13004
ff747d50 130052009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13006
13007 Fix breakage in normal/auth.c.
13008
13009 * normal/auth.c (grub_iswordseparator): New function.
13010
e7e1f93f 130112009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13012
13013 Authentication support.
13014
13015 * commands/password.c: New file.
13016 * conf/common.rmk (pkglib_MODULES): Add password.mod.
13017 (password_mod_SOURCES): New variable.
13018 (password_mod_CFLAGS): Likewise.
13019 (password_mod_LDFLAGS): Likewise.
13020 (normal_mod_SOURCES): Add normal/auth.c.
13021 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
13022 normal/auth.c.
13023 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13024 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13025 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13027 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13028 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13029 * include/grub/auth.h: New file.
13030 * include/grub/err.h (grub_err_t): New enum value
13031 GRUB_ERR_ACCESS_DENIED.
13032 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
13033 'users'.
13034 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
13035 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
13036 users updated.
13037 * normal/auth.c: New file.
13038 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
13039 (grub_cmdline_run): Don't allow to go to command line without
13040 authentication.
13041 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
13042 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
13043 menuentry without superuser rights.
13044 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
13045 user isn't a superuser.
13046
70f1161d 130472009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13048
13049 Save space by inlining misc.c functions.
13050
13051 * kern/misc.c (grub_iswordseparator): Made static.
13052 * kern/misc.c (grub_strcat): Moved from here ...
13053 * include/grub/misc.h (grub_strcat): ... here. Inlined.
13054 * kern/misc.c (grub_strncat): Moved from here ...
13055 * include/grub/misc.h (grub_strncat): ... here. Inlined.
13056 * kern/misc.c (grub_strcasecmp): Moved from here ...
13057 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
13058 * kern/misc.c (grub_strncasecmp): Moved from here ...
13059 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
13060 * kern/misc.c (grub_isalpha): Moved from here ...
13061 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
13062 * kern/misc.c (grub_isdigit): Moved from here ...
13063 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
13064 * kern/misc.c (grub_isgraph): Moved from here ...
13065 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
13066 * kern/misc.c (grub_tolower): Moved from here ...
13067 * include/grub/misc.h (grub_tolower): ... here. Inlined.
13068
48e40bff 130692009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13070
13071 * script/sh/function.c (grub_script_function_find): Cut error message
13072 not to flood terminal.
13073 * script/sh/lexer.c (grub_script_yylex): Remove command line length
13074 limit.
13075 * script/sh/script.c (grub_script_arg_add): Duplicate string.
13076
c385bfc3 130772009-08-24 Colin Watson <cjwatson@ubuntu.com>
13078
13079 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
13080 `report' grub_uint8_t *.
13081 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
13082 Use a 50-millisecond timeout rather than just repeating
13083 grub_usb_keyboard_getreport 50 times.
13084 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
13085
2d21e3e8 130862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 Rename *_partition_map to part_*
13089
13090 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
13091 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
13092 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
13093 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
13094 All users updated.
13095 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
13096 All users updated.
13097 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
13098 * util/grub-probe.c (probe_partmap): Don't transform partition name
13099 to get module name.
13100
dd103c4e 131012009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13102
13103 Fix OpenBSD and NetBSD support.
13104
13105 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
13106 memory address conflict.
13107 (OPENBSD_MMAP_ACPI): New definition.
13108 (OPENBSD_MMAP_NVS): Likewise.
13109 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
13110 and OPENBSD_MMAP_NVS.
13111 Add memory map terminator
13112 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 13113 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 13114
16c84d74 131152009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 Let user specify NetBSD root device.
13118
13119 * loader/i386/bsd.c (netbsd_root): New variable.
13120 (netbsd_opts): New option 'root'.
13121 (NETBSD_ROOT_ARG): New macro.
13122 (grub_netbsd_boot): Use 'netbsd_root'.
13123 (grub_bsd_unload): Free 'netbsd_root'.
13124 (grub_cmd_netbsd): Fill 'netbsd_root'.
13125
adb29902 131262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13127
13128 Support for 64-bit NetBSD.
13129
13130 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
13131 point when booting non-FreeBSD.
13132
f5ae9f74 131332009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13134
13135 Support --no-smp and --no-acpi for NetBSD.
13136
13137 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
13138 (NETBSD_AB_NOACPI): Likewise.
13139 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
13140 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
13141
de74f136 131422009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13143
13144 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
13145 errors.
13146 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
13147 errors. Call grub_error when needed.
13148
e9a925da 131492009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 * commands/search.c (search_fs): Try searching without autoload first.
13152 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13153 filesystem module explicitly for faster booting.
13154
5174302b 131552009-08-23 Colin Watson <cjwatson@ubuntu.com>
13156
13157 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
13158
c8c80635 131592009-08-23 Colin Watson <cjwatson@ubuntu.com>
13160
13161 * util/grub.d/30_os-prober.in: Disable os-prober if
13162 `GRUB_DISABLE_OS_PROBER' was set to true.
13163
71acf5e5 131642009-08-23 Robert Millan <rmh.grub@aybabtu.com>
13165
13166 * partmap/pc.c: Rename to ...
13167 * partmap/msdos.c: ... this. Update all users.
13168 (grub_pc_partition_map): Rename to ...
13169 (grub_msdos_partition_map): ... this. Update all users.
13170
13171 * parttool/pcpart.c: Rename to ...
13172 * parttool/msdospart.c: ... this. Update all users.
13173
13174 * include/grub/pc_partition.h: Rename to ...
13175 * include/grub/msdos_partition.h: ... this. Update all users.
13176 (grub_pc_partition_bsd_entry): Rename to ...
13177 (grub_msdos_partition_bsd_entry): ... this. Update all users.
13178 (grub_pc_partition_disk_label): Rename to ...
13179 (grub_msdos_partition_disk_label): ... this. Update all users.
13180 (grub_pc_partition_entry): Rename to ...
13181 (grub_msdos_partition_entry): ... this. Update all users.
13182 (grub_pc_partition_mbr): Rename to ...
13183 (grub_msdos_partition_mbr): ... this. Update all users.
13184 (grub_pc_partition): Rename to ...
13185 (grub_msdos_partition): ... this. Update all users.
13186 (grub_pc_partition_is_empty): Rename to ...
13187 (grub_msdos_partition_is_empty): ... this. Update all users.
13188 (grub_pc_partition_is_extended): Rename to ...
13189 (grub_msdos_partition_is_extended): ... this. Update all users.
13190 (grub_pc_partition_is_bsd): Rename to ...
13191 (grub_msdos_partition_is_bsd): ... this. Update all users.
13192
13193 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
13194 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
13195 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
13196 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
13197 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
13198 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
13199 (gpt_mod_LDFLAGS): Rename to ...
13200 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
13201 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
13202 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
13203 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
13204 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
13205 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
13206 (part_gpt_mod_LDFLAGS): ... this.
13207 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
13208 `pcpart.mod' to `msdospart.mod'.
13209 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
13210 to ...
13211 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
13212 (msdospart_mod_LDFLAGS): ... this.
13213
c11fded5 132142009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13215
13216 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
13217 (openbsd_opts): Likewise.
13218 (netbsd_opts): Likewise.
13219 (freebsd_flags): Added 0 terminator.
13220 (openbsd_flags): Likewise.
13221 (netbsd_flags): Likewise.
13222 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
13223 (grub_cmd_freebsd): Transformed into extended command.
13224 (grub_cmd_openbsd): Likewise.
13225 (grub_cmd_netbsd): Likewise.
13226 (cmd_freebsd): Changed type to grub_extcmd_t.
13227 (cmd_openbsd): Likewise.
13228 (cmd_netbsd): Likewise.
13229 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
13230 grub_cmd_openbsd as extended commands.
13231 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
13232 cmd_netbsd and cmd_openbsd
13233
11d1c769 132342009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13235
13236 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
13237
7a9094e5 132382009-08-21 Pavel Roskin <proski@gnu.org>
13239
5496c37e 13240 * Makefile.in (install-local): When checking if a file is in the
13241 build directory, use "test -e" to detect symlinks.
13242
7a9094e5 13243 * Makefile.in (install-local): Remove all files in
13244 $(DESTDIR)$(pkglibdir) before installing new files there.
13245
e53cea11 132462009-08-18 Felix Zielcke <fzielcke@z-51.de>
13247
13248 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
13249 grub-mkelfimage.
13250
9aced544 132512009-08-18 Felix Zielcke <fzielcke@z-51.de>
13252
13253 * util/grub-mkconfig.in: Don't use gfxterm by default if not
13254 explicitly specified by the user.
13255
b7da6bab 132562009-08-18 Pavel Roskin <proski@gnu.org>
13257
13258 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
13259 grub_uint8_t pointer for data.
13260 * include/grub/fbutil.h (struct grub_video_fbblit_info):
13261 Likewise.
13262 * video/fb/fbutil.c: Remove unnecessary casts.
13263
19f1b335 132642009-08-17 Michal Suchanek <hramrach@centrum.cz>
13265
13266 VBE cleanup.
13267
13268 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
13269 (grub_vbe_set_video_mode): Save active mode info
13270 only after setting the mode.
13271 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
13272 second argument.
13273
2f467aa9 132742009-08-17 Michal Suchanek <hramrach@centrum.cz>
13275
13276 Rename variables for clarity.
13277
13278 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
13279 (active_vbe_mode_info): ... this. All users updated.
13280 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
13281 All users updated.
13282 (initial_mode): Rename to ...
13283 (initial_vbe_mode): ... this. All users updated.
13284 (mode_in_use): Rename to ..
13285 (vbe_mode_in_use): ... this. All users updated.
13286 (mode_list): Rename to ..
13287 (vbe_mode_list): ... this. All users updated.
13288 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
13289 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
13290 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
13291 'mode_list_size' to 'vbe_mode_list_size'.
13292 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
13293 'best_mode_info' to 'best_vbe_mode_info' and
13294 'best_mode' to 'best_vbe_mode'
13295
6025fcd7 132962009-08-17 Michal Suchanek <hramrach@centrum.cz>
13297
13298 Remove duplicate grub_video_fb_get_video_ptr.
13299
13300 * include/grub/fbutil.h (get_data_ptr): Rename to ...
13301 (grub_video_fb_get_video_ptr): ... this.
13302 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
13303 * video/fb/fbutil.c: Add comment about addressing.
13304 (get_data_ptr): Rename to ...
13305 (grub_video_fb_get_video_ptr): ... this. All users updated.
13306 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
13307
cc8c6faf 133082009-08-17 Robert Millan <rmh.grub@aybabtu.com>
13309
13310 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
13311 grub_dprintf() that was just added.
13312
08aa61f0 133132009-08-17 Robert Millan <rmh.grub@aybabtu.com>
13314
13315 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
13316 (DEFAULT_VIDEO_MODE): Remove macros.
13317 (grub_linux_boot): Remove assumption that Linux has FB support,
13318 and use "text" as default video mode.
13319
7cef4f75 133202009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
13323 grub_dprintf.
13324 * fs/fat.c (grub_fat_read_data): Likewise.
13325
e1f39873 133262009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
13329 payload.
13330 (grub_module): Likewise.
13331
c166d79e 133322009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13333
13334 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
13335 mbi->cmdline but free playground.
13336
c60cee8e 133372009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13338
13339 Handle group offset on UFS1.
13340
13341 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
13342 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
13343
c0d8b5d4 133442009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13345
13346 Split ufs.mod into ufs1.mod and ufs2.mod.
13347
13348 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
13349 (grub_fstest_SOURCES): Likewise.
13350 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
13351 (ufs_mod_SOURCES): Remove.
13352 (ufs_mod_CFLAGS): Likewise.
13353 (ufs_mod_LDFLAGS): Likewise.
13354 (ufs1_mod_SOURCES): New variable.
13355 (ufs1_mod_CFLAGS): Likewise.
13356 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 13357 (ufs2_mod_SOURCES): New variable.
13358 (ufs2_mod_CFLAGS): Likewise.
13359 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 13360 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
13361 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
13362 Likewise.
13363 (grub_emu_SOURCES): Likewise.
13364 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13365 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13366 (grub_setup_SOURCES): Likewise.
13367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13368 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
13369 (grub_setup_SOURCES): Likewise.
13370 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
13371 Likewise.
13372 * fs/ufs2.c: New file.
13373 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
13374
d3539132 133752009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13376
13377 Framebuffer split.
13378
13379 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
13380 subsystem at the end.
13381 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
13382 (video_fb_mod_SOURCES): New variable.
13383 (video_fb_mod_CFLAGS): Likewise.
13384 (video_fb_mod_LDFLAGS): Likewise.
13385 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
13386 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
13387 * video/i386/pc/vbeblit.c: Moved from here ...
13388 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
13389 * video/i386/pc/vbefill.c: Moved from here ...
13390 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
13391 * video/i386/pc/vbeutil.c: Moved from here ...
13392 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
13393 * include/grub/i386/pc/vbeblit.h: Moved from here ...
13394 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
13395 * include/grub/i386/pc/vbefill.h: Moved from here ...
13396 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
13397 * include/grub/i386/pc/vbeutil.h: Moved from here ...
13398 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
13399 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
13400 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
13401 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
13402 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
13403 (grub_video_adapter): Added 'get_info_and_fini'.
13404 (grub_video_get_info_and_fini): New prototype.
13405 (grub_video_set_mode): make modestring const char *.
13406 * loader/i386/linux.c (grub_linux_setup_video): Use
13407 grub_video_get_info_and_fini.
13408 (grub_linux_boot): Move modesetting just before booting.
13409 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
13410 grub_video_get_info_and_fini.
13411 * video/i386/pc/vbe.c: Moved framebuffer part ...
13412 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
13413 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
13414 grub_video_fbstd_colors and grub_video_fb_set_palette.
13415 (grub_video_vbe_init): Clear 'framebuffer' variable and use
13416 grub_video_fb_init.
13417 (grub_video_vbe_fini): Use grub_video_fb_fini.
13418 (grub_video_vbe_setup): Use framebuffer.render_target instead of
13419 render_target and use grub_video_fb_set_active_render_target and
13420 grub_video_fb_set_palette.
13421 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
13422 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
13423 (grub_video_vbe_adapter): Use framebuffer.
13424 * video/video.c (grub_video_get_info_and_fini): New function.
13425 (grub_video_set_mode): Make modestring const char *.
13426 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
13427 values are already initialised.
13428
d404ee56 134292009-08-14 Pavel Roskin <proski@gnu.org>
13430
13431 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
13432 ABS and APPLE_CC.
13433 * boot/i386/pc/diskboot.S: Likewise.
13434 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
13435 sectors allow compilation on MacOSX.
13436 * conf/i386-pc.rmk: Enable unconditional compilation of
13437 lnxboot.img.
13438
9a10df16 134392009-08-13 Colin Watson <cjwatson@ubuntu.com>
13440
13441 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
13442 * util/grub.d/00_header.in: Enter interruptible sleep if
13443 GRUB_HIDDEN_TIMEOUT is set.
13444
be3c9ca7 134452009-08-13 Yves Blusseau <blusseau@zetam.org>
13446
13447 * include/grub/symbol.h: Add the LOCAL macro.
13448 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
13449 starting with "L_".
13450
1f9e557e 134512009-08-13 Pavel Roskin <proski@gnu.org>
13452
9ca62843 13453 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
13454 any modern compilers we support.
13455
1f9e557e 13456 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
13457 Use local labels starting with "L_" so that Apple assembler
13458 knows they are local.
13459
81623db6 134602009-08-10 Robert Millan <rmh.grub@aybabtu.com>
13461
13462 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
13463 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
13464 (bsd_kernel_types): ... this enum.
13465
13466 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
13467 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
13468 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
13469
13470 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
13471 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
13472 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
13473 messages.
13474
f5d35e7a 134752009-08-08 Robert Millan <rmh.grub@aybabtu.com>
13476
13477 * util/grub-dumpdevtree: Moved from here ...
13478 * util/i386/efi/grub-dumpdevtree: ... to here.
13479 (hexify): New function. Converts a string to its hex version.
13480 Generate hex versions of "efi" and "device-properties" by calling
13481 hexify() on the ASCII strings rather than by hardcoding numbers.
13482
d1e1d527 134832009-08-08 Robert Millan <rmh.grub@aybabtu.com>
13484
13485 * fs/jfs.c: Update copyright year.
13486
1ebbe064 134872009-08-08 Felix Zielcke <fzielcke@z-51.de>
13488
13489 * util/grub.d/00_header.in: Fix a comment.
13490 * util/grub.d/10_linux.in: Likewise.
13491 * util/grub.d/10_windows.in: Likewise.
13492 * util/grub.d/10_hurd.in: Likewise.
13493
a78c8d24 134942009-08-08 Felix Zielcke <fzielcke@z-51.de>
13495
13496 * util/grub-mkconfig.in: Allow the user to specify the used font
13497 with GRUB_FONT.
13498
29a6b9e8 134992009-08-08 Pavel Roskin <proski@gnu.org>
13500
b5f16cc4 13501 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
13502 available, xfs.mod needs it now.
13503
2f5cb827 13504 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
13505 the "g" modifier in sed when the intention is to strip something
13506 once. This fixes comparison of kernels with multiple dashes.
13507
29a6b9e8 13508 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
13509 on it. Add missing space before closing bracket. Fix
13510 misleading formatting.
13511
892a3d98 135122009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13513
13514 * docs/grub.texi: Major overhaul. Remove all sections that are
13515 specific to GRUB Legacy, or mostly composed of Legacy-specific
13516 information.
13517
ed94253f 135182009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13519
13520 * docs/version.texi: New file. Provides version information for
13521 grub.texi.
13522
126d6628 135232009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13524
13525 * docs/grub.texi: Update CVS information to SVN.
13526 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
13527
998b5aa9 135282009-08-07 Felix Zielcke <fzielcke@z-51.de>
13529
13530 * util/grub-mkconfig.in: Remove a wrong `fi'.
13531
818e094a 135322009-08-07 Felix Zielcke <fzielcke@z-51.de>
13533
13534 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
13535 (grub_jfs_uuid): New function.
13536 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
13537
b969c52f 135382009-08-07 Felix Zielcke <fzielcke@z-51.de>
13539
13540 * util/grub-mkconfig_lib.in (font_path): Move the functionality
13541 of it to ...
13542 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
13543 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
13544
7a4894cc 135452009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13546
13547 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
13548 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
13549 Update all users.
13550
13551 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
13552 not just "vmlinu[zx]".
13553 Moved from here ...
13554 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
13555 all users.
13556
13557 * util/grub.d/10_linux.in (find_latest): Moved from here ...
13558 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
13559 all users.
13560
4e2171f8 135612009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13562
13563 * util/grub.d/10_freebsd.in: Use an absolute device path for
13564 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
13565
6dcfcb32 135662009-08-06 Felix Zielcke <fzielcke@z-51.de>
13567
13568 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
13569 handling of multiple abstraction modules.
13570
f56a8756 135712009-08-04 Robert Millan <rmh.grub@aybabtu.com>
13572
13573 Fix a bug resulting in black screen when loading Linux using a
13574 packed video mode.
13575
13576 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
13577 function.
13578
13579 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
13580 (grub_vbe_bios_getset_dac_palette_width): New function.
13581 (grub_vbe_bios_get_dac_palette_width)
13582 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
13583 grub_vbe_bios_getset_dac_palette_width()).
13584
13585 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
13586 check for return status.
13587 (grub_vbe_get_video_mode_info): When getting information for a packed
13588 mode (<= 8 bpp), obtain DAC palette width using
13589 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
13590 {red,green,blue}_mark_size.
13591
222671b2 135922009-08-04 Felix Zielcke <fzielcke@z-51.de>
13593
ecb1a6d9 13594 * commands/search.c (options): Fix help output to match actual code.
222671b2 13595
f84114f5 135962009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
13597
13598 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
13599 of homegrown code.
13600
bd288a20 136012009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 13602
13603 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
13604 on XFS or ReiserFS.
13605
8aab5e25 136062009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13607
13608 Support Apple partition map with sector size different from 512 bytes.
13609
13610 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
13611 (apple_partition_map_iterate): Respect 'aheader.blocksize'
13612 and 'apart.partmap_size'.
13613
6ad6258a 136142009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
136152009-08-01 Robert Millan <rmh.grub@aybabtu.com>
13616
13617 Fix cpuid command.
13618
13619 * commands/i386/cpuid.c (options): New variable.
13620 (grub_cmd_cpuid): Return real error.
13621 (GRUB_MOD_INIT(cpuid)): Declare options.
13622
67459bc6 136232009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
13624
13625 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
13626 valid.
13627
fbc6ab54 136282009-07-31 Bean <bean123ch@gmail.com>
13629
13630 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
13631 log2_inode.
13632 (grub_fshelp_node): Move inode field to the end.
13633 (grub_xfs_data): Remove inode field.
13634 (grub_xfs_inode_block): Calculate inode size using sblock.
13635 (grub_xfs_inode_offset): Likewise.
13636 (grub_xfs_read_inode): Calculate inode size using sblock.
13637 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
13638 (grub_xfs_iterate_dir): Calculate inode size using sblock.
13639 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
13640 to match inode size.
13641 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
13642 not accessible when data is null.
13643 (grub_xfs_open): Likewise.
13644
f45d6cfc 136452009-07-31 Bean <bean123ch@gmail.com>
13646
13647 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
13648 Don't change pv->disk if it's already set.
13649
13650 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
13651 (grub_raid_register): ... here.
13652 (grub_raid_rescan): Removed.
13653
13654 * include/grub/raid.h (grub_raid_rescan): Removed.
13655
13656 * util/grub-fstest.c: Remove include file <grub/raid.h>.
13657 (fstest): Replace grub_raid_rescan with module fini function followed
13658 by init function.
13659
13660 * util/grub-probe.c: Add include file <grub/raid.h>.
13661 (probe_raid_level): New function.
13662 (probe): Detect abstraction by walking the disk device, support two
13663 level of abstraction (LVM on RAID) when detecting partition map.
13664
24443b5a 136652009-07-31 Pavel Roskin <proski@gnu.org>
13666
13667 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
13668 to grub_zalloc(), it was erroneous.
13669 Reported by Bean <bean123ch@gmail.com>
13670
a275d9e7 136712009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
13672
13673 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 13674 embedding zone, not only the first one.
a275d9e7 13675
56c5a47f 136762009-07-29 Joe Auricchio <jauricchio@gmail.com>
13677
13678 * term/gfxterm.c (clear_char): New function.
13679 (grub_virtual_screen_setup): Use clear_char.
13680 (scroll_up): Likewise.
13681 (grub_virtual_screen_cls): Likewise.
13682
67bb323a 136832009-07-29 Felix Zielcke <fzielcke@z-51.de>
13684
13685 * util/deviceiter.c (get_acceleraid_disk_name): New static
13686 function.
13687 (grub_util_iterate_devices): Handle Accelraid devices.
13688 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
13689
388a7c75 136902009-07-28 Robert Millan <rmh.grub@aybabtu.com>
13691
13692 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
13693 separator for the suggested gfxpayload string (';' collides with the
13694 parser and needs escaping).
13695
3bb7abcf 136962009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
13697
13698 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
13699 Clear direction flag before jumping to OS.
13700 (grub_multiboot2_real_boot): Likewise.
13701
2ddd36d7 137022009-07-28 Felix Zielcke <fzielcke@z-51.de>
13703
13704 * util/i386/pc/grub-install: Fix parsing of --disk-module
13705 option.
13706
c521b62b 137072009-07-28 Felix Zielcke <fzielcke@z-51.de>
13708
13709 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
13710 when embedding.
13711
880e0a0c 137122009-07-26 Felix Zielcke <fzielcke@z-51.de>
13713
13714 * util/grub-mkconfig.in (package_version): New variable.
13715 Use it do display the version.
13716
2366e356 137172009-07-25 Felix Zielcke <fzielcke@z-51.de>
13718
13719 * kern/file.c (grub_file_open): Revert to previous check with
13720 grub_errno.
13721
7ad8c80e 137222009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13723
13724 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
13725 from help line. It's out of sync with code.
13726
72b9658b 137272009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13728
13729 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
13730 entries on failed boot.
13731
77435277 137322009-07-25 Felix Zielcke <fzielcke@z-51.de>
13733
13734 * kern/file.c (grub_file_open): Fix an error check.
13735
fcaa8b21 137362009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
13737
35d16c74 13738 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
13739 partition map couldn't be identified.
fcaa8b21 13740
48904cd1 137412009-07-23 Pavel Roskin <proski@gnu.org>
13742
ef3c317f 13743 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
13744 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
13745 case of little endian words becomes just an optimization.
13746 Respect const modifier.
ad8ea1f4 13747 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 13748
48904cd1 13749 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
13750 to avoid loss of upper bits if align is unsigned and shorter
13751 than addr.
13752
260c9a89 137532009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 UUID support for UFS
13756
13757 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
13758 (grub_ufs_uuid): New function.
13759 (grub_ufs_fs): add .uuid
13760
f76ce889 137612009-07-21 Pavel Roskin <proski@gnu.org>
13762
13763 * kern/dl.c (grub_dl_check_header): Make static.
13764
6a6cbcaf 137652009-07-21 Felix Zielcke <fzielcke@z-51.de>
13766
13767 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
13768 add drivemap for Vista. It breaks Windows 7.
13769
cffcddb2 137702009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
13771
13772 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
13773 128 bytes
13774
1ef44b80 137752009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13776
13777 Add BFS support
13778
13779 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
13780 (grub_fstest_SOURCES): Likewise.
13781 (pkglib_MODULES): Add befs.mod.
13782 (befs_mod_SOURCES): New variable.
13783 (befs_mod_CFLAGS): Likewise.
13784 (befs_mod_LDFLAGS): Likewise.
13785 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13786 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13787 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13788 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13789 (grub_setup_SOURCES): Likewise.
13790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13791 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13792 (grub_setup_SOURCES): Likewise.
13793 * fs/befs.c: New file.
13794 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
13795 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
13796 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
13797 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
13798 (B_KEY_INDEX_ALIGN): New declaration.
13799 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
13800 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
13801 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
13802 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
13803 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
13804 (grub_afs_mount) [MODE_BFS]: Likewise.
13805 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
13806 (grub_afs_fs): Use GRUB_AFS_FSNAME
13807 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
13808 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
13809 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
13810 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
13811
4f253044 138122009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
13813
13814 * util/getroot.c (find_root_device): Add support for MacOSX.
13815 * util/hostdisk.c: Likewise.
13816
57a55913 138172009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 * font/font.c (find_glyph): Check whether a font is present to avoid
13820 segmentation fault.
75421ca9 13821
138222009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 13823
13824 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
13825
e98cd0c2 138262009-07-20 Pavel Roskin <proski@gnu.org>
13827
13828 * configure.ac: Trim excessively wordy excuses.
13829
1d2d169a 138302009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13831
13832 Add symlink, mtime and label support to AtheFS.
13833
13834 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
13835 (grub_afs_iterate_dir): Handle symlinks.
13836 (grub_afs_open): Use grub_afs_read_symlink.
13837 (grub_afs_dir): Likewise.
13838 Pass mtime.
13839 (grub_afs_label): New function.
13840 (grub_afs_fs): Add grub_afs_label.
13841 (grub_afs_read_symlink): New function.
13842
186f3189 138432009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13844
13845 Fix AtheFS support.
13846
13847 * fs/afs.c: Fix comments style.
13848 (grub_afs_blockrun): Declare as packed.
13849 (grub_afs_datastream): Likewise.
13850 (grub_afs_bnode): Likewise.
13851 (grub_afs_btree): Likewise.
13852 (grub_afs_sblock): Likewise.
13853 Declare `name' as char.
13854 (grub_afs_inode): Declare as packed.
13855 Change void *vnode to grub_uint32_t unused.
13856 (grub_afs_iterate_dir): Check that key_size is positive.
13857 (grub_afs_mount): Don't read superblock twice.
75421ca9 13858 (grub_afs_dir): Don't free node in case of error,
186f3189 13859 grub_fshelp_find_file already handles this.
13860 (grub_afs_open): Likewise.
13861
5680109e 138622009-07-19 Pavel Roskin <proski@gnu.org>
13863
13864 * Makefile.in: Remove LIBLZO and enable_lzo.
13865 * conf/i386-pc.rmk: Remove lzo support.
13866 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
13867 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
13868 support.
13869 * kern/i386/pc/lzo1x.S: Remove.
13870 * kern/i386/pc/startup.S: Remove lzo support.
13871 * util/i386/pc/grub-mkimage.c: Likewise.
13872
ac70fa32 138732009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
13874
13875 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
13876 * fs/xfs.c (grub_xfs_dir): Likewise.
13877 * fs/afs.c (grub_afs_dir): Likewise.
13878 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
13879 (grub_iso9660_open): Likewise.
13880 * fs/jfs.c (grub_jfs_open): Likewise.
13881 * fs/ext2.c (grub_ext2_dir): Likewise.
13882 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
13883 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 13884
eab58da2 138852009-07-16 Pavel Roskin <proski@gnu.org>
13886
d2838156 13887 * configure.ac: Never add "-c" to CFLAGS.
13888
55c70904 13889 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
13890
43e6200c 13891 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
13892 grub_cv_cc_efiemu should be used.
13893
ce7a733d 13894 * configure.ac: Typo fixes.
13895
eab58da2 13896 * kern/mm.c (grub_zalloc): New function.
13897 (grub_debug_zalloc): Likewise.
13898 * include/grub/mm.h: Declare grub_zalloc() and
13899 grub_debug_zalloc().
13900 * util/misc.c (grub_zalloc): New function.
13901 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
13902 instead of grub_malloc(), remove unneeded initializations.
13903 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
13904 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
13905 * commands/parttool.c (grub_cmd_parttool): Likewise.
13906 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
13907 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
13908 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
13909 * disk/usbms.c (grub_usbms_finddevs): Likewise.
13910 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
13911 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
13912 (grub_cmd_efiemu_pnvram): Likewise.
13913 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
13914 * fs/iso9660.c (grub_iso9660_mount): Likewise.
13915 (grub_iso9660_iterate_dir): Likewise.
13916 * fs/jfs.c (grub_jfs_opendir): Likewise.
13917 * fs/ntfs.c (list_file): Likewise.
13918 (grub_ntfs_mount): Likewise.
13919 * kern/disk.c (grub_disk_open): Likewise.
13920 * kern/dl.c (grub_dl_load_core): Likewise.
13921 * kern/elf.c (grub_elf_file): Likewise.
13922 * kern/env.c (grub_env_context_open): Likewise.
13923 (grub_env_set): Likewise.
13924 (grub_env_set_data_slot): Likewise.
13925 * kern/file.c (grub_file_open): Likewise.
13926 * kern/fs.c (grub_fs_blocklist_open): Likewise.
13927 * loader/i386/multiboot.c (grub_module): Likewise.
13928 * loader/xnu.c (grub_xnu_create_key): Likewise.
13929 (grub_xnu_create_value): Likewise.
13930 * normal/main.c (grub_normal_add_menu_entry): Likewise.
13931 (read_config_file): Likewise.
13932 * normal/menu_entry.c (make_screen): Likewise.
13933 * partmap/sun.c (sun_partition_map_iterate): Likewise.
13934 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
13935 * script/sh/script.c (grub_script_parse): Likewise.
13936 * video/bitmap.c (grub_video_bitmap_create): Likewise.
13937 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
13938 * video/readers/png.c (grub_png_output_byte): Likewise.
13939 (grub_video_reader_png): Likewise.
13940
830afef7 139412009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 13942
13943 Enable all targets that can be built by default
13944
830afef7 13945 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 13946 grub-mkfont and grub-fstest if they can be built
13947
ee293aee 139482009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
13949
13950 Fix hang and segmentation fault in grub-emu-usb
13951
13952 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
13953 * util/usb.c (grub_libusb_devices): likewise
13954 (grub_libusb_init): rename to ...
13955 (GRUB_MOD_INIT (libusb)):...this
13956 (grub_libusb_fini): rename to ..
13957 (GRUB_MOD_FINI (libusb)):...this
13958 * disk/usbms.c (grub_usbms_transfer): fix retry logic
13959 * include/grub/disk.h (grub_raid_init): removed, it's useless
13960 (grub_raid_fini): likewise
13961 (grub_lvm_init): likewise
13962 (grub_lvm_fini): likewise
13963 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
13964 by grub_init_all
13965
94414221 139662009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
13967
13968 Fix libusb
13969
13970 * Makefile.in (LIBUSB): new macro
13971 * genmk.rb (Utility/print_tail): new method
13972 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
13973 (top level): call util.print_tail at the end.
13974
59ade63d 139752009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
13976
13977 Make FreeBSD accept zpool.cache
13978
13979 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
13980 type is /boot/zfs/zpool.cache
13981
a58da8c7 139822009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
13983
13984 Fix 64-bit efiemu
13985
13986 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
13987 correct wrong typedef
13988 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
13989
20591577 139902009-07-15 Pavel Roskin <proski@gnu.org>
13991
560ca572 13992 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
13993 * kern/disk.c (struct grub_disk_cache): Likewise.
13994
e8e8e4fd 13995 * commands/probe.c (options): Typo fix.
13996
fde24e10 13997 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
13998 Increase to 0x5a to accommodate FAT32. Adjust other offsets
13999 accordingly.
14000 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
14001
379c54c1 14002 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
14003 the end of "Error" to make the message more readable.
14004
7bd8f5bf 14005 * boot/i386/pc/boot.S (kernel_segment): Remove.
14006 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
14007 for destination.
14008
40b132c5 14009 * boot/i386/pc/boot.S (boot_version): Remove.
14010 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14011 Remove.
14012
20591577 14013 * include/grub/i386/pc/boot.h: Sort all offsets.
14014 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
14015 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
14016 * boot/i386/pc/boot.S: Assert location of every offset listed in
14017 include/grub/i386/pc/boot.h.
14018
2df32b2c 140192009-07-13 Pavel Roskin <proski@gnu.org>
14020
44b5d879 14021 * include/grub/i386/coreboot/machine.h: Rename
14022 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
14023 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
14024 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
14025
17dc3751 14026 * kern/dl.c: Force native word size to suppress warnings when
14027 compiling grub-emu.
14028
2df32b2c 14029 * kern/device.c (grub_device_iterate): Change struct part_ent to
14030 hold the name, not a pointer to it. Use one grub_malloc() per
14031 partition, not two. Free partition_name if grub_malloc() fails.
14032 Set ents to NULL only before grub_partition_iterate() is called.
14033
75c59f59 140342009-07-11 Bean <bean123ch@gmail.com>
14035
14036 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
14037 childname.
14038
0ae1bf88 140392009-07-10 Bean <bean123ch@gmail.com>
140402009-07-10 Robert Millan <rmh.grub@aybabtu.com>
14041
14042 * kern/ieee1275/openfw.c (grub_children_iterate)
14043 (grub_devalias_iterate): Fix size evaluation for property or path
14044 strings, which was broken since r2132.
14045
8279cade 140462009-07-07 Pavel Roskin <proski@gnu.org>
14047
7d8a52d3 14048 * commands/search.c (search_file): Merge into ...
14049 (search_fs): ... this. Accept search type as argument.
14050 (grub_cmd_search): Pass search type to search_fs().
14051
25f9a05a 14052 * include/grub/util/console.h: New file.
14053 * util/console.c: Use it instead of grub/machine/console.h.
14054 * util/grub-emu.c: Likewise.
14055
8279cade 14056 * lib/arg.c (find_long_option): Remove.
14057 (find_long): Add `len' argument, make `s' const char *.
14058 (grub_arg_parse): Parse long options in place, not in a
14059 temporary buffer.
14060
4a11b60f 140612009-07-06 Pavel Roskin <proski@gnu.org>
14062
99f68041 14063 * commands/search.c (search_fs): Fix potential NULL pointer
14064 dereference.
14065
4a11b60f 14066 * commands/search.c (search_fs): Replace QUID macro with quid_fn
14067 function pointer.
14068
e110f4de 140692009-07-06 Daniel Mierswa <impulze@impulze.org>
14070
14071 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
14072 comparison.
14073
46eeb6a2 140742009-07-05 Pavel Roskin <proski@gnu.org>
14075
bab74958 14076 * include/grub/i386/linux.h (struct linux_kernel_params):
14077 Restore padding3, it's still needed.
14078
46eeb6a2 14079 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
14080 FreeBSD.
14081 * util/osdetect.lua: Likewise.
14082
b4a1dc79 140832009-07-05 Bean <bean123ch@gmail.com>
14084
14085 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
14086
14087 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
14088 (grub_lua_getenv): Likewise.
14089 (grub_lua_setenv): Likewise.
14090 (save_errno): New function.
14091 (push_result): Likewise.
14092 (grub_lua_enum_device): Likewise.
14093 (grub_lua_enum_file): Likewise.
14094 (grub_lua_file_open): Likewise.
14095 (grub_lua_file_close): Likewise.
14096 (grub_lua_file_seek): Likewise.
14097 (grub_lua_file_read): Likewise.
14098 (grub_lua_file_getline): Likewise.
14099 (grub_lua_file_getsize): Likewise.
14100 (grub_lua_file_getpos): Likewise.
14101 (grub_lua_file_eof): Likewise.
14102 (grub_lua_file_exist): Likewise.
14103 (grub_lua_add_menu): Likewise.
14104
14105 * script/lua/grub_lua.h (isupper): New inline function.
14106 (islower): Likewise.
14107 (ispunct): Likewise.
14108 (isxdigit): Likewise.
14109 (strcspn): Change to normal function.
14110 (strpbkr): New function declaration.
14111 (memchr): Likewise.
14112
14113 * script/lua/grub_main.c (scan_str): New function.
14114 (strcspn): Likewise.
14115 (strpbrk): Likewise.
14116 (memchr): Likewise.
14117
14118 * script/lua/linit.c (lualibs): Enable the string library.
14119
14120 * util/osdetect.lua: New file.
14121
2da92295 141222009-07-04 Robert Millan <rmh.grub@aybabtu.com>
14123
14124 * include/grub/i386/linux.h (struct linux_kernel_params): Add
14125 `capabilities' member.
14126
b2582ec9 141272009-07-02 Pavel Roskin <proski@gnu.org>
14128
14129 * genparttoollist.sh: Add missing newline at the end.
14130
32622956 141312009-07-01 Pavel Roskin <proski@gnu.org>
14132
87a7339e 14133 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
14134
d23af54e 14135 * util/hostdisk.c (open_device): Remove `const' from
14136 `sysctl_size', as sysctlbyname() can change it (in this case it
14137 doesn't actually happen).
14138
c94b18a9 14139 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
14140 using signed long int constants.
14141
c6cd3ef0 14142 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
14143 constant to avoid a warning on FreeBSD.
14144
0df63420 14145 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
14146 where it's needed.
14147
999577f1 14148 * Makefile.in: Install include/grub/machine symlink.
14149
6f41557f 14150 * Makefile.in: When installing symlinks, use "cp -fR", which
14151 works on FreeBSD and MacOSX.
14152 From Yves Blusseau <cl7m42e02@sneakemail.com>
14153
c8d22988 14154 * kern/dl.c (grub_dl_resolve_symbol): Make static.
14155 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
14156
1b96e952 14157 * util/misc.c: Move grub_reboot() and grub_halt() ...
14158 * util/grub-emu.c: ... here. Make main_env static.
14159 * include/grub/util/misc.h: Remove main_env.
14160
2ef0084d 14161 * kern/mm.c: Use correct format to print size_t.
14162
32622956 14163 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
14164 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
14165 * kern/powerpc/dl.c: Likewise.
14166 * kern/sparc64/dl.c: Likewise.
14167 * kern/x86_64/dl.c: Likewise.
14168
3f7f0cd0 141692009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14170
14171 Fix grub-emu build on sparc64-ieee1275.
14172
75421ca9 14173 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 14174 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
14175
211d06b5 141762009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14177
14178 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
14179 (grub_reboot, grub_halt): New functions.
14180
14181 * util/i386/pc/misc.c: Delete. Update all users.
14182 * util/sparc64/ieee1275/misc.c: Likewise.
14183 * util/powerpc/ieee1275/misc.c: Likewise.
14184
aaf53e3c 141852009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14186
14187 * conf/i386.rmk (setjmp_mod_SOURCES)
14188 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
14189 * conf/common.rmk (setjmp_mod_SOURCES)
14190 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
14191 to use $(target_cpu).
14192 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
14193 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
14194 * conf/powerpc-ieee1275.rmk: Likewise.
14195 * conf/sparc64-ieee1275.rmk: Likewise.
14196
14197 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
14198 $(target_cpu) for kern/$(target_cpu)/dl.c.
14199 * conf/i386-efi.rmk: Likewise.
14200 * conf/i386-ieee1275.rmk: Likewise.
14201 * conf/x86_64-efi.rmk: Likewise.
14202 * conf/i386-coreboot.rmk: Likewise.
14203 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
14204 $(target_cpu) for kern/$(target_cpu)/dl.c and for
14205 kern/$(target_cpu)/cache.S.
14206 * conf/sparc64-ieee1275.rmk: Likewise.
14207
a337130b 142082009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14209
14210 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
14211 type to `grub_uint8_t', and adjust `padding9' accordingly.
14212
c6fe4d53 142132009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14214
b09db61d 14215 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
14216
c6fe4d53 14217 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
14218 assembly in final jump, using register constraints.
14219
b09db61d 14220 (grub_linux_boot): For text mode, initialize `have_vga' using
14221 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
14222
14223 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
14224 right before the final jump.
14225
14226 Set `video_mode' to 0x3.
14227
14228 Document initialization of `video_page', `video_mode' and
14229 `video_ega_bx'.
14230
28333ad0 142312009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14232
14233 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
14234 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 14235 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 14236
02164e1b 142372009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14238
14239 Fix build on Debian / sparc.
14240
14241 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
14242
18b6c557 142432009-06-28 Pavel Roskin <proski@gnu.org>
14244
85f2aab6 14245 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
14246 fix a warning.
14247
18b6c557 14248 * util/grub.d/10_linux.in: Match SUSE style initrd names.
14249
ad760f81 142502009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14251
14252 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
14253 `err'.
14254
87a4623b 142552009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14256
14257 Revert r2338.
14258
14259 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
14260 file can't be opened. grub_file_open() is already supposed to set
75421ca9 14261 grub_errno / grub_errmsg appropriately.
87a4623b 14262 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14263
8231fb77 142642009-06-27 Pavel Roskin <proski@gnu.org>
142652009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14266
14267 * include/grub/dl.h: Include grub/elf.h.
14268 (struct grub_dl): Add symtab field.
14269 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
14270 GRUB_MODULES_MACHINE_READONLY.
14271 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
14272 of the header for read-only modules.
14273 (grub_dl_unload): Free mod->symtab for read-only modules.
14274 * kern/i386/dl.c: Use mod->symtab.
14275 * kern/powerpc/dl.c: Likewise.
14276 * kern/sparc64/dl.c: Likewise.
14277 * kern/x86_64/dl.c: Likewise.
14278
14279 * conf/i386-qemu.rmk: New file.
14280 * kern/i386/qemu/startup.S: Likewise.
14281 * kern/i386/qemu/mmap.c: Likewise.
14282 * boot/i386/qemu/boot.S: Likewise.
14283 * include/grub/i386/qemu/time.h: Likewise.
14284 * include/grub/i386/qemu/serial.h: Likewise.
14285 * include/grub/i386/qemu/kernel.h: Likewise.
14286 * include/grub/i386/qemu/console.h: Likewise.
14287 * include/grub/i386/qemu/boot.h: Likewise.
14288 * include/grub/i386/qemu/init.h: Likewise.
14289 * include/grub/i386/qemu/machine.h: Likewise.
14290 * include/grub/i386/qemu/loader.h: Likewise.
14291 * include/grub/i386/qemu/memory.h: Likewise.
14292
14293 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
14294 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
14295 [qemu] (pkglib_IMAGES): Add `boot.img'.
14296 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
14297 [qemu] (boot_img_FORMAT): New variables.
14298 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
14299 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
14300 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
14301 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14302 [qemu] (kernel_img_FORMAT): New variables.
14303
14304 * configure.ac: Recognise `i386-qemu'.
14305
14306 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
14307 (for no compression).
14308 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
14309 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
14310 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
14311 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
14312 ifdefs).
14313
97fe384e 143142009-06-27 Pavel Roskin <proski@gnu.org>
14315
14316 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
14317 read.
14318 * efiemu/prepare32.c: Likewise.
14319 * efiemu/prepare64.c: Likewise.
14320
c402ab17 143212009-06-26 Pavel Roskin <proski@gnu.org>
14322
14323 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
14324 * include/grub/elf.h: Define symbols without "32" or "64" based
14325 on GRUB_TARGET_WORDSIZE.
14326 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
14327 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
14328 ELF definitions.
14329 * efiemu/loadcore64.c: Likewise.
14330 * loader/i386/bsd32.c: Likewise.
14331 * loader/i386/bsd64.c: Likewise.
14332 * kern/dl.c: Remove own ELF definitions.
14333 * util/i386/efi/grub-mkimage.c: Likewise.
14334
9bbdfd4d 143352009-06-23 Robert Millan <rmh.grub@aybabtu.com>
14336
14337 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
14338 segment 0x0 unconditionally, because the reference generated by
14339 GAS is an absolute address.
14340
a42ce6e9 143412009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14342
14343 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
14344 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
14345
c952cf92 143462009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14347
14348 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
14349 indexes. Check for -f explicitly.
cc3752ad 14350 (search_file): Improve error message.
14351 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 14352
132a0a59 143532009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14354
14355 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
14356 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
14357
387a140c 143582009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14359
14360 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
14361 * conf/i386-ieee1275.rmk: Likewise.
14362 * conf/i386-coreboot.rmk: Likewise.
14363
14364 * kern/i386/pc/startup.S (grub_stop): Remove function.
14365 * kern/i386/ieee1275/startup.S: Likewise.
14366 * kern/i386/coreboot/startup.S: Likewise.
14367 * kern/i386/misc.S (grub_stop): New function.
14368
41da9665 143692009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14370
14371 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
14372 * kern/i386/realmode.S (real_to_prot): ... to here.
14373
bf337234 143742009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14375
14376 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
14377 with `kernel.img'.
14378 (kernel_elf_SOURCES): Rename to ...
14379 (kernel_img_SOURCES): ... this.
14380 (kernel_elf_HEADERS): Rename to ...
14381 (kernel_img_HEADERS): ... this. Update all users.
14382 (kernel_elf_ASFLAGS): Rename to ...
14383 (kernel_img_ASFLAGS): ... this.
14384 (kernel_elf_CFLAGS): Rename to ...
14385 (kernel_img_CFLAGS): ... this.
14386 (kernel_elf_LDFLAGS): Rename to ...
14387 (kernel_img_LDFLAGS): ... this.
14388 * conf/i386-coreboot.rmk: Likewise.
14389 * conf/powerpc-ieee1275.rmk: Likewise.
14390
14391 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
14392 with "kernel.img".
14393
f52196ff 143942009-06-21 Pavel Roskin <proski@gnu.org>
14395
c3cee413 14396 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
14397 to match nested functions.
14398 * loader/sparc64/ieee1275/linux.c: Likewise.
14399
f52196ff 14400 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
14401
58750afc 144022009-06-21 Robert Millan <rmh.grub@aybabtu.com>
14403
14404 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
14405 all i386 platforms.
14406
15355c7d 144072009-06-21 Robert Millan <rmh.grub@aybabtu.com>
14408
14409 Fix asm file handling on ELF, and remove workarounds.
14410
14411 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 14412 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 14413 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
14414 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
14415
3f3ec72b 144162009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 Load BSD ELF modules
14419
14420 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
14421 and loader/i386/bsd64.c
14422 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
14423 (FREEBSD_MODTYPE_ELF_MODULE): New definition
14424 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
14425 (grub_freebsd_load_elfmodule32): New declaration
14426 (grub_freebsd_load_elfmoduleobj64): Likewise
14427 (grub_freebsd_load_elf_meta32): Likewise
14428 (grub_freebsd_load_elf_meta64): Likewise
14429 (grub_freebsd_add_meta): Likewise
14430 (grub_freebsd_add_meta_module): Likewise
14431 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
14432 (grub_freebsd_add_meta_module): Likewise and move module-specific
14433 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
14434 (grub_cmd_freebsd): Add elf-kernel specific parts
14435 based on grub_freebsd_add_meta_module
14436 (grub_cmd_freebsd_module): Add type parsing moved from
14437 grub_freebsd_add_meta_module
14438 (grub_cmd_freebsd_module_elf): New function
14439 (cmd_freebsd_module_elf): New variable
14440 (GRUB_MOD_INIT): Register freebsd_module_elf
14441 * loader/i386/bsd32.c: New file
14442 * loader/i386/bsd64.c: Likewise
14443 * loader/i386/bsdXX.c: Likewise
14444 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
14445 (grub_elf64_load): Likewise
14446 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
14447 All users updated
14448 (grub_elf64_load_hook_t): Likewise
14449
0db15301 144502009-06-21 Colin Watson <cjwatson@ubuntu.com>
14451
14452 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
14453 variable.
14454 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
14455 don't write a menu entry for recovery mode.
14456
546796c1 144572009-06-20 Robert Millan <rmh.grub@aybabtu.com>
14458
14459 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
14460 after it's no longer needed.
14461
cd7310d5 144622009-06-20 Robert Millan <rmh.grub@aybabtu.com>
14463
14464 * include/grub/i386/loader.h (grub_linux_prot_size)
14465 (grub_linux_tmp_addr, grub_linux_real_addr)
14466 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
14467 GRUB_MACHINE_PCBIOS.
14468 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
14469 common grub_util_info() call to ...
14470 (generate_image): ... here.
14471 Fix use of uninitialized memory, comparison of signed with
14472 unsigned integers and memory leak.
14473 Remove bogus module address message.
14474
ab32d3b5 144752009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14476
14477 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
14478 grub_raid_register
14479 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
14480
024ef597 144812009-06-19 Pavel Roskin <proski@gnu.org>
14482
14483 * configure.ac: Remove stray AC_MSG_CHECKING.
14484
3ac72b51 144852009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
14486
14487 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 14488
e14cd814 144892009-06-18 Pavel Roskin <proski@gnu.org>
14490
14491 * conf/common.rmk: Add fs_file.mod.
14492 * disk/fs_file.c: New file.
14493 * include/grub/disk.h (enum grub_disk_dev_id): Add
14494 GRUB_DISK_DEVICE_FILE_ID.
14495
26586d98 144962009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14497
14498 Fix build with Apple's toolchain. Part 2
14499
14500 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
14501 a fake start
14502
26de2bcd 145032009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14504
14505 Fix build with Apple's toolchain. Part 1
14506
14507 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
14508 for long calls
14509 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 14510 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 14511 Apple's toolchain
14512
09b3490b 145132009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14514
14515 Fix warnings
14516
14517 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
14518 (decomp_block): initialize ch
14519 use grub_memcpy instead of memcpy
14520
c22a006a 145212009-06-17 Pavel Roskin <proski@gnu.org>
14522
d3638678 14523 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
14524 version, use declarations needed to use vga_text as the startup
14525 console.
14526
c22a006a 14527 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
14528 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
14529 the kernel.
14530 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
14531 and grub_at_keyboard_fini(), it's done on module load and
14532 unload.
14533
05b129e0 145342009-06-17 Felix Zielcke <fzielcke@z-51.de>
14535
14536 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
14537 file can't be found.
14538 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14539
cf24ed9e 145402009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
14541
14542 Fix newline handling
14543
14544 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 14545 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 14546 (grub_script_yylex): don't segfault on unterminated script
14547 newline terminates command and variable
14548
74aa8e4b 145492009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
14550
14551 avoid double grub_adjust_range call. Bug reported by David Simner
14552
14553 * kern/disk.c (grub_disk_write): change to raw disk access before
14554 calling disk_read
14555
1bd265f3 145562009-06-17 Colin Watson <cjwatson@ubuntu.com>
14557
14558 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
14559 spaces, for the benefit of help2man.
14560 * util/i386/efi/grub-mkimage.c (usage): Likewise.
14561
a2d08c06 145622009-06-16 Pavel Roskin <proski@gnu.org>
14563
14564 * kern/i386/halt.c: Include grub/machine/init.h.
14565 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
14566
b97bcb19 145672009-06-16 Felix Zielcke <fzielcke@z-51.de>
14568
14569 * util/grub.d/30_os-prober.in: Use ${root} in the generated
14570 drivemap menuentry.
14571
0644f96c 145722009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
14573
14574 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
14575 `echo' command.
14576
3ef17a2e 145772009-06-16 Pavel Roskin <proski@gnu.org>
14578
14579 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
14580 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
14581 save %dx, we only need %dl and we never change it.
14582 * boot/i386/pc/cdboot.S: Don't set the root drive.
14583 * boot/i386/pc/pxeboot.S: Likewise.
14584 * include/grub/i386/pc/boot.h: Remove
14585 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
14586 GRUB_BOOT_MACHINE_DRIVE_CHECK.
14587 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
14588 * kern/i386/pc/init.c (make_install_device): Remove references
14589 to grub_root_drive.
14590 * kern/i386/pc/startup.S: Likewise.
14591 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
14592
693fe637 145932009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 xnu_uuid command
14596
14597 * commands/xnu_uuid.c: new file
14598 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
14599 (xnu_uuid_mod_SOURCES): new variable
14600 (xnu_uuid_mod_CFLAGS): likewise
14601 (xnu_uuid_mod_LDFLAGS): likewise
14602 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
14603 * conf/i386-ieee1275.rmk: likewise
14604 * conf/i386-pc.rmk: likewise
14605 * conf/powerpc-ieee1275.rmk: likewise
14606 * conf/sparc64-ieee1275.rmk: likewise
14607 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
14608
c9da87d0 146092009-06-16 Pavel Roskin <proski@gnu.org>
14610
14611 * configure.ac: Avoid '==' in test command, it's not portable.
14612
9c6f4596 146132009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
14614
14615 Probe command
14616
14617 * commands/probe.c: new file
14618 * conf/common.rmk (pkglib_MODULES): add probe.mod
14619 (probe_mod_SOURCES): new variable
14620 (probe_mod_CFLAGS): likewise
14621 (probe_mod_LDFLAGS): likewise
14622 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
14623 * conf/i386-ieee1275.rmk: likewise
14624 * conf/i386-pc.rmk: likewise
14625 * conf/powerpc-ieee1275.rmk: likewise
14626 * conf/sparc64-ieee1275.rmk: likewise
14627
70b7f9fd 146282009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
14629
14630 Fix handling of string like \"hello\" and "a
14631 b"
14632
14633 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
14634 (grub_script_yylex): fix parsing of quoting, escaping and newline
14635
71c79a6b 146362009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
14637
dd74360c 14638 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 14639 handling
dd74360c 14640
0644f96c 146412009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 14642
14643 * util/grub-mkconfig.in: Fix parsing of --output option.
14644
e40893c3 146452009-06-12 Pavel Roskin <proski@gnu.org>
14646
14647 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
14648 genmk.rb don't need to be generated or installed.
14649
3a1acfe2 146502009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14651
14652 * commands/i386/pc/drivemap_int13h.S: add more comments
14653
3a4575d4 146542009-06-11 Pavel Roskin <proski@gnu.org>
14655
0658e928 14656 * Makefile.in (uninstall): Uninstall manuals.
14657
ca0388f0 14658 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
14659 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
14660 and update-grub_lib in two places.
14661 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
14662
e3b27c39 14663 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
14664 a compiler warning.
14665
3a4575d4 14666 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
14667 `entry_lo' to fix variable shadowing.
14668
af1f4f55 146692009-06-11 Christian Franke <franke@computer.org>
14670
14671 * kern/misc.c (__enable_execute_stack): Add missing return type
14672 to prevent gcc warning.
14673
5225e649 146742009-06-11 Felix Zielcke <fzielcke@z-51.de>
14675
14676 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
14677
7d83bd47 146782009-06-11 Pavel Roskin <proski@gnu.org>
14679
c1cb63ba 14680 * Makefile.in: Don't rely on any scripts being executable.
14681 Always use $(SHELL) to run shell scripts.
14682
7d83bd47 14683 * configure.ac: Always define ___main if using -nostdlib. This
14684 fixes tests on Cygwin.
14685
948f48e7 146862009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
14687
14688 UDF fix
14689
7d83bd47 14690 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 14691 is in bytes and not in blocks
7d83bd47 14692
8ada9bc1 146932009-06-11 Pavel Roskin <proski@gnu.org>
14694
14695 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
14696 warning.
14697
25ad2323 146982009-06-11 Felix Zielcke <fzielcke@z-51.de>
14699
14700 * util/grub.d/30_os-prober.in: Fix a comment. Source
14701 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
14702 to set the root device. Place drivemap command in the generated
14703 chain entry.
14704
e65acb0c 147052009-06-11 Pavel Roskin <proski@gnu.org>
14706
14707 * configure.ac: Remove host_m32. Issues with 64-bit utilities
14708 have long been resolved.
14709
f285fe2d 147102009-06-11 Colin Watson <cjwatson@ubuntu.com>
14711
bd47b0b5 14712 * util/grub.d/10_linux.in: Capitalise "Linux".
14713
f285fe2d 14714 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
14715
a0c62e4e 147162009-06-11 Pavel Roskin <proski@gnu.org>
14717
b6783cb2 14718 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
14719 fix a gcc warning and ensure that the function won't ever exit.
14720
dde032e8 14721 * kern/i386/ieee1275/init.c: Add missing prototype for
14722 grub_stop_floppy().
14723
22cd079d 14724 * loader/ieee1275/multiboot2.c [__i386__]: Include
14725 grub/cpu/multiboot.h.
14726
a0c62e4e 14727 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
14728 casts to short - they are not portable and cause warnings. Fix
14729 use of uninitialized values in input_buf. Use ARRAY_SIZE.
14730
63963d17 147312009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 Drivemap fixes
14734
14735 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
14736 new function
14737 (grub_get_root_biosnumber_saved): new variable
14738 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
14739 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 14740 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 14741 %dx after the call if necessary
14742 * conf/common.rmk (pkglib_MODULES): remove boot.mod
14743 (boot_mod_SOURCES): remove
14744 (boot_mod_CFLAGS): remove
14745 (boot_mod_LDFLAGS): remove
14746 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
14747 (boot_mod_SOURCES): new variable
14748 (boot_mod_CFLAGS): likewise
14749 (boot_mod_LDFLAGS): likewise
14750 * conf/i386-efi.rmk: likewise
14751 * conf/i386-ieee1275.rmk: likewise
14752 * conf/i386-pc.rmk: likewise
14753 * conf/powerpc-ieee1275.rmk: likewise
14754 * conf/sparc64-ieee1275.rmk: likewise
14755 * conf/x86_64-efi.rmk: likewise
14756 * include/grub/i386/pc/biosnum.h: new file
14757 * lib/i386/pc/biosnum.c: likewise
14758 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
14759 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
14760 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 14761
33abf7ae 147622009-06-10 Pavel Roskin <proski@gnu.org>
14763
5ac35b35 14764 * io/gzio.c (test_header): Don't reuse one buffer for all data.
14765 Use separate variables. Read only the file size at the end, but
14766 not the checksum that we don't use.
14767
5c5215d5 14768 * kern/file.c (grub_file_read): Use void pointer for the buffer.
14769 Adjust all callers.
14770
27d5fef7 14771 * kern/ieee1275/openfw.c: Remove libc includes.
14772 * kern/ieee1275/cmain.c: Likewise.
14773 * include/grub/ieee1275/ieee1275.h: Likewise.
14774
33abf7ae 14775 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
14776 compiler warnings.
14777
19d50c2b 147782009-06-10 Felix Zielcke <fzielcke@z-51.de>
14779
14780 * Makefile.in: Remove all trailing whitespace.
14781 * conf/i386-pc.rmk: Likewise.
14782 * conf/powerpc-ieee1275.rmk: Likewise.
14783 * conf/sparc64-ieee1275.rmk: Likewise.
14784 * docs/grub.texi: Likewise.
14785 * docs/texinfo.tex: Likewise.
14786 * disk/fs_uuid.c: Likewise.
14787 * disk/lvm.c: Likewise.
14788 * disk/scsi.c: Likewise.
14789 * disk/ata.c: Likewise.
14790 * disk/ieee1275/ofdisk.c: Likewise.
14791 * disk/i386/pc/biosdisk.c: Likewise.
14792 * disk/host.c: Likewise.
14793 * disk/raid.c: Likewise.
14794 * disk/efi/efidisk.c: Likewise.
14795 * disk/usbms.c: Likewise.
14796 * disk/memdisk.c: Likewise.
14797 * disk/loopback.c: Likewise.
14798 * kern/powerpc/dl.c: Likewise.
14799 * kern/device.c: Likewise.
14800 * kern/dl.c: Likewise.
14801 * kern/sparc64/dl.c: Likewise.
14802 * kern/ieee1275/ieee1275.c: Likewise.
14803 * kern/term.c: Likewise.
14804 * kern/fs.c: Likewise.
14805 * kern/i386/dl.c: Likewise.
14806 * kern/i386/pc/startup.S: Likewise.
14807 * kern/i386/pc/init.c: Likewise.
14808 * kern/i386/pc/mmap.c: Likewise.
14809 * kern/i386/pc/lzo1x.S: Likewise.
14810 * kern/i386/ieee1275/init.c: Likewise.
14811 * kern/i386/realmode.S: Likewise.
14812 * kern/i386/tsc.c: Likewise.
14813 * kern/partition.c: Likewise.
14814 * kern/corecmd.c: Likewise.
14815 * kern/file.c: Likewise.
14816 * kern/efi/efi.c: Likewise.
14817 * kern/efi/init.c: Likewise.
14818 * kern/efi/mm.c: Likewise.
14819 * kern/main.c: Likewise.
14820 * kern/err.c: Likewise.
14821 * kern/env.c: Likewise.
14822 * kern/disk.c: Likewise.
14823 * kern/generic/millisleep.c: Likewise.
14824 * kern/generic/rtc_get_time_ms.c: Likewise.
14825 * kern/misc.c: Likewise.
14826 * kern/parser.c: Likewise.
14827 * genmk.rb: Likewise.
14828 * configure.ac: Likewise.
14829 * boot/i386/pc/diskboot.S: Likewise.
14830 * boot/i386/pc/pxeboot.S: Likewise.
14831 * boot/i386/pc/boot.S: Likewise.
14832 * boot/i386/pc/lnxboot.S: Likewise.
14833 * boot/i386/pc/cdboot.S: Likewise.
14834 * parttool/pcpart.c: Likewise.
14835 * video/readers/tga.c: Likewise.
14836 * video/video.c: Likewise.
14837 * video/bitmap.c: Likewise.
14838 * lib/envblk.c: Likewise.
14839 * lib/i386/setjmp.S: Likewise.
14840 * fs/xfs.c: Likewise.
14841 * fs/afs.c: Likewise.
14842 * fs/fat.c: Likewise.
14843 * fs/ntfs.c: Likewise.
14844 * fs/udf.c: Likewise.
14845 * fs/affs.c: Likewise.
14846 * fs/iso9660.c: Likewise.
14847 * fs/hfs.c: Likewise.
14848 * fs/fshelp.c: Likewise.
14849 * fs/ext2.c: Likewise.
14850 * fs/jfs.c: Likewise.
14851 * fs/reiserfs.c: Likewise.
14852 * fs/hfsplus.c: Likewise.
14853 * fs/minix.c: Likewise.
14854 * fs/cpio.c: Likewise.
14855 * fs/sfs.c: Likewise.
14856 * fs/ufs.c: Likewise.
14857 * efiemu/prepare.c: Likewise.
14858 * efiemu/loadcore_common.c: Likewise.
14859 * efiemu/runtime/efiemu.sh: Likewise.
14860 * efiemu/runtime/efiemu.S: Likewise.
14861 * efiemu/runtime/efiemu.c: Likewise.
14862 * efiemu/pnvram.c: Likewise.
14863 * efiemu/main.c: Likewise.
14864 * efiemu/i386/pc/cfgtables.c: Likewise.
14865 * efiemu/i386/loadcore64.c: Likewise.
14866 * efiemu/i386/loadcore32.c: Likewise.
14867 * efiemu/loadcore.c: Likewise.
14868 * efiemu/symbols.c: Likewise.
14869 * efiemu/mm.c: Likewise.
14870 * include/grub/autoefi.h: Likewise.
14871 * include/grub/datetime.h: Likewise.
14872 * include/grub/term.h: Likewise.
14873 * include/grub/hfs.h: Likewise.
14874 * include/grub/lvm.h: Likewise.
14875 * include/grub/i386/tsc.h: Likewise.
14876 * include/grub/i386/linux.h: Likewise.
14877 * include/grub/i386/xnu.h: Likewise.
14878 * include/grub/i386/efiemu.h: Likewise.
14879 * include/grub/i386/pc/biosdisk.h: Likewise.
14880 * include/grub/i386/pc/memory.h: Likewise.
14881 * include/grub/i386/pc/vbe.h: Likewise.
14882 * include/grub/parttool.h: Likewise.
14883 * include/grub/video.h: Likewise.
14884 * include/grub/memory.h: Likewise.
14885 * include/grub/fs.h: Likewise.
14886 * include/grub/partition.h: Likewise.
14887 * include/grub/xnu.h: Likewise.
14888 * include/grub/efi/api.h: Likewise.
14889 * include/grub/efi/pe32.h: Likewise.
14890 * include/grub/efi/memory.h: Likewise.
14891 * include/grub/multiboot.h: Likewise.
14892 * include/grub/usbdesc.h: Likewise.
14893 * include/grub/multiboot2.h: Likewise.
14894 * include/grub/acpi.h: Likewise.
14895 * include/grub/efiemu/efiemu.h: Likewise.
14896 * include/grub/disk.h: Likewise.
14897 * include/grub/ieee1275/ieee1275.h: Likewise.
14898 * include/grub/net.h: Likewise.
14899 * include/grub/machoload.h: Likewise.
14900 * include/grub/macho.h: Likewise.
14901 * include/multiboot.h: Likewise.
14902 * genmoddep.awk: Likewise.
14903 * normal/main.c: Likewise.
14904 * normal/menu_entry.c: Likewise.
14905 * normal/menu_viewer.c: Likewise.
14906 * normal/completion.c: Likewise.
14907 * normal/cmdline.c: Likewise.
14908 * normal/misc.c: Likewise.
14909 * normal/datetime.c: Likewise.
14910 * bus/usb/usbtrans.c: Likewise.
14911 * bus/usb/ohci.c: Likewise.
14912 * bus/usb/uhci.c: Likewise.
14913 * bus/usb/usb.c: Likewise.
14914 * mmap/efi/mmap.c: Likewise.
14915 * mmap/i386/pc/mmap_helper.S: Likewise.
14916 * mmap/i386/pc/mmap.c: Likewise.
14917 * mmap/i386/mmap.c: Likewise.
14918 * mmap/i386/uppermem.c: Likewise.
14919 * mmap/mmap.c: Likewise.
14920 * commands/acpi.c: Likewise.
14921 * commands/echo.c: Likewise.
14922 * commands/blocklist.c: Likewise.
14923 * commands/loadenv.c: Likewise.
14924 * commands/usbtest.c: Likewise.
14925 * commands/boot.c: Likewise.
14926 * commands/parttool.c: Likewise.
14927 * commands/search.c: Likewise.
14928 * commands/cat.c: Likewise.
14929 * commands/i386/pc/play.c: Likewise.
14930 * commands/i386/pc/drivemap.c: Likewise.
14931 * commands/i386/pc/vbeinfo.c: Likewise.
14932 * commands/i386/pc/acpi.c: Likewise.
14933 * commands/i386/pc/vbetest.c: Likewise.
14934 * commands/ls.c: Likewise.
14935 * commands/cmp.c: Likewise.
14936 * commands/test.c: Likewise.
14937 * commands/efi/acpi.c: Likewise.
14938 * commands/gptsync.c: Likewise.
14939 * commands/help.c: Likewise.
14940 * partmap/amiga.c: Likewise.
14941 * partmap/apple.c: Likewise.
14942 * partmap/acorn.c: Likewise.
14943 * partmap/pc.c: Likewise.
14944 * partmap/sun.c: Likewise.
14945 * partmap/gpt.c: Likewise.
14946 * script/sh/lexer.c: Likewise.
14947 * script/sh/function.c: Likewise.
14948 * font/font.c: Likewise.
14949 * font/font_cmd.c: Likewise.
14950 * loader/powerpc/ieee1275/linux.c: Likewise.
14951 * loader/efi/chainloader.c: Likewise.
14952 * loader/multiboot_loader.c: Likewise.
14953 * loader/macho.c: Likewise.
14954 * loader/i386/multiboot.c: Likewise.
14955 * loader/i386/linux.c: Likewise.
14956 * loader/i386/pc/linux.c: Likewise.
14957 * loader/i386/pc/multiboot2.c: Likewise.
14958 * loader/i386/pc/chainloader.c: Likewise.
14959 * loader/i386/pc/xnu.c: Likewise.
14960 * loader/i386/bsd_trampoline.S: Likewise.
14961 * loader/i386/efi/linux.c: Likewise.
14962 * loader/i386/multiboot_elfxx.c: Likewise.
14963 * loader/i386/bsd_helper.S: Likewise.
14964 * loader/i386/bsd.c: Likewise.
14965 * loader/i386/linux_trampoline.S: Likewise.
14966 * loader/i386/xnu_helper.S: Likewise.
14967 * loader/i386/xnu.c: Likewise.
14968 * loader/i386/bsd_pagetable.c: Likewise.
14969 * loader/i386/multiboot_helper.S: Likewise.
14970 * loader/xnu.c: Likewise.
14971 * loader/xnu_resume.c: Likewise.
14972 * io/gzio.c: Likewise.
14973 * term/efi/console.c: Likewise.
14974 * term/terminfo.c: Likewise.
14975 * term/ieee1275/ofconsole.c: Likewise.
14976 * term/i386/pc/serial.c: Likewise.
14977 * term/i386/pc/vesafb.c: Likewise.
14978 * term/i386/pc/vga.c: Likewise.
14979 * term/usb_keyboard.c: Likewise.
14980 * term/gfxterm.c: Likewise.
14981 * aclocal.m4: Likewise.
14982 * util/lvm.c: Likewise.
14983 * util/grub.d/30_os-prober.in: Likewise.
14984 * util/grub.d/10_hurd.in: Likewise.
14985 * util/console.c: Likewise.
14986 * util/grub-macho2img.c: Likewise.
14987 * util/grub-probe.c: Likewise.
14988 * util/hostfs.c: Likewise.
14989 * util/i386/pc/grub-mkimage.c: Likewise.
14990 * util/i386/pc/grub-setup.c: Likewise.
14991 * util/i386/efi/grub-mkimage.c: Likewise.
14992 * util/grub-mkconfig.in: Likewise.
14993 * util/raid.c: Likewise.
14994 * util/resolve.c: Likewise.
14995 * util/grub-mkdevicemap.c: Likewise.
14996 * util/grub-emu.c: Likewise.
14997 * util/getroot.c: Likewise.
14998 * util/hostdisk.c: Likewise.
14999 * util/usb.c: Likewise.
15000 * util/grub-editenv.c: Likewise.
15001 * util/misc.c: Likewise.
15002
d2d49665 150032009-06-10 Felix Zielcke <fzielcke@z-51.de>
15004
15005 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
15006 `genparttoollist.sh'.
15007 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
15008 Add `*.sh' to the list find searches for and change `mdate.sh'
15009 to `mdate-sh'.
15010
fe052e37 150112009-06-10 Pavel Roskin <proski@gnu.org>
15012
2763ac18 15013 * include/grub/multiboot2.h: Provide compatibility defines for
15014 multiboot2.h.
15015 * include/multiboot2.h: Include stdint.h only if needed, using
15016 angle brackets.
15017 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
15018 grub/multiboot2.h.
15019 * loader/ieee1275/multiboot2.c: Likewise.
15020 * loader/multiboot2.c: Likewise.
15021 * loader/multiboot_loader.c: Likewise.
15022
437e6adc 15023 * configure.ac: Use -nostdlib when probing for the target. It
15024 should not be required to have libc for the target.
15025
06a6836c 15026 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
15027 they fail without libc headers for the target.
15028 * include/grub/powerpc/libgcc.h: Use weak attribute for all
15029 exports.
15030 * include/grub/sparc64/libgcc.h: Likewise. Don't use
15031 preprocessor conditionals.
15032
fe052e37 15033 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
15034 build system doesn't need to be aware of the tar.c internals.
15035
afd22553 150362009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 15037
afd22553 15038 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 15039
6b787c4f 150402009-06-09 Robert Millan <rmh.grub@aybabtu.com>
15041
15042 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
15043 disk limit to 26 for IDE, Virtio, Xen and SCSI.
15044
150452009-06-09 Felix Zielcke <fzielcke@z-51.de>
15046
15047 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 15048 aren't available if ata.mod gets used.
6b787c4f 15049
473d1e45 150502009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 15051
473d1e45 15052 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 15053 initialising controller.
473d1e45 15054 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 15055
255a27d4 150562009-06-08 Felix Zielcke <fzielcke@z-51.de>
15057
15058 * util/i386/pc/grub-install.in: Add a parameter --disk-module
15059 to choose between ata and biosdisk module on i386-pc.
15060
473d1e45 150612009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 15062
d55842d8 15063 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
15064 Subclass and Programming Interface fields in terms of the 3 byte
15065 Class Code register.
15066 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
15067
fa5db0b1 15068 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
15069 interface is OHCI. Add grub_dprintf for symmetry with
15070 bus/usb/uhci.c.
15071 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
15072 interface is UHCI. Add interf variable for programming
15073 interface. Print interface with class/subclass.
15074
c0947beb 15075 * bus/usb/ohci.c: Set interf with correct field.
15076
69da8877 15077 * bus/usb/uhci.c: Remove unneeded doubled lines.
15078 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
15079 Remove whitespace inside comment.
15080
9e172e30 150812009-06-08 Robert Millan <rmh.grub@aybabtu.com>
15082
15083 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
15084 as fallback an equivalent option without depth.
15085
de65ee2b 150862009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15087
15088 Not fail if unable to retrieve C/H/S on LBA disks
15089
473d1e45 15090 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 15091 if unable to retrieve C/H/S on LBA disks
15092
b57ea2c9 150932009-06-08 Pavel Roskin <proski@gnu.org>
15094
15095 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
15096 about aliasing.
15097
af361263 150982009-06-08 Felix Zielcke <fzielcke@z-51.de>
15099
15100 * Makefile.in (uninstall): Remove all $lib_DATA files.
15101
4c9ec6b3 151022009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 Bugfix: install on partitionless device
15105
15106 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
15107 is a whole disk
15108
e76fc924 151092009-06-08 Felix Zielcke <fzielcke@z-51.de>
15110
15111 * Makefile.in (uninstall): Remove all $include_DATA files.
15112
ba5a0d05 151132009-06-08 Felix Zielcke <fzielcke@z-51.de>
15114
15115 * commands/true.c: New file. Implement the true and false commands.
15116 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
15117 (true_mod_SOURCES): New variable.
15118 (true_mod_CFLAGS): Likewise.
15119 (true_mod_LDFLAGS): Likewise.
15120
c8048e32 151212009-06-05 Colin D Bennett <colin@gibibit.com>
15122
15123 Optimized font character lookup using binary search instead of linear
15124 search. Fonts now are required to have the character index ordered by
15125 code point.
15126
15127 * font/font.c (load_font_index): Verify that fonts have ordered
15128 character indices.
15129 (find_glyph): Use binary search instead of linear search to find a
15130 character in a font.
15131
408305be 151322009-06-05 Michael Scherer <misc@mandriva.org>
15133
15134 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
15135 uses case sensitive btree.
15136 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
15137 only for case insensitive filesystems.
15138
8ee1e0d9 151392009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
15140
15141 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
15142 * conf/common.rmk (search_mod_CFLAGS): likewise
15143
a9966eb1 151442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15145
473d1e45 15146 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 15147 compensate a compiler bug
15148
9e7100fb 151492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15150
473d1e45 15151 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 15152 instead of '\b'
473d1e45 15153
ede21d71 151542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15155
15156 Definitions for creating asm symbols with Apple's CC
15157
15158 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
15159 [APPLE_CC] (VARIABLE): likewise
15160
9dbf7653 151612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15162
15163 Disable lnxboot.img when compiled
15164 with Apple's CC
15165
15166 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
15167 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
15168 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
15169 [! APPLE_CC] (CODE_LENG): skip
15170 [! APPLE_CC] (setup_sects): likewise
15171 [! APPLE_CC]: skip filling
473d1e45 15172
e93cdc3d 151732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 Address in trampolines based on 32-bit registers when compiled
15176 with Apple's CC
15177
473d1e45 15178 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 15179 for addresses
15180 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
15181
6c688477 151822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15183
15184 Avoid aliases when compiling with Apple's CC for PCBIOS machine
15185
15186 * kern/misc.c [APPLE_CC] (memcpy): new function
15187 [APPLE_CC] (memmove): likewise
15188 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 15189 (memcpy): define alias conditionally on !APPLE_CC
6c688477 15190 (memset): likewise
15191 (abort): likewise
15192 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
15193 APPLE_CC are defined
15194 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
15195 (grub_assert_fail): make prototype conditional
15196
e37ffc5c 151972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15198
15199 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
15200
473d1e45 15201 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
15202 grub-macho2img
e37ffc5c 15203 (CLEANFILES): add grub-macho2img
15204 (grub_macho2img_SOURCES): new variable
15205 * kern/i386/pc/startup.S (bss_start): new variable
15206 (bss_end): likewise
15207 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
15208 * util/grub-macho2img.c: new file
15209
cf00df31 152102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15211
15212 Use objconv when compiling with Apple's CC
15213
15214 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
15215 (efiemu64.o): likewise
15216 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
15217 when compiling with Apple's CC
15218 (efiemu64_s.o): likewise
15219 * configure.ac: check for objconv when compiling with Apple's CC
15220 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 15221
d119a20c 152222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15223
15224 Define segment as well as section when compiling with
15225 Apple's CC
15226
15227 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
15228 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
15229 (efiemu_convert_pointer): likewise
15230 (efiemu_set_virtual_address_map): likewise
15231 (efiemu_convert_pointer): likewise
15232 (efiemu_getcrc32): likewise
15233 (init_crc32_table): likewise
15234 (reflect): likewise
15235 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
15236 (GRUB_MOD_DEP): likewise
473d1e45 15237
c8600122 152382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15239
15240 Allow a compilation without -mcmodel=large
15241
15242 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
15243 when compiled without -mcmodel=large
473d1e45 15244 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 15245 without -mcmodel=large
473d1e45 15246 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 15247 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 15248
e8df1d4e 152492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15250
15251 Remove nested functions in efiemu core
15252
15253 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 15254
cc6c3ac1 152552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15256
15257 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
15258
15259 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
15260 temporary storage
473d1e45 15261 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
15262 using Apple's CC
cc6c3ac1 15263 (grub_cpu_is_tsc_supported): likewise
15264 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 15265
3e325901 152662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 Absolute addressing through constant with Apple's cc
15269
15270 * kern/i386/pc/startup.S: Define necessary constants
15271 and address through it when using ABS with Apple's CC
15272 * boot/i386/pc/diskboot.S: likewise
15273 * boot/i386/pc/boot.S: likewise
15274 * boot/i386/pc/lnxboot.S: likewise
15275 * boot/i386/pc/cdboot.S: likewise
15276 * mmap/i386/pc/mmap_helper.S: likewise
15277 * commands/i386/pc/drivemap_int13h.S: likewise
15278
2b167a72 152792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15280
15281 Check if compiler is apple cc
15282
15283 * Makefile.in (ASFLAGS): new variable
15284 (TARGET_ASFLAGS): likewise
15285 (TARGET_MODULE_FORMAT): likewise
15286 (TARGET_APPLE_CC): likewise
15287 (OBJCONV): likewise
15288 (TARGET_IMG_CFLAGS): likewise
15289 (TARGET_CPPFLAGS): add includedir
15290 * configure.ac: call grub_apple_cc and grub_apple_target_cc
15291 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
15292 Check for linker script only if compiler isn't Apple's CC
15293 (TARGET_MODULE_FORMAT): set
15294 (TARGET_APPLE_CC): likewise
15295 (TARGET_ASFLAGS): likewise
15296 (ASFLAGS): likewise
15297 Check for objcopy only if compiler isn't Apple's CC
15298 Check for BSS symbol only if compiler isn't Apple's CC
15299 * genmk.rb: adapt nm options if we use Apple's utils
15300 * aclocal.m4 (grub_apple_cc): new test
15301 (grub_apple_target_cc): likewise
473d1e45 15302
fb14123e 153032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15304
15305 Simplify sed expressions and improve awk
15306
15307 * Makefile.in (install-local): simplify sed expression
15308 * gencmdlist.sh: likewise
15309 * genmoddep.awk: avoid adding module as a dependency of itself
15310
5b889789 153112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15312
15313 Add missing start symbols
15314
15315 * boot/i386/pc/boot.S: add start
fb14123e 15316 * boot/i386/pc/pxeboot.S: likewise
473d1e45 15317
fd2bf2e3 153182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15319
15320 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 15321
15322 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 15323 (relocate_addresses): consider both r_addend and value at offset
15324 (make_mods_section): zerofill modinfo and header
15325 (convert_elf): write prefix here
473d1e45 15326
5389763d 153272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15328
15329 Use .asciz instead of .string
15330
15331 * i386/pc/diskboot.S: use .asciz instead of .string
15332 * i386/pc/boot.S: likewise
15333 * include/grub/dl.h (GRUB_MOD_DEP): likewise
15334 (GRUB_MOD_NAME): likewise
473d1e45 15335
3eb5ed4e 153362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15337
15338 gfxpayload support
15339
15340 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
15341 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
15342 (grub_video_setup): remove
15343 (grub_video_set_mode): new prototype
15344 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
15345 (vid_mode): remove
15346 (linux_vesafb_res): compile only on PCBIOS
15347 (grub_linux_boot): support gfxpayload
15348 * loader/i386/pc/xnu.c (video_hook): new function
15349 (grub_xnu_set_video): support gfxpayload
15350 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
15351 (DEFAULT_VIDEO_HEIGHT): likewise
15352 (DEFAULT_VIDEO_FLAGS): likewise
15353 (DEFAULT_VIDEO_MODE): new definition
15354 (video_hook): new function
15355 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 15356 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 15357 loading xnu
15358 * video/video.c (grub_video_setup): removed
473d1e45 15359 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 15360 grub_video_setup
15361
4b0e1143 153622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15363
15364 Avoid calling biosdisk in drivemap
15365
15366 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
15367 (revparse_biosdisk): likewise
15368 (list_mappings): derive name from id directly
15369 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 15370
fda6cb98 153712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15372
15373 Script fixes
15374
15375 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
15376 (grub_lexer_param): add tokenonhold
15377 (grub_script_create_cmdline): remove cmdline. All callers updated
15378 (grub_script_function_create): make functionname
15379 grub_script_arg. All callers updated
15380 (grub_script_execute_argument_to_string): new prototype
15381 * kern/parser.c (state_transitions): reorder
15382 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 15383 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 15384 make global
15385 (grub_script_execute_cmdline): use new format
15386 * script/sh/function.c (grub_script_function_create): make functionname
15387 grub_script_arg. All callers updated
473d1e45 15388 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 15389 (grub_script_yylex): remove
15390 (grub_script_yylex2): renamed to ...
15391 (grub_script_yylex): ...renamed
15392 parse the expressions like a${b}c
15393 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
15394 (GRUB_PARSER_TOKEN_VAR): remove
15395 (GRUB_PARSER_TOKEN_NAME): likewise
15396 ("if"): declare as typeless
15397 ("while"): likewise
15398 ("function"): likewise
15399 ("else"): likewise
15400 ("then"): likewise
15401 ("fi"): likewise
15402 (text): remove
15403 (argument): likewise
15404 (script): accept empty scripts and make exit on error
15405 (arguments): use GRUB_PARSER_TOKEN_ARG
15406 (function): likewise
15407 (command): move error handling to script
15408 (menuentry): move grub_script_lexer_ref before
473d1e45 15409 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 15410 argument. All callers updated
15411
f4448a07 154122009-06-04 Robert Millan <rmh.grub@aybabtu.com>
15413
15414 Prevent GRUB from probing floppies during boot.
15415
15416 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
15417 * commands/search.c (options): Add --no-floppy.
15418 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
15419 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
15420 --no-floppy when searching for UUIDs.
15421
2bf5885a 154222009-06-04 Robert Millan <rmh.grub@aybabtu.com>
15423
15424 Simplify the code duplication in commands/search.c.
15425
15426 * commands/search.c (search_label, search_fs_uuid): Merge into ...
15427 (search_fs): ... this. Update all users.
15428
f6fd460a 154292009-06-03 Felix Zielcke <fzielcke@z-51.de>
15430
15431 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
15432
cbb3c83e 154332009-05-28 Pavel Roskin <proski@gnu.org>
15434
57788cfd 15435 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
15436 Remove the original symlink explicitly.
15437
cbb3c83e 15438 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
15439 just one slash. That's how grub_fshelp_find_file() does it.
15440
cd0d5e30 154412009-05-26 Pavel Roskin <proski@gnu.org>
15442
f0f8bbe2 15443 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
15444 to `str'.
15445
cd0d5e30 15446 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
15447 possibly unused.
15448
8c2cab51 154492009-05-25 Christian Franke <franke@computer.org>
15450
15451 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
15452 register.
15453 (grub_atapi_identify): Add wait after drive select.
15454 (grub_ata_identify): Do more strict status register check before
15455 calling grub_atapi_identify (). Suppress error message if status
15456 register is 0x00 after command failure. Add status register
15457 check after PIO read to avoid bogus identify due to stuck DRQ.
15458 Thanks to Pavel Roskin for testing.
15459 (grub_device_initialize): Remove unsafe status register check.
15460 Thanks to 'phcoder' for problem report and patch.
15461 Prevent sign extension in debug message.
15462
230c0ad6 154632009-05-23 Colin D Bennett <colin@gibibit.com>
15464
15465 Cleaned up `include/grub/normal.h'. Grouped prototypes by
15466 definition file, and functions defined in `normal/menu.c' have had
15467 their prototypes moved to `include/grub/menu.h' for consistency.
15468
15469 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
15470 from normal.h.
15471 (grub_menu_get_entry): Likewise.
15472 (grub_menu_get_timeout): Likewise.
15473 (grub_menu_set_timeout): Likewise.
15474 (grub_menu_execute_entry): Likewise.
15475 (grub_menu_execute_with_fallback): Likewise.
15476 (grub_menu_entry_run): Likewise.
15477
15478 * include/grub/normal.h: Re-ordered and grouped function
15479 prototypes by file that the function is defined in.
15480 (grub_menu_execute_callback): Removed; moved to menu.h.
15481 (grub_menu_get_entry): Likewise.
15482 (grub_menu_get_timeout): Likewise.
15483 (grub_menu_set_timeout): Likewise.
15484 (grub_menu_execute_entry): Likewise.
15485 (grub_menu_execute_with_fallback): Likewise.
15486 (grub_menu_entry_run): Likewise.
15487 (grub_menu_addentry): Renamed from this ...
15488 (grub_normal_add_menu_entry): ... to this.
15489
15490 * normal/main.c (grub_menu_addentry): Renamed from this ...
15491 (grub_normal_add_menu_entry): ... to this.
15492
15493 * script/sh/execute.c (grub_script_execute_menuentry): Update
15494 reference to renamed grub_menu_addentry function.
15495
861f03a5 154962009-05-23 Felix Zielcke <fzielcke@z-51.de>
15497
15498 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
15499
96b1619a 155002009-05-22 Pavel Roskin <proski@gnu.org>
15501
bf6a5fb2 15502 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
15503 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
15504 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
15505 compiling for the i386 targets, but not for the utilities.
15506
96b1619a 15507 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
15508 to grub_uint8_t.
15509 (grub_root_drive): Likewise.
15510 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
15511 remove alignment.
15512 (grub_root_drive): Change size to byte.
15513 (grub_start_addr): Remove.
15514 (grub_end_addr): Likewise.
15515 (grub_apm_bios_info): Likewise.
15516
b729776b 155172009-05-21 Felix Zielcke <fzielcke@z-51.de>
15518
15519 * normal/i386: Remove.
15520 * normal/powerpc: Likewise.
15521 * normal/sparc64: Likewise.
15522 * normal/x86_64: Likewise.
15523
0a15ce80 155242009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15525
15526 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 15527 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 15528 * loader/i386/xnu_helper.S: Likewise
d6da58e6 15529
33db9015 155302009-05-18 Colin D Bennett <colin@gibibit.com>
15531
d6da58e6 15532 Display error messages when parsing a Lua statement fails.
15533 Previously, executing a syntactically invalid statement like
15534 ")foo" or "bar;" would silently fail.
33db9015 15535
15536 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 15537 (grub_lua_parse_line): Improved reporting of Lua parser and
15538 execution errors.
33db9015 15539
46422c89 155402009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15541
15542 Remove -Werror which causes build to fail on some systems
15543
15544 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
15545 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
15546 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 15547
22f53a96 155482009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15549
15550 trampoline for linux on 64-bit platform
15551
18f547ad 15552 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
15553 loader/i386/efi/linux_trampoline.S
15554 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 15555 declaration
d6da58e6 15556 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
15557 here
22f53a96 15558 * loader/i386/linux_trampoline.S: moved here
d6da58e6 15559 * loader/i386/efi/linux.c (allocate_pages): reserve space for
15560 trampoline
22f53a96 15561 (jumpvector): removed
15562 (grub_linux_trampoline_start): new declaration
15563 (grub_linux_trampoline_end): likewise
15564 (grub_linux_boot): use trampoline when on 64-bit platform
15565 * loader/i386/linux.c: likewise
15566
cb5a0f40 155672009-05-16 Pavel Roskin <proski@gnu.org>
15568
15569 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
15570 const to avoid a warning.
15571 (grub_lua_setenv): Likewise.
15572 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
15573 lmsg to fix a warning.
15574
334f2c28 155752009-05-16 Felix Zielcke <fzielcke@z-51.de>
15576
15577 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 15578 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
15579 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
15580 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
15581 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
15582 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
15583 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
15584 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 15585
59e5d3ec 155862009-05-16 Felix Zielcke <fzielcke@z-51.de>
15587
15588 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
15589
9d87a1ba 155902009-05-16 Bean <bean123ch@gmail.com>
15591
15592 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
15593 (lua_mod_SOURCES): New variable.
15594 (lua_mod_CFLAGS): Likewise.
15595 (lua_mod_LDFLAGS): Likewise.
15596
15597 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
15598 (setjmp_mod_SOURCES): New variable.
15599 (setjmp_mod_CFLAGS): Likewise.
15600 (setjmp_LDFLAGS): Likewise.
15601
15602 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
15603 (setjmp_mod_SOURCES): New variable.
15604 (setjmp_mod_CFLAGS): Likewise.
15605 (setjmp_LDFLAGS): Likewise.
15606
15607 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
15608 (setjmp_mod_SOURCES): New variable.
15609 (setjmp_mod_CFLAGS): Likewise.
15610 (setjmp_LDFLAGS): Likewise.
15611
15612 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
15613 (setjmp_mod_SOURCES): New variable.
15614 (setjmp_mod_CFLAGS): Likewise.
15615 (setjmp_LDFLAGS): Likewise.
15616
15617 * normal/i386/setjmp.S: Moved from here ...
15618 * lib/i386/setjmp.S: ... Moved here
15619 * normal/x86_64/setjmp.S: Moved from here ...
15620 * lib/x86_64/setjmp.S: ... Moved here
15621 * normal/powerpc/setjmp.S: Moved from here ...
15622 * lib/powerpc/setjmp.S: ... Moved here
15623 * normal/sparc64/setjmp.S: Moved from here ...
15624 * lib/sparc64/setjmp.S: ... Moved here
15625
15626 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
15627 returns_twice in mingw.
15628
15629 * script/lua/grub_lib.c: New file.
15630 * script/lua/grub_lib.h: Likewise.
15631 * script/lua/grub_lua.h: Likewise.
15632 * script/lua/grub_main.c: Likewise.
15633 * script/lua/lapi.c: Likewise.
15634 * script/lua/lapi.h: Likewise.
15635 * script/lua/lauxlib.c: Likewise.
15636 * script/lua/lauxlib.h: Likewise.
15637 * script/lua/lbaselib.c: Likewise.
15638 * script/lua/lcode.c: Likewise.
15639 * script/lua/lcode.h: Likewise.
15640 * script/lua/ldblib.c: Likewise.
15641 * script/lua/ldebug.c: Likewise.
15642 * script/lua/ldebug.h: Likewise.
15643 * script/lua/ldo.c: Likewise.
15644 * script/lua/ldo.h: Likewise.
15645 * script/lua/ldump.c: Likewise.
15646 * script/lua/lfunc.c: Likewise.
15647 * script/lua/lfunc.h: Likewise.
15648 * script/lua/lgc.c: Likewise.
15649 * script/lua/lgc.h: Likewise.
15650 * script/lua/linit.c: Likewise.
15651 * script/lua/liolib.c: Likewise.
15652 * script/lua/llex.c: Likewise.
15653 * script/lua/llex.h: Likewise.
15654 * script/lua/llimits.h: Likewise.
15655 * script/lua/lmathlib.c: Likewise.
15656 * script/lua/lmem.c: Likewise.
15657 * script/lua/lmem.h: Likewise.
15658 * script/lua/loadlib.c: Likewise.
15659 * script/lua/lobject.c: Likewise.
15660 * script/lua/lobject.h: Likewise.
15661 * script/lua/lopcodes.c: Likewise.
15662 * script/lua/lopcodes.h: Likewise.
15663 * script/lua/loslib.c: Likewise.
15664 * script/lua/lparser.c: Likewise.
15665 * script/lua/lparser.h: Likewise.
15666 * script/lua/lstate.c: Likewise.
15667 * script/lua/lstate.h: Likewise.
15668 * script/lua/lstring.c: Likewise.
15669 * script/lua/lstring.h: Likewise.
15670 * script/lua/lstrlib.c: Likewise.
15671 * script/lua/ltable.c: Likewise.
15672 * script/lua/ltable.h: Likewise.
15673 * script/lua/ltablib.c: Likewise.
15674 * script/lua/ltm.c: Likewise.
15675 * script/lua/ltm.h: Likewise.
15676 * script/lua/lua.h: Likewise.
15677 * script/lua/luaconf.h: Likewise.
15678 * script/lua/lualib.h: Likewise.
15679 * script/lua/lundump.c: Likewise.
15680 * script/lua/lundump.h: Likewise.
15681 * script/lua/lvm.c: Likewise.
15682 * script/lua/lvm.h: Likewise.
15683 * script/lua/lzio.c: Likewise.
15684 * script/lua/lzio.h: Likewise.
15685
5e898c9d 156862009-05-16 Bean <bean123ch@gmail.com>
15687
15688 * include/grub/kernel.h (grub_module_header_types): Add type
15689 OBJ_TYPE_CONFIG.
15690
15691 * kern/main.c (grub_load_config): New function.
15692 (grub_main): Call grub_load_config to read boot config.
15693
15694 * grub-mkimage (generate_image): New parameter config_path.
15695 (options): New option --config.
15696 (main): Parse --config option, and pass it to generate_image.
15697
cf353a47 156982009-05-14 Christian Franke <franke@computer.org>
15699
15700 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
15701 This fixes build on Cygwin.
15702
3834887f 157032009-05-14 Pavel Roskin <proski@gnu.org>
15704
15705 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
15706 jump. This saves two bytes, so the typical case of 2 swapped
15707 drives would fit 32 bytes.
15708
8090fc01 157092009-05-13 Pavel Roskin <proski@gnu.org>
15710
ac963883 15711 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
15712 grub_uint32_t to avoid a warning.
15713
8090fc01 15714 * loader/i386/linux.c (allocate_pages): When assigning
15715 real_mode_mem, cast through grub_size_t to fix a warning. The
15716 code already makes sure that the value would fit a pointer.
15717 (grub_linux_setup_video): Cast render_target->data to
15718 grub_size_t to fix a warning.
15719
18f547ad 157202009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 15721
15722 * commands/i386/pc/drivemap.c: New file - implement drivemap
15723 command.
15724 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
15725 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
15726
6f6a8b28 157272009-05-13 Pavel Roskin <proski@gnu.org>
15728
15729 * util/i386/pc/grub-setup.c (setup): Remove unused variable
15730 embedding_area_exists.
15731
15fbf4c4 157322009-05-13 Robert Millan <rmh.grub@aybabtu.com>
15733
15734 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
15735 it easier to understand / work with.
59978c8a 15736 Improve warning messages for cases where there's no embedding area,
15737 or when it is too small (or core.img too large).
15fbf4c4 15738
238e871f 157392009-05-13 Pavel Roskin <proski@gnu.org>
15740
0ab3a9a4 15741 * loader/i386/pc/multiboot2.c: Add necessary includes for
15742 grub_multiboot2_real_boot().
15743
a2c8c5f8 15744 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
15745 PX record is always little-endian. We only need the lower 2
15746 bytes of the mode.
15747
faec96af 15748 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
15749 facilitate code reuse.
15750 (grub_cpio_mount): Use "struct head", not a char buffer. This
15751 fixes a warning reported by gcc 4.4.
15752
238e871f 15753 * kernel/disk.c (grub_disk_read): Use void pointer for the
15754 buffer.
15755 (grub_disk_write): Use const void pointer for the buffer.
15756 Adjust all callers. Remove unnecessary casts.
15757
901d2f0c 157582009-05-10 Robert Millan <rmh.grub@aybabtu.com>
15759
15760 * util/i386/pc/grub-install.in: Update copyright year.
15761
18f547ad 157622009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 15763
15764 gptsync
15765
15766 * commands/gptsync.c: new file
15767 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
15768 (gptsync_mod_SOURCES): new variable
15769 (gptsync_mod_CFLAGS): likewise
15770 (gptsync_mod_LDFLAGS): likewise
18f547ad 15771 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 15772 new definition
15773 (GRUB_PC_PARTITION_TYPE_HFS): likewise
15774 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
15775 * conf/i386-ieee1275.rmk: likewise
15776 * conf/i386-pc.rmk: likewise
15777 * conf/powerpc-ieee1275.rmk: likewise
15778
b4ba690a 157792009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15780
15781 Fixed grub-emu
15782
15783 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
15784 (grub_dl_ref): likewise
15785
317e1a44 157862009-05-08 Robert Millan <rmh.grub@aybabtu.com>
15787
15788 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
15789 split in two functions (one for msdos and one for gpt).
15790
041b8094 157912009-05-08 Pavel Roskin <proski@gnu.org>
15792
752473c2 15793 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
15794 not modified.
15795
041b8094 15796 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
15797 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
15798 Initialize them with -1. Add sanity check for bad1. Eliminate
15799 nerr variable.
15800
172800ce 158012009-05-08 David S. Miller <davem@davemloft.net>
15802
15803 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
15804
29aa5e81 158052009-05-06 Robert Millan <rmh.grub@aybabtu.com>
15806
15807 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 15808 existence.
29aa5e81 15809
96613b62 158102009-05-05 Felix Zielcke <fzielcke@z-51.de>
15811
15812 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 15813 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 15814
eef73c8a 158152009-05-05 David S. Miller <davem@davemloft.net>
15816
15817 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
15818
119494b5 158192009-05-05 Pavel Roskin <proski@gnu.org>
15820
15821 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
15822 of grub_dl_ref() and grub_dl_unref().
15823 * commands/parttool.c: Remove preprocessor conditionals around
15824 grub_dl_ref() and grub_dl_unref().
15825 * fs/affs.c: Likewise.
15826 * fs/afs.c: Likewise.
15827 * fs/cpio.c: Likewise.
15828 * fs/ext2.c: Likewise.
15829 * fs/fat.c: Likewise.
15830 * fs/hfs.c: Likewise.
15831 * fs/hfsplus.c: Likewise.
15832 * fs/iso9660.c: Likewise.
15833 * fs/jfs.c: Likewise.
15834 * fs/minix.c: Likewise.
15835 * fs/ntfs.c: Likewise.
15836 * fs/reiserfs.c: Likewise.
15837 * fs/sfs.c: Likewise.
15838 * fs/udf.c: Likewise.
15839 * fs/ufs.c: Likewise.
15840 * fs/xfs.c: Likewise.
15841 * include/grub/dl.h: Likewise.
15842 * loader/xnu.c: Likewise.
15843
de5fd76e 158442009-05-04 Pavel Roskin <proski@gnu.org>
15845
15846 * commands/acpi.c: Remove unused variable my_mod.
15847 * partmap/amiga.c: Likewise.
15848 * partmap/apple.c: Likewise.
15849 * partmap/gpt.c: Likewise.
15850 * partmap/pc.c: Likewise.
15851 * partmap/sun.c: Likewise.
15852 * term/gfxterm.c: Likewise.
15853 * term/i386/pc/vesafb.c: Likewise.
15854 * term/i386/pc/vga.c: Likewise.
15855
983598ad 158562009-05-04 David S. Miller <davem@davemloft.net>
15857
15858 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
15859 pointer args to grub_ieee1275_get_property().
15860
8aadec43 15861 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
15862
9554b15e 15863 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
15864 devices, and do not traverse down under controller nodes.
15865
67e23c90 15866 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
15867 (grub_ofdisk_open): Use it to un-escape "," characters.
15868 * kern/disk.c (find_part_sep): New.
15869 (grub_disk_open): Use it to find the first non-escaped ','
15870 character in the disk name.
15871 * util/ieee1275/devicemap.c (escape_of_path): New.
15872 (grub_util_emit_devicemap_entry): Use it.
15873 * util/sparc64/ieee1275/grub-install.in: Update script to
15874 strip partition specifiers properly by not triggering on
15875 '\' escaped ',' characters.
15876
74bfdd2f 158772009-05-04 Robert Millan <rmh.grub@aybabtu.com>
15878
15879 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
15880 to 0x300.
15881 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
15882 resolutions.
15883 (linux_vesafb_modes): Add a lot of additional modes to the list (based
15884 on documentation from Wikipedia).
15885
4241d2b1 158862009-05-04 Pavel Roskin <proski@gnu.org>
15887
15888 * disk/ata.c: Spelling fixes.
15889 * disk/raid.c: Likewise.
15890 * disk/usbms.c: Likewise.
15891 * disk/dmraid_nvidia.c: Likewise.
15892 * kern/ieee1275/openfw.c: Likewise.
15893 * kern/ieee1275/init.c: Likewise.
15894 * kern/ieee1275/cmain.c: Likewise.
15895 * boot/i386/pc/cdboot.S: Likewise.
15896 * video/readers/png.c: Likewise.
15897 * video/i386/pc/vbe.c: Likewise.
15898 * fs/udf.c: Likewise.
15899 * fs/hfs.c: Likewise.
15900 * fs/reiserfs.c: Likewise.
15901 * efiemu/runtime/efiemu.c: Likewise.
15902 * efiemu/main.c: Likewise.
15903 * efiemu/mm.c: Likewise.
15904 * include/grub/elf.h: Likewise.
15905 * include/grub/xnu.h: Likewise.
15906 * include/grub/usbdesc.h: Likewise.
15907 * include/grub/usb.h: Likewise.
15908 * include/grub/script_sh.h: Likewise.
15909 * include/grub/lib/LzmaEnc.h: Likewise.
15910 * include/grub/efiemu/efiemu.h: Likewise.
15911 * include/grub/command.h: Likewise.
15912 * normal/menu.c: Likewise.
15913 * normal/main.c: Likewise.
15914 * normal/datetime.c: Likewise.
15915 * bus/usb/uhci.c: Likewise.
15916 * mmap/i386/uppermem.c: Likewise.
15917 * mmap/mmap.c: Likewise.
15918 * commands/acpi.c: Likewise.
15919 * commands/test.c: Likewise.
15920 * partmap/apple.c: Likewise.
15921 * font/font.c: Likewise.
15922 * loader/sparc64/ieee1275/linux.c: Likewise.
15923 * loader/macho.c: Likewise.
15924 * loader/i386/bsd_trampoline.S: Likewise.
15925 * loader/i386/bsd.c: Likewise.
15926 * loader/xnu.c: Likewise.
15927 * term/i386/pc/vesafb.c: Likewise.
15928 * term/usb_keyboard.c: Likewise.
15929 * util/resolve.c: Likewise.
15930 * util/getroot.c: Likewise.
15931
0cfc0083 159322009-05-04 Felix Zielcke <fzielcke@z-51.de>
15933
15934 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
15935
7c1d00cd 159362009-05-04 Robert Millan <rmh.grub@aybabtu.com>
15937
15938 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
15939 build error.
15940
b01f0548 159412009-05-04 Robert Millan <rmh.grub@aybabtu.com>
15942
15943 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
15944 parameter only available on BIOS.
15945
ecc3eb22 159462009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 Removed wrong semicolon in declaration
15949
15950 * grub/misc.h (grub_dprintf): remove semicolon
15951
112972a9 159522009-05-04 Robert Millan <rmh.grub@aybabtu.com>
15953
15954 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
15955 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
15956 is done by grub_cmd_linux() now).
15957 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
15958 restore video to text mode.
15959 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
15960 indicates lack of "vga=" parameter. "vga=0" is mapped to
15961 `GRUB_LINUX_VID_MODE_NORMAL'.
15962
afd5c115 159632009-05-04 Felix Zielcke <fzielcke@z-51.de>
15964
15965 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
15966 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
15967 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 15968 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 15969 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
15970 `grub_script.tab.c'.
15971
15972 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15973 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15974 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15975 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15976 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15977
faa517ce 15978 * Makefile.in: Remove duplicated 2008 in Copyright line.
15979
ae0c0bdc 159802009-05-04 Robert Millan <rmh.grub@aybabtu.com>
15981
473d1e45 15982 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 15983 unconditionally.
15984 * include/grub/util/misc.h (grub_util_warn): New declaration.
15985
15986 * util/i386/pc/grub-install.in: Understand --force and pass it down
15987 to grub-setup.
15988
15989 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
15990 down to setup().
15991 (setup): Improve error messages and add warnings when requested to
15992 install in odd layouts. Refuse to install using blocklists unless
15993 --force was set.
15994
18f547ad 159952009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 15996
15997 * disk/raid.c (grub_raid_scan_device): Improve debug message.
15998
6d260daa 159992009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16000
16001 Updated copyright year
16002
16003 * fs/hfsplus.c: updated copyright year
18f547ad 16004
69f853f8 160052009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16006
16007 HFS+ UUID
16008
18f547ad 16009 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 16010 in the space previously used by unused3
16011 (grub_hfsplus_uuid): new function
16012 (grub_hfsplus_fs): added uuid field
16013
4c402e73 160142009-05-03 Pavel Roskin <proski@gnu.org>
16015
16016 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
16017 suppress warnings. It's no longer needed.
16018 * disk/host.c: Likewise.
16019 * disk/ata_pthru.c: Likewise.
16020 * disk/loopback.c: Likewise.
16021 * hook/datehook.c: Likewise.
16022 * parttool/pcpart.c: Likewise.
16023 * fs/i386/pc/pxe.c: Likewise.
16024 * fs/ntfscomp.c: Likewise.
16025 * efiemu/main.c: Likewise.
16026 * mmap/mmap.c: Likewise.
16027 * commands/crc.c: Likewise.
16028 * commands/hexdump.c: Likewise.
16029 * commands/hdparm.c: Likewise.
16030 * commands/acpi.c: Likewise.
16031 * commands/echo.c: Likewise.
16032 * commands/minicmd.c: Likewise.
16033 * commands/blocklist.c: Likewise.
16034 * commands/memrw.c: Likewise.
16035 * commands/loadenv.c: Likewise.
16036 * commands/usbtest.c: Likewise.
16037 * commands/lsmmap.c: Likewise.
16038 * commands/boot.c: Likewise.
16039 * commands/parttool.c: Likewise.
16040 * commands/configfile.c: Likewise.
16041 * commands/search.c: Likewise.
16042 * commands/ieee1275/suspend.c: Likewise.
16043 * commands/cat.c: Likewise.
16044 * commands/i386/pc/pxecmd.c: Likewise.
16045 * commands/i386/pc/play.c: Likewise.
16046 * commands/i386/pc/halt.c: Likewise.
16047 * commands/i386/pc/vbeinfo.c: Likewise.
16048 * commands/i386/pc/vbetest.c: Likewise.
16049 * commands/lspci.c: Likewise.
16050 * commands/date.c: Likewise.
16051 * commands/handler.c: Likewise.
16052 * commands/ls.c: Likewise.
16053 * commands/test.c: Likewise.
16054 * commands/cmp.c: Likewise.
16055 * commands/efi/loadbios.c: Likewise.
16056 * commands/efi/fixvideo.c: Likewise.
16057 * commands/halt.c: Likewise.
16058 * commands/help.c: Likewise.
16059 * commands/reboot.c: Likewise.
16060 * hello/hello.c: Likewise.
16061 * script/sh/main.c: Likewise.
16062 * loader/xnu.c: Likewise.
16063 * term/terminfo.c: Likewise.
16064 * term/i386/pc/serial.c: Likewise.
16065 * term/usb_keyboard.c: Likewise.
16066
515b5079 160672009-05-03 David S. Miller <davem@davemloft.net>
16068
16069 * normal/menu.c: Include grub/parser.h
16070
dfc31a22 160712009-05-03 Pavel Roskin <proski@gnu.org>
16072
2fee74f1 16073 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
16074 not char*.
16075 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
16076 Suggested by Javier Martín <lordhabbit@gmail.com>
16077
dfc31a22 16078 * util/i386/pc/grub-mkrescue.in: Allow for the case when
16079 efiemu??.o doesn't exist.
16080 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
16081 copying.
16082
18f547ad 160832009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 16084
16085 FreeBSD 64-bit support
16086
18f547ad 16087 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 16088 and loader/i386/bsd_trampoline.S
16089 (bsd_mod_ASFLAGS): new variable
16090 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
16091 (FREEBSD_MODTYPE_KERNEL64): likewise
16092 (grub_bsd64_trampoline_start): likewise
16093 (grub_bsd64_trampoline_end): likewise
16094 (grub_bsd64_trampoline_selfjump): likewise
16095 (grub_bsd64_trampoline_gdt): likewise
16096 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
16097 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
16098 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
16099 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 16100 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 16101 of "attrib" member
16102 * loader/i386/bsd_pagetable.c: new file
16103 * loader/i386/bsd_trampoline.S: likewise
16104 * loader/i386/bsd.c (ALIGN_QWORD): new macro
16105 (ALIGN_VAR): likewise
16106 (entry_hi): new variable
16107 (kern_end_mdofs): likewise
16108 (is_64bit): likewise
16109 (grub_freebsd_add_meta): use ALIGN_VAR
16110 (grub_e820_mmap): new declaration
16111 (grub_freebsd_add_mmap): new function
16112 (grub_freebsd_add_meta_module): support 64 bit kernels
16113 (grub_freebsd_list_modules): use ALIGN_VAR
16114 (gdt_descriptor): new declaration
16115 (grub_freebsd_boot): support 64 bit kernels
16116 (grub_bsd_elf64_hook): new function
16117 (grub_bsd_load_elf): support elf64
16118
038c5720 161192009-05-03 Bean <bean123ch@gmail.com>
16120
16121 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
16122 after we get the result of if statement.
16123
fc45fb58 161242009-05-03 Bean <bean123ch@gmail.com>
16125
16126 * Makefile.in (enable_efiemu): New variable.
16127
16128 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
16129 set.
16130 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
16131 path.
16132 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
16133 path, add -mno-red-zone option.
16134 (efiemu64_s.o): Likewise.
16135 (efiemu64.o): Use macro $^ for source file.
16136
16137 * configure.ac (--enable-efiemu): New option.
16138
bbee0f2b 161392009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16140
16141 xnu support
16142
16143 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
16144 (pkglib_MODULES): add xnu.mod
16145 (xnu_mod_SOURCES): new variable
16146 (xnu_mod_CFLAGS): likewise
16147 (xnu_mod_LDFLAGS): likewise
16148 (xnu_mod_ASFLAGS): likewise
16149 * conf/i386-pc.rmk: likewise
16150 * conf/x86_64-efi.rmk: likewise
7dd4a573 16151 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 16152 new declaration
16153 * include/grub/i386/macho.h: new file
16154 * include/grub/i386/xnu.h: likewise
16155 * include/grub/macho.h: likewise
16156 * include/grub/machoload.h: likewise
16157 * include/grub/x86_64/macho.h: likewise
16158 * include/grub/x86_64/xnu.h: likewise
16159 * include/grub/xnu.h: likewise
16160 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
16161 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
16162 * loader/i386/efi/xnu.c: new file
16163 * loader/i386/pc/xnu.c: likewise
16164 * loader/i386/xnu.c: likewise
16165 * loader/i386/xnu_helper.S: likewise
16166 * loader/macho.c: likewise
16167 * loader/xnu.c: likewise
16168 * loader/xnu_resume.c: likewise
16169 * util/grub-dumpdevtree: likewise
16170 * include/grub/i386/pit.h: include grub/err.h
16171 (grub_pit_wait): export
16172 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 16173
5caf964d 161742009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 Efiemu
7dd4a573 16177
5caf964d 16178 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 16179 _linux_efi, linux_efi.
16180 new files in grub-emu
5caf964d 16181 new targets efiemu32.o and efiemu64.o
16182 * loader/linux_normal_efiemu.c: likewise
16183 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 16184 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 16185 files to copy
16186 * include/grub/autoefi.h: new file
7dd4a573 16187 * include/grub/i386/efiemu.h: likewise
5caf964d 16188 * include/grub/i386/pc/efiemu.h: likewise
16189 * include/grub/efi/api.h: add LL suffix when necessary
16190 new definitions relating to tables
16191 * include/grub/efiemu/efiemu.h: new file
16192 * include/grub/efiemu/runtime.h: likewise
16193 * efiemu/prepare.c: likewise
16194 * efiemu/loadcore_common.c: likewise
16195 * efiemu/loadcore64.c: likewise
16196 * efiemu/runtime/efiemu.sh: likewise
16197 * efiemu/runtime/efiemu.S: likewise
16198 * efiemu/runtime/efiemu.c: likewise
16199 * efiemu/runtime/config.h: likewise
16200 * efiemu/prepare32.c: likewise
16201 * efiemu/main.c: likewise
16202 * efiemu/modules/pnvram.c: likewise
16203 * efiemu/modules/i386: likewise
16204 * efiemu/modules/i386/pc: likewise
16205 * efiemu/modules/acpi.c: likewise
16206 * efiemu/i386/pc/cfgtables.c: likewise
16207 * efiemu/i386/loadcore64.c: likewise
16208 * efiemu/i386/loadcore32.c: likewise
16209 * efiemu/prepare64.c: likewise
16210 * efiemu/loadcore.c: likewise
16211 * efiemu/symbols.c: likewise
16212 * efiemu/mm.c: likewise
16213 * efiemu/loadcore32.c: likewise
7dd4a573 16214
162152009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 16216
16217 ACPI spoofing
16218
16219 * commands/acpi.c: new file
16220 * commands/i386/pc/acpi.c: likewise
16221 * commands/efi/acpi.c: likewise
16222 * include/grub/acpi.h: likewise
16223 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
16224 (acpi_mod_SOURCES): new variable
16225 (acpi_mod_CFLAGS): likewise
16226 (acpi_mod_LDFLAGS): likewise
16227 * conf/i386-efi.rmk: likewise
16228 * conf/x86_64-efi.rmk: likewise
16229
7dd4a573 162302009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 16231
16232 Missing part from mmap patch
16233
16234 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
16235 (grub_mmap_unregister)
16236 (grub_mmap_free_and_unregister): use grub_mmap_register
16237
7dd4a573 162382009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 16239
16240 Mmap services
16241
16242 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
16243 * loader/i386/linux.c (find_mmap_size): likewise
16244 (allocate_pages): likewise
16245 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
16246 (grub_fill_multiboot_mmap): likewise
16247 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
16248 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
16249 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
16250 (OPENBSD_MMAP_RESERVED): likewise
16251 * include/grub/i386/pc/memory.h: include grub/memory.h
16252 (grub_lower_mem): removed
16253 (grub_upper_mem): likewise
16254 (GRUB_MACHINE_MEMORY_ACPI): new definition
16255 (GRUB_MACHINE_MEMORY_NVS): likewise
16256 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
16257 (GRUB_MACHINE_MEMORY_HOLE): likewise
16258 (grub_machine_mmap_register): likewise
16259 (grub_machine_mmap_unregister): likewise
16260 (grub_machine_get_upper): likewise
16261 (grub_machine_get_lower): likewise
16262 (grub_machine_get_post64): likewise
16263 * include/grub/i386/efi/memory.h: new file
16264 * include/grub/x86_64/efi/memory.h: likewise
16265 * include/grub/efi/memory.h: likewise
16266 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
16267 (mmap_mod_SOURCES): new variable
16268 (mmap_mod_LDFLAGS): likewise
16269 (mmap_mod_ASFLAGS): likewise
16270 * conf/i386-coreboot.rmk: likewise
16271 * conf/i386-ieee1275.rmk: likewise
16272 * conf/i386-efi.rmk: likewise
16273 * conf/x86_64-efi.rmk: likewise
16274 * include/grub/types.h (UINT_TO_PTR): new macro
16275 (PTR_TO_UINT32): likewise
16276 (PTR_TO_UINT64): likewise
16277 * include/grub/memory.h: new file
16278 * mmap/i386/pc/mmap.c: likewise
16279 * mmap/i386/pc/mmap_helper.S: likewise
16280 * mmap/i386/uppermem.c: likewise
16281 * mmap/mmap.c: likewise
16282 * mmap/efi/mmap.c: likewise
7dd4a573 16283 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 16284 grub_upper_mem
16285 * kern/i386/pc/init.c (grub_lower_mem): removed variable
16286 (grub_upper_mem): likewise
16287 (grub_machine_init): don't use grub_upper_mem,
16288 make grub_lower_mem local
16289 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
16290 grub_mmap_iterate and grub_mmap_get_upper
16291 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
16292
d558e6b5 162932009-05-02 Bean <bean123ch@gmail.com>
16294
16295 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
16296 script/sh/parser.y.
16297 (pkglib_MODULES): Add normal.mod and sh.mod.
16298 (normal_SOURCES): New variable.
16299 (normal_mod_CFLAGS): Likewise.
16300 (normal_mod_LDFLAGS): Likewise.
16301 (sh_mod_SOURCES): Likewise.
16302 (sh_mod_CFLAGS): Likewise.
16303 (sh_mod_LDFLAGS): Likewise.
16304
16305 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
16306 script/sh/lexer.c_DEPENDENCIES.
16307 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
16308 kern/rescue_reader.c and kern/rescue_parser.c.
16309 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
16310 (grub_emu_SOURCES): Change source files.
16311 (pkglib_MODULES): Remove normal.mod.
16312 (normal_SOURCES): Removed.
16313 (normal_mod_CFLAGS): Likewise.
16314 (normal_mod_LDFLAGS): Likewise.
16315 * conf/i386-coreboot.rmk: Likewise.
16316 * conf/i386-efi.rmk: Likewise.
16317 * conf/i386-ieee1276.rmk: Likewise.
16318 * conf/powerpc-ieee1275.rmk: Likewise.
16319 * conf/sparc64-ieee1275.rmk: Likewise.
16320 * conf/x86_64-efi.rmk: Likewise.
16321
16322 * include/grub/command.h (grub_command_execute): New inline function.
16323
16324 * include/grub/menu.h (grub_menu_entry): Removed commands field.
16325
16326 * include/grub/normal.h: Remove <grub/setjmp.h>.
16327 (grub_fs_module_list): Moved to normal/autofs.c.
16328 (grub_exit_env): Removed.
16329 (grub_command_execute): Likewise.
16330 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
16331 parameter script.
16332 (read_command_list): New function declaration.
16333 (read_fs_list): Likewise.
16334
16335 * include/parser.h: Include <grub/reader.h>.
16336 (grub_parser_split_cmdline): Change type of getline parameter.
16337 (grub_parser): New structure.
16338 (grub_parser_class): New variable.
16339 (grub_parser_execute): New function declaration.
16340 (grub_register_rescue_parser): Likewise.
16341 (grub_parser_register): New inline function.
16342 (grub_parser_unregister): Likewise.
16343 (grub_parser_get_current): Likewise.
16344 (grub_parser_set_current): Likewise.
16345
16346 * include/grub/reader.h: New file.
16347 * kern/reader.c: Likewise.
16348 * kern/rescue_parser.c: Likewise.
16349 * kern/rescue_reader.c: Likewise.
16350 * normal/autofs.c: Likewise.
16351 * normal/dyncmd.c: Likewise.
16352
16353 * include/grub/rescue.h: Removed.
16354 * normal/command.h: Likewise.
16355
16356 * include/grub/script.h: Moved to ...
16357 * include/grub/script_sh.h: ... Moved here.
16358 * normal/execute.c: Moved to ...
16359 * script/sh/execute.c: ... Moved here.
16360 * normal/function.c: Moved to ...
16361 * script/sh/function.c: ... Moved here.
16362 * normal/lexer.c: Moved to ...
16363 * script/sh/lexer.c: ... Moved here.
16364 * normal/parser.y: Moved to ...
16365 * script/sh/parser.y: ... Moved here.
16366 * normal/script.c: Moved to ...
16367 * script/sh/script.c: ... Moved here.
16368
16369 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
16370 <grub/reader.h>.
16371 (grub_exit_env): Removed.
16372 (fs_module_list): Moved to normal/autofs.c.
16373 (grub_file_getline): Don't handle comment here.
16374 (free_menu): Skip removed field entry->commands.
16375 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
16376 script parameter.
16377 (read_config_file): Removed nested parameter, change getline function.
16378 (grub_enter_normal_mode): Removed.
16379 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
16380 (read_command_list): Likewise.
16381 (autoload_fs_module): Moved to normal/autofs.c.
16382 (read_fs_list): Likewise.
16383 (reader_nested): New variable.
16384 (grub_normal_execute): Run parser.sh to switch to sh parser.
16385 (grub_cmd_rescue): Removed.
16386 (cmd_normal): Removed.
16387 (grub_cmd_normal): Unregister itself at the beginning. Don't register
16388 rescue command.
16389 (grub_cmdline_run): New function.
16390 (grub_normal_reader_init): Likewise.
16391 (grub_normal_read_line): Likewise.
16392 (grub_env_write_pager): Likewise.
16393 (cmdline): New variable.
16394 (grub_normal_reader): Likewise.
16395 (GRUB_MOD_INIT): Register normal reader and set as current, register
16396 pager hook, register normal command with grub_register_command_prio,
16397 so that it won't show up in command.lst.
16398 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
16399 grub_fs_autoload_hook.
16400
16401 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
16402 (grub_menu_execute_entry): Replace grub_script_execute with
16403 grub_parser_execute, change parameter to grub_command_execute.
16404
16405 * normal/menu_text.c: Remove <grub/script.h>.
16406
16407 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
16408 and <grub/parser.h>.
16409 (run): Change editor_getline to use new parser interface. Change
16410 parameter to grub_command_execute.
16411
16412 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
16413 <grub/reader.h> and <grub/parser.h>.
16414 (grub_load_normal_mode): Execute normal command.
16415 (grub_main): Call grub_register_core_commands,
16416 grub_register_rescue_parser and grub_register_rescue_reader, use
16417 grub_reader_loop to enter input loop.
16418
7dd4a573 16419 * kern/parser.c (grub_parser_split_cmdline): Change type of
16420 getline parameter.
d558e6b5 16421 (grub_parser_class): New variable.
16422 (grub_parser_execute): New function.
16423
16424 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
16425 * loader/multiboot2.c: Likewise.
16426 * loader/sparc64/ieee1275/linux.c: Likewise.
16427
16428 * util/grub-emu.c (read_command_list): New dummy function.
16429
18db813d 164302009-05-02 Robert Millan <rmh.grub@aybabtu.com>
16431
16432 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
16433 count to 16 for CCISS and IDA.
16434
6c67de15 164352009-05-02 Robert Millan <rmh.grub@aybabtu.com>
16436
16437 * normal/menu_text.c (grub_wait_after_message): Print a newline
16438 after waiting for user input.
16439
16440 * loader/i386/linux.c: Include `<grub/normal.h>'.
16441 (grub_cmd_linux): Improve the error message about `ask' mode, by
16442 waiting for user input so it's not missed (we can do this, since
16443 user requested interaction).
16444
d9dc87b0 164452009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16446
16447 Added missing lst to grub-mkrescue
16448
16449 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
16450 and ${input_dir}/parttool.lst
16451
ac8a2baa 164522009-04-30 David S. Miller <davem@davemloft.net>
16453
ad22a610 16454 * util/hostdisk.c (device_is_wholedisk): New function.
16455 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
16456 zero only if device_is_wholedisk() returns true.
16457
6966215d 16458 * util/hostdisk.c (convert_system_partition_to_system_disk):
16459 Handle virtual disk devices named /dev/vdiskX as found on sparc
16460 and powerpc.
16461
ac8a2baa 16462 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
16463 lettered partition specifier is found, convert to numbered.
16464
979b4fb4 164652009-04-29 David S. Miller <davem@davemloft.net>
16466
e2bf39b2 16467 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
16468 * include/grub/sparc64/ieee1275/memory.h: Likewise.
16469
3c64e104 16470 * normal/command.c: Add missing newline at end of file.
16471
979b4fb4 16472 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
16473 warnings.
16474 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
16475 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
16476 grub_ofdisk_read): Likewise, and deal similarly with the fact that
16477 ihandles have a 32-bit type but need to be stored in a "void *".
16478
136d9f82 164792009-04-28 Pavel Roskin <proski@gnu.org>
16480
9459c306 16481 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
16482 not disk. Adjust all dependencies.
2e08a26a 16483 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 16484 grub_disk_close().
16485
136d9f82 16486 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
16487 parent's partition, don't copy it by reference, as it gets freed
16488 on close.
16489
7dd4a573 164902009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 16491
16492 Preboot hooks support
16493
16494 * commands/boot.c (struct grub_preboot_t): new declaration
16495 (preboots_head): new variable
16496 (preboots_tail): likewise
16497 (grub_loader_register_preboot_hook): new function
16498 (grub_loader_unregister_preboot_hook): likewise
16499 (grub_loader_set): launch preboot hooks
16500 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
16501 (grub_loader_register_preboot_hook): new declaration
16502 (grub_loader_unregister_preboot_hook): likewise
16503
5af922b5 165042009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16505
16506 Warning fix
16507
7dd4a573 16508 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 16509 calling grub_dprintf
16510
a5562c30 165112009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
16512
16513 Bug and warning fixes
16514
7dd4a573 16515 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 16516 declaration
16517 * commands/test.c (test_parse): fixed bug with file tests and corrected
16518 declaration of find_file
16519
4006f85c 165202009-04-26 Pavel Roskin <proski@gnu.org>
16521
16522 * Makefile.in: Don't install empty manual pages if help2man is
16523 missing. Use help2man option for output, not shell redirection.
16524
5c77c3de 165252009-04-26 David S. Miller <davem@davemloft.net>
16526
16527 * util/grub-mkdevicemap.c (make_device_map): Add missing
16528 NESTED_FUNC_ATTR to process_device().
16529
033b10a8 165302009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16531
16532 Test command
16533
16534 * commands/test.c: rewritten to use bash-like test
16535
e4343593 165362009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16537
16538 Parttool autoloading and improvements
16539
7dd4a573 16540 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 16541 (parttool.lst): new target
16542 * genmk.rb: generate parttool-*
16543 (CLEANFILES): add #{parttool}
16544 (PARTTOOLFILES): new variable
16545 * genparttoollist.sh: new file
7dd4a573 16546 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 16547 (grub_pcpart_type): likewise
16548 * commands/parttool.c (helpmsg): new variable
16549 (grub_cmd_parttool): output help if not enough arguments are supplied
16550 autoload modules
16551 (GRUB_MOD_INIT(parttool)): use helpmsg
16552
0d312500 165532009-04-24 David S. Miller <davem@davemloft.net>
16554
7dd4a573 16555 Avoiding opening same device multiple times in device iterator.
0d312500 16556
16557 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 16558 and use it to build a list of partitions in iterate_disk() and
0d312500 16559 iterate_partition().
16560
ac20caff 16561 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
16562 on disk->data.
16563
0dcf7495 16564 * disk/ieee1275/nand.c (grub_nand_iterate): Return
16565 grub_devalias_iterate() result instead of unconditional 0.
16566 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
16567 Also, capture hook return value, either directly or via
16568 grub_children_iterate(), and propagate to caller.
16569 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
16570 grub_children_iterate): Return value is now 'int' instead of
16571 'grub_err_t'.
16572 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
16573 like a proper iterator, stopping when hooks return non-zero.
16574 (grub_devalias_iterate): Likewise.
16575
c8c08833 165762009-04-23 David S. Miller <davem@davemloft.net>
16577
16578 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
16579
f01005a8 165802009-04-22 David S. Miller <davem@davemloft.net>
16581
16582 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
16583 is larger than address_cells, use that value for address_cells too.
16584
4e8269da 16585 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
16586 IEEE1275_MAX_PATH_LEN): Define.
16587 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
16588 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
16589 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
16590 'devtype'. Explicitly NULL terminate devalias expansion.
16591
a1447506 16592 * util/sparc64/ieee1275/misc.c: New file.
16593 * util/sparc64/ieee1275/grub-setup.c: New file.
16594 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
16595 * util/sparc64/ieee1275/grub-mkimage.c: New file.
16596 * util/sparc64/ieee1275/grub-install.in: New file.
16597 * util/ieee1275/ofpath.c: New file.
16598 * util/ieee1275/devicemap.c: New file.
16599 * util/devicemap.c: New file.
16600 * util/deviceiter.c: New file.
16601 * kern/sparc64/ieee1275/init.c: New file.
16602 * include/grub/util/ofpath.h: New file.
16603 * include/grub/util/deviceiter.h: New file.
16604 * util/grub-mkdevicemap.c: Include deviceiter.h.
16605 Implement using grub_util_emit_devicemap_entry and
16606 grub_util_iterate_devices.
16607 * conf/i386-corebook.rmk: Build util/deviceiter.c and
16608 util/devicemap.c into grub-mkdevicemap
16609 * conf/i386-efi.rmk: Likewise.
16610 * conf/i386-ieee1275.rmk: Likewise.
16611 * conf/i386-pc.rmk: Likewise.
16612 * conf/powerpc-ieee1275.rmk: Likewise.
16613 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
16614 images and installation utilities. Build kernel as image
16615 instead of as elf binary. Use common rules as much as possible.
16616
7dd4a573 166172009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 16618
16619 Correct GPT definition
16620
7dd4a573 16621 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 16622 of "attrib" member
16623
c6c5219f 166242009-04-19 Felix Zielcke <fzielcke@z-51.de>
16625
16626 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
16627
0552ff9f 166282009-04-19 David S. Miller <davem@davemloft.net>
16629
16630 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
16631 (grub_rescue_cmd_linux): Rename to...
16632 (grub_cmd_linux): and fix prototype.
16633 (grub_rescue_cmd_initrd): Rename to...
16634 (grub_cmd_initrd): and fix prototype.
16635 (cmd_linux, cmd_initrd): New.
16636 (GRUB_MOD_INIT(linux)): Use grub_register_command().
16637 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
16638
d1a282fc 166392009-04-17 Pavel Roskin <proski@gnu.org>
16640
07c5039f 16641 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
16642 format.
16643 (grub_ohci_transfer): Likewise.
16644
b012002d 16645 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
16646
1bc09c35 16647 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
16648 return without a value. Fix inconsistent indentation.
16649
e0ff9126 16650 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
16651 match struct grub_fs.
16652
d1a282fc 16653 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
16654 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
16655 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
16656 * commands/lspci.c (grub_lspci_iter): Likewise.
16657
a96df3f2 166582009-04-16 Bean <bean123ch@gmail.com>
16659
16660 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
16661 value.
16662
41bb0fe9 166632009-04-15 Pavel Roskin <proski@gnu.org>
16664
16665 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
16666 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
16667 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
16668 definitions.
16669
596c6970 166702009-04-15 Felix Zielcke <fzielcke@z-51.de>
16671
16672 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 16673 that no multiple data or metadata areas are supported and `Unknown
596c6970 16674 metadata header'.
16675
7dd4a573 166762009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 16677
16678 Move loader out of the kernel
16679
16680 * kern/loader.c: moved to ...
16681 * commands/boot.c: ... moved here
16682 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
16683 * commands/boot.c (grub_cmd_boot): moved here. All users updated
16684 * include/grub/kernel.h (grub_machine_fini): export
16685 * include/grub/loader.h (grub_loader_is_loaded): update declaration
16686 (grub_loader_set): likewise
16687 (grub_loader_unset): likewise
16688 (grub_loader_boot): likewise
16689 * conf/common.rmk: new module boot.mod
16690 (pkglib_MODULES): add boot.mod
16691 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
16692 (grub_emu_SOURCES): likewise
16693 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
16694 (grub_emu_SOURCES): likewise
16695 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
16696 (grub_emu_SOURCES): likewise
16697 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
16698 (grub_emu_SOURCES): likewise
16699 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
16700 (grub_emu_SOURCES): likewise
7dd4a573 16701 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
16702 (grub_emu_SOURCES): likewise
0d5d5653 16703 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 16704 (grub_emu_SOURCES): likewise
0d5d5653 16705
7dd4a573 167062009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 16707
16708 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 16709
5999d619 16710 * kern/misc.c (grub_itoa): Removed function
16711 (grub_ltoa): likewise
16712 (grub_vsprintf): use grub_lltoa
16713
7dd4a573 167142009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 16715
16716 Restore grub-emu
16717
16718 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
16719 * conf/i386-coreboot.rmk: likewise
16720 * conf/i386-ieee1275.rmk: likewise
16721 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 16722
20318222 167232009-04-15 Felix Zielcke <fzielcke@z-51.de>
16724
16725 * INSTALL: Add that `./autogen.sh' needs to be run before
16726 `./configure.'.
16727
d05f0df3 167282009-04-14 Bean <bean123ch@gmail.com>
16729
16730 * Makefile.in (pkglib_DATA): Add handler.lst.
16731 (handler.lst): New rule.
16732
16733 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
16734 * conf/i386-coreboot.rmk: Likewise.
16735 * conf/i386-ieee1275.rmk: Likewise.
16736 * conf/i386-efi.rmk: Likewise.
16737 * conf/x86_64-efi.rmk: Likewise.
16738 * conf/powerpc-ieee1275.rmk: Likewise.
16739 * conf/sparc64-ieee1275.rmk: Likewise.
16740
16741 * genhandlerlist.sh: New file.
16742
16743 * genmk.rb: Add rules to generate handler.lst.
16744
16745 * include/grub/normal.h (grub_file_getline): New function definition.
16746 (read_handler_list): Likewise.
16747 (free_handler_list): Likewise.
16748
16749 * include/grub/term.h (grub_term_register_input): Add name parameter
16750 for auto generation of handler.lst.
16751 (grub_term_register_output): Likewise.
16752
16753 * normal/handler.c: New file.
16754
16755 * normal/main.c (get_line): Renamed to grub_file_getline.
16756 (read_config_file): Use the newly renamed grub_file_getline.
16757 (read_command_list): Likewise.
16758 (read_fs_list): Likewise.
16759 (grub_normal_execute): Call read_handler_list to parse handler.lst.
16760 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
16761
16762 * term/efi/console.c (grub_console_init): Add name parameter for auto
16763 generation of handler.lst.
16764 * term/gfxterm.c: Likewise.
16765 * term/i386/pc/at_keyboard.c: Likewise.
16766 * term/i386/pc/console.c: Likewise.
16767 * term/i386/pc/serial.c: Likewise.
16768 * term/i386/pc/vesafb.c: Likewise.
16769 * term/i386/pc/vga.c: Likewise.
16770 * term/i386/pc/vga_text.c: Likewise.
16771 * term/ieee1275/ofconsole.c: Likewise.
16772 * term/usb_keyboard.c: Likewise.
16773
33c846be 167742009-04-14 Bean <bean123ch@gmail.com>
16775
16776 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
16777 properly with null character.
16778
4484e01e 167792009-04-14 Felix Zielcke <fzielcke@z-51.de>
16780
16781 * configure: Remove.
16782 * config.h.in: Likewise.
f93d668e 16783 * stamp-h.in: Likewise.
4484e01e 16784 * DISTLIST: Likewise.
16785 * conf/common.mk: Likewise.
16786 * conf/i386-coreboot.mk: Likewise.
16787 * conf/i386-efi.mk: Likewise.
16788 * conf/i386-ieee1275.mk: Likewise.
16789 * conf/i386.mk: Likewise.
16790 * conf/i386-pc.mk: Likewise.
16791 * conf/powerpc-ieee1275.mk: Likewise.
16792 * conf/sparc64-ieee1275.mk: Likewise.
16793 * conf/x86_64-efi.mk: Likewise.
16794
16795 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
16796 develop on GRUB.
16797
7dd4a573 167982009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 16799 David S. Miller <davem@davemloft.net>
16800
16801 * util/hostdisk.c (make_device_name): Fix buffer length
16802 calculations.
16803
e25b5a8c 168042009-04-14 Felix Zielcke <fzielcke@z-51.de>
16805
16806 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
16807 <sys/param.h> and <sys/sysctl.h>.
16808 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
16809 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
16810 opening the device and reset them afterwards.
16811
1f1f580c 168122009-04-13 Pavel Roskin <proski@gnu.org>
16813
16814 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
16815 Reported by John Stanley <jpsinthemix@verizon.net>
16816
7ebc2d6b 168172009-04-13 Robert Millan <rmh@aybabtu.com>
16818
16819 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 16820 that name for menuentries when appropriate.
7ebc2d6b 16821
d8ba3667 168222009-04-13 Felix Zielcke <fzielcke@z-51.de>
16823
16824 * util/grub.d/10_freebsd.in: Add a missing `fi'.
16825
cba416eb 168262009-04-13 Robert Millan <rmh@aybabtu.com>
16827
16828 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
16829 to Linux, simply abort telling the user it's no longer supported.
16830
a547a745 168312009-04-13 Felix Zielcke <fzielcke@z-51.de>
16832
16833 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 16834 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 16835 `freebsd_loadenv' only when devices.hints exist.
16836
232a769c 168372009-04-13 Pavel Roskin <proski@gnu.org>
16838
16839 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
16840
c3012039 168412009-04-13 Felix Zielcke <fzielcke@z-51.de>
16842
16843 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
16844 partition number.
16845 (grub_drive): Likewise.
16846
234022fe 168472009-04-13 David S. Miller <davem@davemloft.net>
16848
16849 * kern/sparc64/ieee1275/ieee1275.c: New file.
16850 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
16851 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
16852 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
16853 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
16854 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
16855 grub_ieee1275_alloc_physmem): Declare new exported functions.
16856
d8e1836c 16857 * include/grub/sparc64/ieee1275/loader.h: New file.
16858 * include/grub/sparc64/ieee1275/memory.h: Likewise.
16859 * include/grub/sparc64/kernel.h: Likewise.
16860 * loader/sparc64/ieee1275/linux.c: Likewise.
16861
96bd81ec 16862 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
16863 (grub_fstest_SOURCES): Likewise.
16864
6a4737e5 16865 * util/hostdisk.c (make_device_name): Do not make any assumptions
16866 about the length of drive names.
16867
1d7a72fd 16868 * kern/dl.c (grub_dl_load_file): Close file immediately when
16869 we are done using it.
16870
56bc2471 168712009-04-12 David S. Miller <davem@davemloft.net>
16872
16873 * kern/misc.c (grub_ltoa): Fix cast when handling negative
16874 values. Noticed by Pavel Roskin.
16875
df38d0bb 16876 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
16877 target compiler.
7dd4a573 16878
e382e93a 16879 * genmk.rb: Add more flexible image type specification, also
16880 pass --strip-unneeded to objcopy.
16881 * conf/i386-pc.rmk: Use *_FORMAT.
16882 * conf/i386-pc.mk: Rebuilt.
16883
f5dbbca9 16884 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
16885 (OFDISK_HASH_SZ): Define.
16886 (ofdisk_hash): New hash table.
16887 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
16888 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
16889 instead of device phandle which is not unique.
16890
91c88b12 16891 * kern/sparc64/ieee1275/init.c: Delete, replace with...
16892 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
16893 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
16894 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
16895 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
16896 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
16897 GRUB_KERNEL_MACHINE_DATA_END): Define.
16898 (grub_kernel_image_size, grub_total_module_size): Declare.
16899
5b5d4aa5 169002009-04-12 Pavel Roskin <proski@gnu.org>
16901
7dd4a573 16902 * configure.ac: Change the logic when we check for target tools.
16903 Do it when the target is specified and it's different from the
16904 specified value of the host.
5b5d4aa5 16905
c91e1793 169062009-04-11 Felix Zielcke <fzielcke@z-51.de>
16907
16908 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
16909 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
16910 GNU/kFreeBSD. Check if a device is a character device. Use
16911 DIOCGMEDIASIZE to get the size.
16912 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
16913 support for GNU/kFreeBSD.
16914 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
16915 is a character device instead of a block device. Add support for
16916 FreeBSD device names.
16917
16918 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
16919 is a character device instead of a block device.
16920
16921 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
16922 is a character device instead of a block device.
16923
b1ac8644 169242009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
16925
16926 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
16927 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
16928 FreeBSD. Check if a device is a character device. Use
16929 DIOCGMEDIASIZE to get the size.
16930 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
16931 support for FreeBSD.
16932 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
16933 is a character device instead of a block device. Add support for
16934 FreeBSD device names.
16935
16936 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
16937 a character device instead of a block device.
16938 (grub_util_check_char_device): New function.
16939
16940 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
16941 a character device instead of a block device.
16942
16943 * include/grub/util/getroot.h (grub_util_check_char_device): New
16944 prototype.
16945
a3f7515a 169462009-04-11 David S. Miller <davem@davemloft.net>
16947
16948 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
16949 static libgcc.
16950 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
16951 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
16952 function, if present.
16953 (__bswapdi2): Likewise.
16954
0d44993d 16955 * include/grub/sparc64/ieee1275/boot.h: New file.
16956 * boot/sparc64/ieee1275/boot.S: Likewise.
16957 * boot/sparc64/ieee1275/diskboot.S: Likewise.
16958
ed3d2bc2 16959 * kern/misc.c (grub_ltoa): New function.
16960 (grub_vsprintf): Use it to format 'long' integers.
16961
d3bfb59c 169622009-04-10 David S. Miller <davem@davemloft.net>
16963
16964 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
16965 slots are of type grub_ieee1275_cell_t.
16966 (grub_nand_read): Likewise.
16967 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
16968 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
16969 macros are used to compare values in arg/ret block of the call.
16970 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
16971 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
16972 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
16973 grub_ieee1275_instance_to_path, grub_ieee1275_write,
16974 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
16975 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
16976 grub_ieee1275_close, grub_ieee1275_set_property,
16977 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
16978 grub_ieee1275_cell_t.
16979 * kern/ieee1275/openfw.c (grub_map): Likewise.
16980 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
16981 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
16982
450e2238 16983 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
16984 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
16985 (grub_devalias_iterate): Likewise.
16986
7dd4a573 169872009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 16988
16989 UFS improvements
16990
16991 * fs/ufs.c (INODE_NBLOCKS): new definition
16992 (struct grub_ufs_dirent): added fields for non-BSD dirents
16993 (grub_ufs_get_file_block): fixed double indirect handling
16994 (grub_ufs_lookup_symlink): use more robust way to determine whether
16995 symlink is inline
16996 (grub_ufs_find_file): support for non-BSD dirents
16997 (grub_ufs_dir): support for non-BSD dirents
16998
e7e6862a 169992009-04-10 Bean <bean123ch@gnail.com>
17000
17001 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
17002 attribute, otherwise the size would be wrong for i386 platform.
17003
17004 * include/grub/pci.h (grub_pci_read_word): New inline function.
17005 (grub_pci_read_byte): Likewise.
17006 (grub_pci_write): Likewise.
17007 (grub_pci_write_word): Likewise.
17008 (grub_pci_write_byte): Likewise.
17009
17010 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
17011
17012 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
17013 (find_framebuf): Scan pci to locate the frame buffer address.
17014
17015 * commands/efi/fixvideo.c: New file.
17016
17017 * commands/efi/loadbios.c: Likewise.
17018
17019 * commands/memrw.c: Likewise.
17020
17021 * util/grub-dumpbios.in: Likewise.
17022
17023 * conf/common.rmk (grub-dumpbios): New utility.
17024 (pkglib_MODULES): New module memrw.mod.
17025 (memrw_mod_SOURCE): New macro.
17026 (memrw_mod_CFLAGS): Likewise.
17027 (memrw_mod_LDFLAGS): Likewise.
17028
7dd4a573 17029 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17030 fixvideo.mod.
17031 (loadbios_mod_SOURCE): New macro.
17032 (loadbios_mod_CFLAGS): Likewise.
17033 (loadbios_mod_LDFLAGS): Likewise.
17034 (fixvideo_mod_SOURCE): Likewise.
17035 (fixvideo_mod_CFLAGS): Likewise.
17036 (fixvideo_mod_LDFLAGS): Likewise.
17037
7dd4a573 17038 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17039 fixvideo.mod.
17040 (loadbios_mod_SOURCE): New macro.
17041 (loadbios_mod_CFLAGS): Likewise.
17042 (loadbios_mod_LDFLAGS): Likewise.
17043 (fixvideo_mod_SOURCE): Likewise.
17044 (fixvideo_mod_CFLAGS): Likewise.
17045 (fixvideo_mod_LDFLAGS): Likewise.
17046
af63ada2 170472009-04-08 Felix Zielcke <fzielcke@z-51.de>
17048
17049 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
17050
c2cdde70 170512009-04-07 David S. Miller <davem@davemloft.net>
17052
17053 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
17054 support for R_SPARC_OLO10 relocations. Fix compile warning for
17055 R_SPARC_WDISP30 case.
ea3f72cf 17056 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 17057
761319cf 170582009-04-06 Pavel Roskin <proski@gnu.org>
17059
1007d1f5 17060 * include/grub/misc.h (ARRAY_SIZE): New macro.
17061 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
17062 New macro.
17063 * loader/i386/linux.c (allocate_pages): Use free_pages().
17064 (grub_linux_unload): Don't use free_pages().
17065 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
17066 wrong index. Treat all other modes as text modes.
17067 (grub_cmd_linux): Initialize vid_mode unconditionally to
17068 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
17069
761319cf 17070 * commands/help.c (print_command_help): Use cmd->prio, not
17071 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
17072
ea761d40 170732009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 17074
ea761d40 17075 Parttool
17076
17077 * parttool/pcpart.c: new file
17078 * commands/parttool.c: likewise
17079 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
17080 (parttool_mod_SOURCES): new variable
17081 (parttool_mod_CFLAGS): likewise
17082 (parttool_mod_LDFLAGS): likewise
17083 (pcpart_mod_SOURCES): likewise
17084 (pcpart_mod_CFLAGS): likewise
17085 (pcpart_mod_LDFLAGS): likewise
7dd4a573 17086 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 17087 and parttool/pcpart.c
17088 * conf/i386-efi.rmk: likewise
17089 * conf/i386-ieee1275.rmk: likewise
17090 * conf/i386-pc.rmk: likewise
17091 * conf/powerpc-ieee1275.rmk: likewise
17092 * conf/sparc64-ieee1275.rmk: likewise
17093 * conf/x86_64-ieee1275.rmk: likewise
17094
05aaebfb 170952009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17096
17097 Support for mtime and further expandability of dir command
17098
17099 * include/grub/lib/datetime.h: moved to ...
7dd4a573 17100 * include/grub/datetime.h: ... moved here and added
05aaebfb 17101 declaration of grub_unixtime2datetime. All users updated
7dd4a573 17102 * include/grub/fs.h: new syntax for dir and mtime functions in
17103 struct grub_fs
05aaebfb 17104 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
17105 and GRUB_FSHELP_FLAGS_MASK
17106 * commands/ls.c (grub_ls_list_files): Write mtime in long format
17107 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
17108 (grub_ext2_mtime): new function
17109 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
17110 (grub_hfsplus_mtime): new function
17111 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
17112 (GRUB_UFS_ATTR_FILE): likewise
17113 (GRUB_UFS_ATTR_LNK): likewise
17114 (struct grub_ufs_sblock): new fields mtime
17115 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
17116 all users updated
17117 (grub_ufs_dir): mtime support
17118 (grub_ufs_mtime): new function
17119 * fs/affs.c (grub_affs_dir): use new dir syntax
17120 * fs/afs.c (grub_afs_dir): likewise
17121 * fs/cpio.c (grub_cpio_dir): likewise
17122 * fs/fat.c (grub_fat_find_dir): likewise
17123 * fs/hfs.c (grub_hfs_dir): likewise
17124 * fs/iso9660.c (grub_iso9660_dir): likewise
17125 * fs/jfs.c (grub_jfs_dir): likewise
17126 * fs/minix.c (grub_minix_dir): likewise
17127 * fs/ntfs.c (grub_ntfs_dir): likewise
17128 * fs/reiserfs.c (grub_reiserfs_dir): likewise
17129 * fs/sfs.c (grub_sfs_dir): likewise
17130 * fs/xfs.c (grub_xfs_dir): likewise
17131 * util/hostfs.c (grub_hostfs_dir): likewise
17132 * lib/datetime.c: moved to ...
17133 * normal/datetime.c: ... moved here
17134 (grub_unixtime2datetime): new function
17135 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 17136 * normal/completion.c (iterate_dir): use new dir syntax
17137 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 17138 last modification time of a volume
7dd4a573 17139 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 17140 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 17141 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 17142 (normal_mod_SOURCES): likewise
17143 (datetime_mod_SOURCES): Removed lib/datetime.c
17144 * conf/i386-efi.rmk: likewise
7dd4a573 17145 * conf/i386-ieee1275.rmk: likewise
05aaebfb 17146 * conf/i386-pc.rmk: likewise
17147 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17148 * conf/sparc64-ieee1275.rmk: likewise
17149 * conf/x86_64-efi.rmk: likewise
05aaebfb 17150
8a7e1a14 171512009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17152
17153 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 17154
17155 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 17156 on grub_fat_find_dir
17157 (grub_fat_find_dir): use grub_fat_iterate_dir
17158 (grub_fat_label): likewise
17159
04186a9c 171602009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
17161
7dd4a573 17162 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 17163 and command.h
17164 remove extraneous kernel_elf_HEADERS
17165
da4c0bb6 171662009-04-04 Bean <bean123ch@gnail.com>
17167
17168 * include/grub/util/misc.h: Add dummy function fsync for mingw.
17169
17170 * util/misc.c: Likewise.
17171
54ad9555 171722009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
17173
17174 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
17175 instead of grub_printf.
17176
7a6bf9f2 171772009-04-03 Robert Millan <rmh@aybabtu.com>
17178
17179 * loader/i386/linux.c (grub_linux_setup_video): Fill
17180 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
17181 values from `mode info' structure instead of hardcoded
17182 values.
17183
3fcc2083 171842009-04-01 Pavel Roskin <proski@gnu.org>
17185
17186 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
17187 unused now.
17188 * genmk.rb: Likewise.
17189 * configure.ac: Likewise.
17190
5ec9740b 171912009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
17192
17193 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
17194 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
17195
5270cec8 171962009-04-01 David S. Miller <davem@davemloft.net>
17197
17198 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 17199 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 17200 (grub_setjmp): Mark with 'returns_twice' attribute.
17201 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
17202 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
17203 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
17204
9c3dd854 172052009-04-01 Robert Millan <rmh@aybabtu.com>
17206
17207 Reapply fix from 2008-07-28 which was accidentally reverted; also
17208 perform the same fix to a similar check in same function.
17209
17210 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17211 with the same number are found, just use issue a warning with
17212 grub_dprintf(), as this error has been reported to be non-fatal.
17213
0d818b7e 172142009-03-31 Pavel Roskin <proski@gnu.org>
17215
17216 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
17217 for cross-compilation.
17218
95646d92 172192009-03-30 Robert Millan <rmh@aybabtu.com>
17220
17221 Fix i386-ieee1275 build.
17222
17223 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
17224 Remove declaration.
17225
6a003ed1 172262009-03-30 Pavel Roskin <proski@gnu.org>
17227
17228 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
17229 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
17230 zero-terminated, rely only on the strlen value. Fix comparison
17231 of strings differing in length.
17232
92f33540 172332009-03-30 Robert Millan <rmh@aybabtu.com>
17234
17235 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
17236 checking for abi version. Improve error messages on BIOS to notify
17237 user about `linux16' command.
17238
a8c48fd5 172392009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17240
f968172e 17241 Leak fixes
a8c48fd5 17242
f968172e 17243 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
17244 in case of collision
17245 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 17246
9c323f09 172472009-03-29 Robert Millan <rmh@aybabtu.com>
17248
17249 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
17250 set `vid_mode' accordingly.
17251 (grub_linux_boot): Process `vid_mode' and set video mode.
17252
ae68f423 172532009-03-29 Robert Millan <rmh@aybabtu.com>
17254
17255 * util/grub.d/10_linux.in (linux_entry): New function.
17256 Factorize generation of Linux boot entries.
17257
5709cfc4 172582009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
17259
17260 Make the format of Environment Block plain text. The boot loader
17261 part is not tested well yet.
7dd4a573 17262
5709cfc4 17263 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
17264 (buffer): Removed.
17265 (envblk): Likewise.
17266 (usage): Remove "info" and "clear". Add "unset". Update the
17267 description of "set", as this does not delete variables any
17268 longer.
17269 (create_envblk_file): Complete rewrite.
17270 (open_envblk_file): Likewise.
17271 (cmd_info): Removed.
17272 (cmd_list): Likewise.
17273 (cmd_set): Likewise.
17274 (cmd_clear): Likewise.
17275 (list_variables): New function.
17276 (write_envblk): Likewise.
17277 (set_variables): Likewise.
17278 (unset_variables): Likewise.
17279 (main): Complete rewrite.
17280
17281 * commands/loadenv.c (buffer): Removed.
17282 (envblk): Likewise.
17283 (open_envblk_file): New function.
17284 (read_envblk_file): Complete rewrite.
17285 (grub_cmd_load_env): Likewise.
17286 (grub_cmd_list_env): Likewise.
17287 (struct blocklist): New struct.
17288 (free_blocklists): New function.
17289 (check_blocklists): Likewise.
17290 (write_blocklists): Likewise.
17291 (grub_cmd_save_env): Complete rewrite.
17292
17293 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
17294 a plain text signature.
17295 (GRUB_ENVBLK_MAXLEN): Removed.
17296 (struct grub_envblk): Complete rewrite.
17297 (grub_envblk_find): Removed.
17298 (grub_envblk_insert): Likewise.
17299 (grub_envblk_open): New prototype.
17300 (grub_envblk_set): Likewise.
17301 (grub_envblk_delete): Put const to VALUE.
17302 (grub_envblk_iterate): Put const to NAME and VALUE.
17303 (grub_envblk_close): New prototype.
17304 (grub_envblk_buffer): New inline function.
17305 (grub_envblk_size): Likewise.
17306
17307 * lib/envblk.c: Include grub/mm.h.
17308 (grub_env_find): Removed.
17309 (grub_envblk_open): New function.
17310 (grub_envblk_close): Likewise.
17311 (escaped_value_len): Likewise.
17312 (find_next_line): Likewise.
17313 (grub_envblk_insert): Removed.
17314 (grub_envblk_set): New function.
17315 (grub_envblk_delete): Complete rewrite.
17316 (grub_envblk_iterate): Likewise.
17317
a9368fd3 173182009-03-28 Robert Millan <rmh@aybabtu.com>
17319
17320 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
17321 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
17322 variables. Use 16-bit loader.
17323 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
17324 loader.
17325 * kern/i386/loader.S (grub_linux_boot): Rename to ...
17326 (grub_linux16_boot): ... this. Update all users.
17327 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
17328 (grub_linux_boot): ... this. Update all users.
17329
17330 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
17331 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
17332 commands to `linux16' and `initrd16'.
17333 (GRUB_MOD_FINI(linux)): Rename to ...
17334 (GRUB_MOD_FINI(linux16)): ... this.
17335
e4dd5a7e 173362009-03-24 Pavel Roskin <proski@gnu.org>
17337
17338 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
17339 not just for compilation.
17340
c04d6e05 173412009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 Move multiboot helper out of kernel
17344
17345 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
17346 `loader/i386/multiboot_helper.S'.
17347 * conf/i386-coreboot.rmk: Likewise
17348 * conf/i386-ieee1275.rmk: Likewise
17349
17350 * kern/i386/loader.S: Move multiboot helpers from here...
17351 * loader/i386/multiboot_helper.S: ...moved here
17352 * include/grub/i386/loader.h: Move declarations of multiboot
17353 helpers from here...
17354 * include/grub/i386/multiboot.h: ...moved here
17355 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
17356
42a5b3fc 173572009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17358
17359 * kern/env.c (grub_env_context_open): Added an argument to specify
17360 whether a new context inherits exported variables from current
17361 one. This is useful when making a sandbox to interpret a config
17362 file.
17363 All callers updated.
17364
17365 * include/grub/env.h (grub_env_context_open): Updated the prototype.
17366
b28bbc4e 173672009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17368
17369 * kern/env.c (grub_env_context_close): Fix memory leaks.
17370
f04f02e4 173712009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17372
17373 * normal/main.c (grub_normal_execute): Added an argument
17374 BATCH to specify if an interactive interface should be provided
17375 after reading a config file.
17376 All callers updated.
17377 (read_command_list): Prevent being executed twice.
17378 (read_fs_list): Likewise.
17379
42a5b3fc 17380 * include/grub/normal.h (grub_normal_execute): Updated the
17381 prototype.
f04f02e4 17382
41473ac2 173832009-03-22 Pavel Roskin <proski@gno.org>
17384
fbc00b0c 17385 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
17386 _start.
17387 * kern/i386/pc/startup.S: Likewise.
17388 * kern/i386/efi/startup.S: Likewise.
17389 * kern/i386/ieee1275/startup.S: Likewise.
17390 * kern/i386/coreboot/startup.S: Likewise.
17391 * kern/x86_64/efi/startup.S: Likewise.
17392
41473ac2 17393 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
17394 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
17395 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
17396
2274cc8f 173972009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
17398
17399 Bugfixes in multiboot for bugs uncovered by solaris kernel.
17400
17401 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
17402 limit detection.
17403 Use vaddr of correct segment for entry_point.
17404
b1b797cb 174052009-03-21 Bean <bean123ch@gmail.com>
17406
17407 * commands/blocklist.c: Add include file <grub/command.h>, remove
17408 <grub/normal.h> and <grub/arg.h>.
17409 (grub_cmd_blocklist): Use the new command interface.
17410 (GRUB_MOD_INIT): Likewise.
17411 (GRUB_MOD_FINI): Likewise.
17412 * commands/boot.c: Likewise.
17413 * commands/cat.c: Likewise.
17414 * commands/cmp.c: Likewise.
17415 * commands/configfile.c: Likewise.
17416 * commands/crc.c: Likewise.
17417 * commands/echo.c: Likewise.
17418 * commands/halt.c: Likewise.
17419 * commands/handler.c: Likewise.
17420 * commands/hdparm.c: Likewise.
17421 * commands/help.c: Likewise.
17422 * commands/hexdump.c: Likewise.
17423 * commands/loadenv.c: Likewise.
17424 * commands/ls.c: Likewise.
17425 * commands/lsmmap.c: Likewise.
17426 * commands/lspci.c: Likewise.
17427 * commands/loadenv.c: Likewise.
17428 * commands/read.c: Likewise.
17429 * commands/reboot.c: Likewise.
17430 * commands/search.c: Likewise.
17431 * commands/sleep.c: Likewise.
17432 * commands/test.c: Likewise.
17433 * commands/usbtest.c: Likewise.
17434 * commands/videotest.c: Likewise.
17435 * commands/i386/cpuid.c: Likewise.
17436 * commands/i386/pc/halt.c: Likewise.
17437 * commands/i386/pc/play.c: Likewise.
17438 * commands/i386/pc/pxecmd.c: Likewise.
17439 * commands/i386/pc/vbeinfo.c: Likewise.
17440 * commands/i386/pc/vbetest.c: Likewise.
17441 * commands/ieee1275/suspend.c: Likewise.
17442 * disk/loopback.c: Likewise.
17443 * font/font_cmd.c: Likewise.
17444 * hello/hello.c: Likewise.
17445 * loader/efi/appleloader.c: Likewise.
17446 * loader/efi/chainloader.c: Likewise.
17447 * loader/i386/bsd.c: Likewise.
17448 * loader/i386/efi/linux.c: Likewise.
17449 * loader/i386/ieee1275/linux.c: Likewise.
17450 * loader/i386/linux.c: Likewise.
17451 * loader/i386/pc/chainloader.c: Likewise.
17452 * loader/i386/pc/linux.c: Likewise.
17453 * loader/powerpc/ieee1275/linux.c: Likewise.
17454 * loader/multiboot_loader.c: Likewise.
17455 * term/gfxterm.c: Likewise.
17456 * term/i386/pc/serial.c: Likewise.
17457 * term/terminfo.c: Likewise.
17458
17459 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
17460 * term/i386/pc/vga.c: Likewise.
17461 * video/readers/jpeg.c: Likewise.
17462 * video/readers/png.c: Likewise.
17463 * video/readers/tga.c: Likewise.
17464
17465 * util/grub-fstest (cmd_loopback): Removed.
17466 (cmd_blocklist): Likewise.
17467 (cmd_ls): Likewise.
17468 (grub_register_command): Likewise.
17469 (grub_unregister_command): Likewise.
17470 (execute_command): Use grub_command_find to locate command and execute
17471 it.
17472
17473 * include/grub/efi/chainloader.h: Removed.
17474 * loader/efi/chainloader_normal.c: Likewise.
17475 * loader/i386/bsd_normal.c: Likewise.
17476 * loader/i386/pc/chainloader_normal.c: Likewise.
17477 * loader/i386/pc/multiboot_normal.c: Likewise.
17478 * loader/linux_normal.c: Likewise.
17479 * loader/multiboot_loader_normal.c: Likewise.
17480 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
17481
17482 * gencmdlist.sh: Scan new registration command grub_register_extcmd
17483 and grub_register_command_p1.
17484
17485 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
17486 kern/command.c, lib/arg.c and commands/extcmd.c.
17487 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
17488 (minicmd_mod_SOURCES): New variable.
17489 (minicmd_mod_CFLAGS): Likewise.
17490 (minicmd_mod_LDFLAGS): Likewise.
17491 (extcmd_mod_SOURCES): Likewise.
17492 (extcmd_mod_CFLAGS): Likewise.
17493 (extcmd_mod_LDFLAGS): Likewise.
17494 (boot_mod_SOURCES): Removed.
17495 (boot_mod_CFLAGS): Likewise.
17496 (boot_mod_LDFLAGS): Likewise.
17497
17498 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
17499 kern/corecmd.c.
17500 (kernel_img_HEADERS): Add command.h.
17501 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
17502 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
17503 and lib/arg.c.
17504 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
17505 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
17506 remove the corresponding normal mode command.
17507 (normal_mod_SOURCES): Remove normal/arg.c.
17508 * conf/i386-coreboot.rmk: Likewise.
17509 * conf/i386-efi.rmk: Likewise.
17510 * conf/i386-ieee1275.rmk: Likewise.
17511 * conf/powerpc-ieee1275.rmk: Likewise.
17512 * conf/x86_64-efi.rmk: Likewise.
17513
17514 * include/grub/arg.h: Move from here ...
17515 * include/grub/lib/arg.h: ... to here.
17516
17517 * normal/arg.c: Move from here ...
17518 * lib/arg.c: ... to here.
17519
17520 * commands/extcmd.c: New file.
17521 * commands/minicmd.c: Likewise.
17522 * include/grub/command.h: Likewise.
17523 * include/grub/extcmd.h: Likewise.
17524 * kern/command.c: Likewise.
17525 * kern/corecmd.c: Likewise.
17526
17527 * kern/list.c (grub_list_iterate): Return int instead of void.
17528 (grub_list_insert): New function.
17529 (grub_prio_list_insert): Likewise.
17530
17531 * kern/rescue.c (grub_rescue_command): Removed.
17532 (grub_rescue_command_list): Likewise.
17533 (grub_rescue_register_command): Likewise.
17534 (grub_rescue_unregister_command): Likewise.
17535 (grub_rescue_cmd_boot): Move to minicmd.c
17536 (grub_rescue_cmd_help): Likewise.
17537 (grub_rescue_cmd_info): Likewise.
17538 (grub_rescue_cmd_boot): Likewise.
17539 (grub_rescue_cmd_testload): Likewise.
17540 (grub_rescue_cmd_dump): Likewise.
17541 (grub_rescue_cmd_rmmod): Likewise.
17542 (grub_rescue_cmd_lsmod): Likewise.
17543 (grub_rescue_cmd_exit): Likewise.
17544 (grub_rescue_print_devices): Moved to corecmd.c.
17545 (grub_rescue_print_files): Likewise.
17546 (grub_rescue_cmd_ls): Likewise.
17547 (grub_rescue_cmd_insmod): Likewise.
17548 (grub_rescue_cmd_set): Likewise.
17549 (grub_rescue_cmd_unset): Likewise.
7d074e3c 17550 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 17551 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 17552 commands, remove grub_rescue_register_command calls.
b1b797cb 17553
7d074e3c 17554 * normal/command.c (grub_register_command): Removed.
b1b797cb 17555 (grub_unregister_command): Likewise.
17556 (grub_command_find): Likewise.
17557 (grub_iterate_commands): Likewise.
17558 (rescue_command): Likewise.
17559 (export_command): Moved to corecmd.c.
17560 (set_command): Removed.
17561 (unset_command): Likewise.
17562 (insmod_command): Likewise.
17563 (rmmod_command): Likewise.
17564 (lsmod_command): Likewise.
17565 (grub_command_init): Likewise.
17566
17567 * normal/completion.c (iterate_command): Use cmd->prio to check for
17568 active command.
17569 (complete_arguments): Use grub_extcmd_t structure to find options.
17570 (grub_normal_do_completion): Change function grub_iterate_commands to
17571 grub_command_iterate.
17572
17573 * normal/execute.c (grub_script_execute_cmd): No need to parse
17574 argument here.
17575
17576 * normal/main.c (grub_dyncmd_dispatcher): New function.
17577 (read_command_list): Register unload commands as dyncmd.
17578 (grub_cmd_normal): Use new command interface, register rescue,
17579 unregister normal at entry, register normal, unregister rescue at exit.
17580
17581 * include/grub/list.h (grub_list_test_t): New type.
17582 (grub_list_iterate): Return int instead of void.
17583 (grub_list_insert): New function.
17584 (GRUB_AS_NAMED_LIST_P): New macro.
17585 (GRUB_AS_PRIO_LIST): Likewise.
17586 (GRUB_AS_PRIO_LIST_P): Likewise.
17587 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
17588 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
17589 (grub_prio_list): New structure.
17590 (grub_prio_list_insert): New function.
17591 (grub_prio_list_remove): New inline function.
17592
17593 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
17594 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
17595 (GRUB_COMMAND_FLAG_MENU): Likewise.
17596 (GRUB_COMMAND_FLAG_BOTH): Likewise.
17597 (GRUB_COMMAND_FLAG_TITLE): Likewise.
17598 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
17599 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
17600 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
17601 (grub_command): Likewise.
17602 (grub_register_command): Likewise.
17603 (grub_command_find): Likewise.
17604 (grub_iterate_commands): Likewise.
17605 (grub_command_init): Likewise.
17606 (grub_arg_parse): Likewise.
17607 (grub_arg_show_help): Likewise.
17608
17609 * include/grub/rescue.h (grub_rescue_register_command): Removed.
17610 (grub_rescue_unregister_command): Likewise.
17611
17612 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
17613 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
17614 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
17615
17616 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
17617 grub_rescue_cmd_initrd.
17618 * include/grub/i386/loader.h: Likewise.
17619 * include/grub/x86_64/loader.h: Likewise.
17620
17621 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
17622
1f4147aa 176232009-03-21 Bean <bean123ch@gmail.com>
17624
17625 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
17626 instead of stat in mingw environment.
17627
17628 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
17629
17630 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
17631
17632 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
17633 AC_CONFIG_LINKS.
17634
2156d5ba 176352009-03-21 Bean <bean123ch@gmail.com>
17636
17637 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
17638 out of range error.
17639
177b82ca 176402009-03-18 Michel Dänzer <michel@daenzer.net>
17641
17642 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
17643 checking inode flags for EXT4_EXTENTS_FLAG.
17644
14aad807 176452009-03-18 Robert Millan <rmh@aybabtu.com>
17646
17647 * loader/i386/linux.c: Include `<grub/video.h>' and
17648 `<grub/i386/pc/vbe.h>'..
17649 (grub_linux_setup_video): New function. Loosely based on the EFI one.
17650 (grub_linux32_boot): Attempt to configure video settings with
17651 grub_linux_setup_video().
17652 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
17653 to avoid grub_console_fini() which would step out of graphical mode
17654 unconditionally.
17655
8cf83a27 176562009-03-14 Robert Millan <rmh@aybabtu.com>
17657
17658 Fix build on powerpc.
17659 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
17660
40164e75 176612009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
17662
17663 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
17664 background image command.
17665
c58bc32a 176662009-03-12 Colin D Bennett <colin@gibibit.com>
17667
17668 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
17669 (grub_gfxterm_putchar): Extract pairs of identical calls to
17670 draw_cursor out of conditional blocks.
17671
5415144a 176722009-03-11 Pavel Roskin <proski@gnu.org>
17673
17674 * fs/hfs.c (grub_hfs_strncasecmp): New function.
17675 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
17676
6394042e 176772009-03-11 Robert Millan <rmh@aybabtu.com>
17678
17679 * loader/i386/multiboot_elfxx.c
17680 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
17681
b7b50e5f 176822009-03-11 Felix Zielcke <fzielcke@z-51.de>
17683
17684 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
17685 `kern/handler.c'.
17686
1ca7fc96 176872009-03-11 Robert Millan <rmh@aybabtu.com>
17688
17689 * loader/i386/multiboot.c (code_size): New variable.
17690 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 17691 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 17692 4-byte alignment to MBI and others by increasing
7d074e3c 17693 `boot_loader_name_length' appropriately.
1ca7fc96 17694
17695 * loader/i386/multiboot_elfxx.c
17696 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
17697
a83ea1d2 176982009-03-09 Felix Zielcke <fzielcke@z-51.de>
17699
17700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
17701 `fs/ext2.c'.
17702
aa9f3bff 177032009-03-08 Robert Millan <rmh@aybabtu.com>
17704
17705 Make loader/i386/linux.c usable on i386-pc again.
17706
17707 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
17708 memory to heap.
17709 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
17710 `#error' stanza.
17711
d8b3b60e 177122009-03-07 Bean <bean123ch@gmail.com>
17713
17714 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
17715 allocation.
17716
b362c9e9 177172009-03-06 Robert Millan <rmh@aybabtu.com>
17718
17719 Fix display issue on terminals with screen size other than 80x25
17720 (e.g. gfxterm with resolution higher than 640x480).
17721
17722 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 17723 position relative to the center of the terminal instead of relying
b362c9e9 17724 on a hardcoded offset.
17725
9304eef1 177262009-03-04 Robert Millan <rmh@aybabtu.com>
17727
17728 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
17729 installed.
17730
17731 * Makefile.in (host_kernel): New variable.
17732 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
17733 scripts instead of just the windows one.
17734 * configure.ac: Initialize and AC_SUBST `host_kernel'.
17735
eabc95fb 177362009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 17737
17738 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
17739 `kern/handler.c'.
17740 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17741 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17742 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
17743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17744 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17745 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17746
ceb1223c 177472009-03-04 Felix Zielcke <fzielcke@z-51.de>
17748
17749 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
17750 or if there's no space for the disk label and print the partition number on a
17751 invalid magic.
17752
4910684a 177532009-03-04 Felix Zielcke <fzielcke@z-51.de>
17754
17755 * util/misc.c: Include <time.h>.
17756 (grub_millisleep): New function.
17757
7e9ca17a 177582009-03-04 Bean <bean123ch@gmail.com>
17759
17760 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
17761 another option -mno-red-zone.
17762
17763 * commands/handler.c: Change module description.
17764
17765 * kern/handler.c: Add missing space at the end of description line.
17766
17767 * kern/list.c: Likewise.
17768
f501677c 177692009-03-03 Robert Millan <rmh@aybabtu.com>
17770
17771 Move more components to the relocation area, and fix mbi pointer
17772 handling to use the destination rather than the origin (thanks to
17773 Vladimir Serbinenko for spotting).
17774
17775 * loader/i386/multiboot.c (mbi_dest): New variable.
17776 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
17777 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
17778 relocation area.
17779
9902d047 177802009-03-01 Bean <bean123ch@gmail.com>
17781
50fb7002 17782 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 17783 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
17784 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
17785 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
17786
17787 * loader/i386/efi/linux.c (acpi_guid): New variable.
17788 (acpi_guid): Likewise.
17789 (EBDA_SEG_ADDR): New constant.
17790 (LOW_MEM_ADDR): Likewise.
17791 (FAKE_EBDA_SEG): Likewise.
17792 (fake_bios_data): New function.
17793 (grub_linux_boot): Call fake_bios_data.
17794
71b9f361 177952009-03-01 Bean <bean123ch@gmail.com>
17796
17797 * commands/terminal.c: Removed.
17798
17799 * commands/handler.c: New file.
17800
17801 * include/grub/list.h: Likewise.
17802
17803 * include/grub/handler.h: Likewise.
17804
17805 * kern/list.c: Likewise.
17806
17807 * kern/handler.c: Likewise.
17808
17809 * kern/term.h: Include header file <grub/handler.h>.
17810 (grub_term_input): Move next field to the beginning.
17811 (grub_term_output): Likewise.
17812 (grub_term_input_class): New variable.
17813 (grub_term_output_class): Likewise.
17814 (grub_term_register_input): Changed to inline function.
17815 (grub_term_register_output): Likewise.
17816 (grub_term_unregister_input): Likewise.
17817 (grub_term_unregister_output): Likewise.
17818 (grub_term_set_current_input): Likewise.
17819 (grub_term_set_current_output): Likewise.
17820 (grub_term_get_current_input): Likewise.
17821 (grub_term_get_current_output): Likewise.
17822 (grub_term_iterate_input): Removed.
17823 (grub_term_iterate_output): Likewise.
17824
17825 * kern/term.c (grub_term_list_input): Removed.
17826 (grub_term_list_output): Likewise.
17827 (grub_term_input_class): New variable.
17828 (grub_term_output_class): Likewise.
50fb7002 17829 (grub_cur_term_input): Change variable as macro.
71b9f361 17830 (grub_cur_term_output): Likewise.
17831 (grub_term_register_input): Removed.
17832 (grub_term_register_output): Likewise.
17833 (grub_term_unregister_input): Likewise.
17834 (grub_term_unregister_output): Likewise.
17835 (grub_term_set_current_input): Likewise.
17836 (grub_term_set_current_output): Likewise.
17837 (grub_term_iterate_input): Likewise.
17838 (grub_term_iterate_output): Likewise.
17839 (grub_term_get_current_input): Likewise.
17840 (grub_term_get_current_output): Likewise.
17841
17842 * util/grub-editenv.c: Include header file <grub/handler.h>.
17843 (grub_term_get_current_input): Removed.
17844 (grub_term_get_current_output): Likewise.
17845 (grub_term_input_class): New variable.
50fb7002 17846 (grub_term_output_class): Likewise.
71b9f361 17847
17848 * util/grub-fstest.c (grub_term_get_current_input): Removed.
17849 (grub_term_get_current_output): Likewise.
17850 (grub_term_input_class): New variable.
50fb7002 17851 (grub_term_output_class): Likewise.
71b9f361 17852
17853 * util/grub-probe.c (grub_term_get_current_input): Removed.
17854 (grub_term_get_current_output): Likewise.
17855 (grub_term_input_class): New variable.
50fb7002 17856 (grub_term_output_class): Likewise.
71b9f361 17857
17858 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
17859 (grub_term_get_current_output): Likewise.
17860 (grub_term_input_class): New variable.
50fb7002 17861 (grub_term_output_class): Likewise.
71b9f361 17862
17863 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
17864 (terminal_mod_SOURCES): Likewise.
17865 (terminal_mod_CFLAGS): Likewise.
17866 (terminal_mod_LDFLAGS): Likewise.
17867
17868 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
17869 handler.c.
17870 (kernel_img_SOURCES): Add list.c and handler.c.
17871 (kernel_img_HEADERS): Add list.h and handler.h.
17872
17873 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
17874 handler.c.
17875 (kernel_mod_SOURCES): Add list.c and handler.c.
17876 (kernel_mod_HEADERS): Add list.h and handler.h.
17877
17878 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
17879 handler.c.
17880 (kernel_elf_SOURCES): Add list.c and handler.c.
17881 (kernel_elf_HEADERS): Add list.h and handler.h.
17882
17883 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
17884 handler.c.
17885 (kernel_elf_SOURCES): Add list.c and handler.c.
17886 (kernel_elf_HEADERS): Add list.h and handler.h.
17887
17888 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
17889 handler.c.
17890 (kernel_mod_SOURCES): Add list.c and handler.c.
17891 (kernel_mod_HEADERS): Add list.h and handler.h.
17892
17893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
17894 handler.c.
17895 (kernel_elf_SOURCES): Add list.c and handler.c.
17896 (kernel_elf_HEADERS): Add list.h and handler.h.
17897
8a31787f 178982009-02-27 Robert Millan <rmh@aybabtu.com>
17899
17900 Factorize elf32 / elf64 code in Multiboot loader. This will
17901 prevent it from getting out of sync again.
17902
17903 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
17904 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
17905 grub_multiboot_load_elf64): Move from here ...
17906 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
17907 grub_multiboot_load_elf): ... to here (new file).
17908
51cd3dfc 179092009-02-27 Robert Millan <rmh@aybabtu.com>
17910
17911 * util/grub.d/10_linux.in: Rename "single-user mode" to
17912 "recovery mode".
17913
6e8c9c3a 179142009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
17915
17916 Don't leak in SCSI code.
17917 * disk/scsi.c (grub_scsi_close): free `scsi'.
17918
4b6bf4f9 179192009-02-27 Robert Millan <rmh@aybabtu.com>
17920
17921 * loader/i386/pc/multiboot.c: Move from here ...
17922 * loader/i386/multiboot.c: ... to here. Update all users.
17923
b9413424 179242009-02-27 Robert Millan <rmh@aybabtu.com>
17925
17926 Patch from Alexandre Bique <bique.alexandre@gmail.com>
17927 * util/i386/pc/grub-setup.c (setup): Fix directory path.
17928
50fb7002 179292009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 17930
17931 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
17932 b-tree.
17933
8cc50345 179342009-02-27 Robert Millan <rmh@aybabtu.com>
17935
17936 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
17937 `0x' qualifier as 0 when base is specified as parameter).
17938
6e09b8b7 179392009-02-24 Bean <bean123ch@gmail.com>
17940
17941 * configure.ac: Check for -mcmodel=large in x86_64 target.
17942
17943 * include/grub/efi/api.h (efi_call_10): New macro.
17944 (efi_wrap_10): New function.
17945
17946 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
17947 (GRUB_PE32_REL_BASED_HIGH): Likewise.
17948 (GRUB_PE32_REL_BASED_LOW): Likewise.
17949 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
17950 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
17951 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
17952 (GRUB_PE32_REL_BASED_SECTION): Likewise.
17953 (GRUB_PE32_REL_BASED_REL): Likewise.
17954 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
17955 (GRUB_PE32_REL_BASED_DIR64): Likewise.
17956 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
17957
17958 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
17959 issue.
17960
17961 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
17962 (efi_wrap_10): New function.
17963
17964 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
17965
17966 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
17967 MB/MBP model (NV chipset).
17968 (devdata_devs): Add devpath_5 to the list.
17969
17970 * load/i386/efi/linux.c (video_base): Remove variable.
17971 (RGB_MASK): New macro.
17972 (RGB_MAGIC): Likewise.
17973 (LINE_MIN): Likewise.
17974 (LINE_MAX): Likewise.
17975 (FBTEST_STEP): Likewise.
17976 (FBTEST_COUNT): Likewise.
17977 (fb_list): New variable.
17978 (grub_find_video_card): Remove function.
17979 (find_framebuf): New function.
17980 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
17981 line length.
17982
17983 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
17984 problem for x86_64.
17985
74b21bee 179862009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
17987
17988 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
17989
17990 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
17991 coding tool name.
17992
a455f472 179932009-02-22 Robert Millan <rmh@aybabtu.com>
17994
17995 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
17996 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
17997 in our relocation, instead of using it directly from heap. Also
17998 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
17999
6374daf3 180002009-02-21 Robert Millan <rmh@aybabtu.com>
18001
18002 Implement USB keyboard support (based on patch by Marco Gerards)
18003
18004 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
18005 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
18006 (usb_keyboard_mod_LDFLAGS): New variables.
18007
18008 * term/usb_keyboard.c: New file.
18009
8fa4ea70 180102009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18011
18012 Corrected wrong declaration
18013
18014 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
18015
353976ac 180162009-02-14 Christian Franke <franke@computer.org>
18017
18018 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
18019 (grub_lspci_iter): Print class code and programming interface byte.
18020
6aa1169b 180212009-02-14 Christian Franke <franke@computer.org>
18022
18023 * gendistlist.sh: Ignore `.svn' directories.
18024
265372ca 180252009-02-14 Felix Zielcke <fzielcke@z-51.de>
18026
18027 * fs/fat.c: Add 2009 to Copyright line.
18028
9ff516f3 180292009-02-14 Christian Franke <franke@computer.org>
18030
18031 * commands/hdparm.c: New file. Provides `hdparm' command
18032 which sends ATA commands via grub_disk_ata_pass_through ().
18033
18034 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
18035
18036 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
18037 and <grub/cpu/io.h> to include/grub/ata.h.
18038 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
18039 (GRUB_CDROM_SECTOR_SIZE): Remove.
18040 (GRUB_ATA_*): Move to include/grub/ata.h.
18041 (GRUB_ATAPI_*): Likewise.
18042 (enum grub_ata_commands): Likewise.
18043 (enum grub_ata_timeout_milliseconds): Likewise.
18044 (struct grub_ata_device): Likewise.
18045 (grub_ata_regset): Likewise.
18046 (grub_ata_regget): Likewise.
18047 (grub_ata_regset2): Likewise.
18048 (grub_ata_regget2): Likewise.
18049 (grub_ata_check_ready): Likewise.
18050 (grub_ata_wait_not_busy): Remove static, exported in
18051 include/grub/ata.h.
18052 (grub_ata_wait_drq): Likewise.
18053 (grub_ata_pio_read): Likewise.
18054
18055 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
18056 function for hdparm.mod.
18057
18058 * include/grub/ata.h: New file, contains declarations from
18059 disk/ata.c.
18060 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
18061
18062 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
18063 (grub_disk_ata_pass_through): New exported variable.
18064
18065 * kern/disk.c (grub_disk_ata_pass_through): New variable.
18066
772e23da 180672009-02-13 Colin D Bennett <colin@gibibit.com>
18068
18069 Support multiple fallback entries, and provide an API to support
18070 executing default+fallback menu entries. Renamed the `terminal' menu
18071 viewer to `text'.
18072
18073 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
18074 variable declaration.
18075 (grub_menu_execute_callback): New structure declaration.
18076 (grub_menu_execute_callback_t): New typedef.
18077 (grub_menu_execute_with_fallback): New function declaration.
18078 (grub_menu_get_entry): Likewise.
18079 (grub_menu_get_timeout): Likewise.
18080 (grub_menu_set_timeout): Likewise.
18081
18082 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
18083
18084 * normal/menu.c (grub_wait_after_message): Moved to
18085 `normal/menu_text.c'.
18086 (draw_border): Likewise.
18087 (print_message): Likewise.
18088 (print_entry): Likewise.
18089 (print_entries): Likewise.
18090 (grub_menu_init_page): Likewise.
18091 (get_entry_number): Likewise.
18092 (print_timeout): Likewise.
18093 (run_menu): Likewise.
18094 (grub_menu_execute_entry): Likewise.
18095 (show_text_menu): Likewise.
18096 (get_and_remove_first_entry_number): New function.
18097 (grub_menu_execute_with_fallback): Likewise.
18098 (get_entry): Renamed to ...
18099 (grub_menu_get_entry): .. this and made it global.
18100 (get_timeout): Renamed to ...
18101 (grub_menu_get_timeout): ... this and made it global.
18102 (set_timeout): Renamed to ...
18103 (grub_menu_set_timeout): ... this and made it global.
18104 (grub_normal_terminal_menu_viewer): Renamed to ...
18105 (grub_normal_text_menu_viewer): ... this.
18106
18107 * normal/menu_text.c: New file. Extracted text-menu-specific code
18108 from normal/menu.c.
18109
18110 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
18111 (normal_mod_SOURCES): Likewise.
18112
18113 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18114 (normal_mod_SOURCES): Likewise.
18115
18116 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18117 (normal_mod_SOURCES): Likewise.
18118
18119 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
18120 (normal_mod_SOURCES): Likewise.
18121
18122 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18123 (normal_mod_SOURCES): Likewise.
18124
18125 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18126 (normal_mod_SOURCES): Likewise.
18127
18128 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18129 (normal_mod_SOURCES): Likewise.
18130
16ac430e 181312009-02-11 Robert Millan <rmh@aybabtu.com>
18132
18133 * util/grub.d/00_header.in: Update old reference to `font' command.
18134
06ff20fc 181352009-02-10 Felix Zielcke <fzielcke@z-51.de>
18136
18137 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
18138
18139 Based on patch from Javier Martín.
18140
96da9407 181412009-02-09 Felix Zielcke <fzielcke@z-51.de>
18142
18143 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 18144 to avoid false positives with FAT.
96da9407 18145 (grub_fstest_SOURCES): Likewise.
18146 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18147 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18148 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18149 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18150 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18151 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18152
6dca6fe4 181532009-02-09 Felix Zielcke <fzielcke@z-51.de>
18154
06ff20fc 18155 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 18156 bpb.version_specific.fat12_or_fat16.fstype and
18157 bpb.version_specific.fat32.fstype.
18158
2550c62f 181592009-02-08 Robert Millan <rmh@aybabtu.com>
18160
be110b30 18161 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 18162
56978920 181632009-02-08 Robert Millan <rmh@aybabtu.com>
18164
18165 * Makefile.in (host_os, host_cpu): New variables.
18166 (target_os): Remove. Update all users.
18167
d64399b5 181682009-02-08 Marco Gerards <marco@gnu.org>
18169
18170 * Makefile.in (enable_grub_emu_usb): New variable.
18171 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
18172 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
18173 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
18174 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
18175 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
18176 `usbtest.mod' and `usbms.mod'.
18177 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
18178 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
18179 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
18180 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
18181 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
18182 variables.
18183
18184 * disk/usbms.c: New file.
18185
18186 * include/grub/usb.h: Likewise.
18187
18188 * include/grub/usbtrans.h: Likewise.
18189
18190 * include/grub/usbdesc.h: Likewise.
18191
18192 * bus/usb/usbtrans.c: Likewise.
18193
18194 * bus/usb/ohci.c: Likewise.
18195
18196 * bus/usb/uhci.c: Likewise.
18197
18198 * bus/usb/usbhub.c: Likewise.
18199
18200 * bus/usb/usb.c: Likewise.
18201
18202 * commands/usbtest.c: Likewise.
18203
18204 * util/usb.c: Likewise.
50fb7002 18205
d64399b5 18206 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
18207
18208 * configure.ac: Test for libusb presence.
50fb7002 18209
d64399b5 18210 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
18211
2b40d6bb 182122009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
18213
18214 * kern/mm.c: Add more comments.
18215
73a4ce81 182162009-02-08 Robert Millan <rmh@aybabtu.com>
18217
18218 Patch from Javier Martín.
18219 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
18220 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
18221
f821ce59 182222009-02-08 Robert Millan <rmh@aybabtu.com>
18223
18224 * fs/cpio.c: Split tar functionality to ...
18225 * fs/tar.c: ... here (new file). Update all users.
18226
aebfc4b0 182272009-02-07 Robert Millan <rmh@aybabtu.com>
18228
18229 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
18230 backward-incompatible features.
18231
18232 Based on patch from Javier Martín, with some adjustments.
18233
50fb7002 182342009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 18235
18236 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
18237
0bb5115e 182382009-02-07 Robert Millan <rmh@aybabtu.com>
18239
18240 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
18241 position of `disk/lvm.c' to ensure grub_init_all() always picks it
18242 after the RAID stuff.
18243
38a0f8e7 182442009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
18245
50fb7002 18246 Fixes problem when running vbetest command as reported by
38a0f8e7 18247 Vladimir Serbinenko <phcoder@gmail.com>.
18248
18249 * (grub_vbe_set_video_mode): Fixed problem with text modes.
18250
3143cc1c 182512009-02-04 Felix Zielcke <fzielcke@z-51.de>
18252
18253 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
18254 /dev/md/NpN style mdraid devices.
18255
9cba6fce 182562009-02-03 Felix Zielcke <fzielcke@z-51.de>
18257
18258 * util/unifont2pff.rb: Remove.
18259
e507a2c1 182602009-02-03 Felix Zielcke <fzielcke@z-51.de>
18261
18262 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
18263 `#'.
18264
d2c2b4cd 182652009-02-03 Felix Zielcke <fzielcke@z-51.de>
18266
18267 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
18268 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18269 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18270 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18271 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18272 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18273 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18274
b4315fb0 182752009-02-02 Christian Franke <franke@computer.org>
18276
18277 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
18278
de3aa260 182792009-02-01 Felix Zielcke <fzielcke@z-51.de>
18280
7c3ff286 18281 * INSTALL: Note that we now require at least autoconf 2.59 and
18282 that LZO is optional.
de3aa260 18283
825a182b 182842009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
18285
18286 Base on patch on bug #24154 created by Tomas Tintera
18287 <trosos@seznam.cz>.
18288
18289 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
18290
a69ef770 182912009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
18292
7c3ff286 18293 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 18294 <bero@arklinux.org>.
18295
18296 * normal/parser.y (script_init): Add missing semicolon.
18297
6fa42fa6 182982009-01-31 Colin D Bennett <colin@gibibit.com>
18299
7c3ff286 18300 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 18301 (free_menu_entry_classes): Added.
18302 (grub_normal_menu_addentry): Added class property handling.
18303 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
18304 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
18305
18306 * normal/menu_viewer.c: New file.
18307
18308 * normal/menu.c (run_menu_entry): Renamed to ...
18309 (grub_menu_execute_entry): ... this and made it as global.
18310 (grub_menu_run): Renamed to ...
18311 (show_text_menu): ... this and made it local.
18312 (show_text_menu): Adapt to new function names.
18313 (grub_normal_terminal_menu_viewer): New global variable.
18314
18315 * include/grub/menu.h: New file.
18316
18317 * include/grub/menu_viewer.h: New file.
18318
18319 * include/grub/normal.h: Added include to grub/menu.h.
18320 (grub_menu_entry): Moved to include/grub/menu.h.
18321 (grub_menu_entry_t): Likewise.
18322 (grub_menu): Likewise.
18323 (grub_menu_t): Likewise.
18324 (grub_normal_terminal_menu_viewer): Added.
18325 (grub_menu_execute_entry): Likewise.
18326 (grub_menu_run): Removed.
18327
18328 * DISTLIST: Added include/grub/menu.h.
18329 Added include/grub/menu_viewer.h.
18330 Added normal/menu_viewer.c.
18331
183322009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
18333
18334 * normal/execute.c (grub_script_execute_menuentry): Changed to use
18335 arglist for menutitle arguments.
18336
18337 * normal/main.c (grub_normal_menu_addentry): Likewise.
18338
18339 * normal/parser.y (menuentry): Likewise.
18340
18341 * normal/script.c (grub_script_create_cmdmenu): Likewise.
18342
18343 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
18344 (grub_script_create_cmdmenu): Likewise.
18345
18346 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
18347
18348 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
18349 changes.
18350
18351 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
18352
18353 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
18354
18355 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
18356
18357 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18358
18359 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18360
18361 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18362
56192c23 183632009-01-30 Christian Franke <franke@computer.org>
18364
18365 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
18366 in option help text.
18367
d72521b3 183682009-01-27 Pavel Roskin <proski@gnu.org>
18369
18370 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
18371
994b5e84 183722009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
18373
18374 * commands/lsmmap.c: Add include to grub/machine/memory.h.
18375
18376 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
18377
18378 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
18379 unregister function.
18380
6a7eab2c 183812009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
18382
18383 * disk/scsi.c (grub_scsi_read): Fix sign problem.
18384
18385 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
18386
18387 * util/grub-mkfont.c (usage): Fix typo.
18388
18389 * util/elf/grub-mkimage.c (load_modules): Fix warning.
18390
1806b56e 183912009-01-26 Daniel Mierswa <impulze@impulze.org>
18392
3fb18f09 18393 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
18394
336e1fb9 18395 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
18396
1806b56e 18397 * kern/misc.c (grub_strcasecmp): New function.
18398 (grub_strcasecmp): Use grub_size_t instead of int for length.
18399 Fix return value.
18400 * include/grub/misc.h: Update function prototypes.
18401
580b2a0f 184022009-01-26 Robert Millan <rmh@aybabtu.com>
18403
18404 * configure.ac: Fix cross-compilation check.
ef257b36 18405
d31c24f1 184062009-01-22 Christian Franke <franke@computer.org>
18407
18408 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
18409 (precision) digit string. Allow `.format2' without `format1' (width).
18410 Limit input chars for `%s' output to `format2' if specified. This is
18411 compatible with standard printf ().
18412
3138b44c 184132009-01-22 Christian Franke <franke@computer.org>
18414
18415 * disk/ata.c (grub_ata_wait_status): Replace by ...
18416 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
18417 other status bits may be invalid while BSY is asserted.
18418 (grub_ata_check_ready): New function.
18419 (grub_ata_cmd): Removed.
18420 (grub_ata_wait_drq): New function.
18421 (grub_ata_strncpy): Remove inline.
18422 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
18423 and error check now done by grub_ata_wait_drq ().
18424 (grub_ata_pio_write): Likewise.
18425 (grub_atapi_identify): Set DEV before check for !BSY. Use
18426 grub_ata_wait_drq () to wait for data.
18427 (grub_ata_device_initialize): Add status register check to
18428 detect missing SATA slave devices. Add debug messages.
18429 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
18430 (grub_atapi_packet): Set DEV before check for !BSY. Replace
18431 transfer loop by grub_ata_pio_write ().
18432 (grub_ata_identify): Set DEV before check for !BSY. Use
18433 grub_ata_wait_drq () to wait for data.
ef257b36 18434 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 18435 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
18436 read/write in one loop. Fix invalid command on write. Fix incomplete
18437 command on (size % batch) == 0. Add missing error check after write of
18438 last block. Add debug messages.
18439 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
18440
59a64ef6 184412009-01-19 Christian Franke <franke@computer.org>
18442
18443 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
18444 (GRUB_ATAPI_IREASON_*): Likewise.
18445 (grub_ata_pio_write): Fix timeout error return.
18446 (grub_atapi_identify): Add grub_ata_wait () after cmd.
18447 (grub_atapi_wait_drq): New function.
18448 (grub_atapi_packet): New parameter `size'.
18449 Use grub_atapi_wait_drq () and direct write instead of
18450 grub_ata_pio_write ().
18451 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
18452 reads the number of bytes requested by the device for each DRQ
18453 assertion.
18454 (grub_atapi_write): Remove old implementation, return not
18455 implemented instead.
18456
1cfe20b3 184572009-01-19 Christian Franke <franke@computer.org>
18458
18459 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
18460 of 512 to calculate data size.
18461 (grub_scsi_read12): Likewise.
18462 (grub_scsi_write10): Likewise.
18463 (grub_scsi_write12): Likewise.
18464 (grub_scsi_read): Adjust size according to blocksize.
18465 Add checks for invalid blocksize and unaligned transfer.
18466
bee5fe5d 184672009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
18468
18469 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
18470
ef257b36 18471 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 18472 width glyphs.
18473
3e643f8c 184742009-01-19 Robert Millan <rmh@aybabtu.com>
18475
18476 * config.guess: Update to latest version from config git.
18477 * config.sub: Likewise.
18478
4fa80998 184792009-01-17 Felix Zielcke <fzielcke@z-51.de>
18480
18481 * Makefile.in: Change font compilation to use new grub-mkfont instead
18482 of java version.
18483
18484 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
18485 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
18486 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
18487 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
18488 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
18489 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
18490 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
18491 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
18492 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
18493
7086085b 184942009-01-16 Christian Franke <franke@computer.org>
18495
18496 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
18497 (enum grub_ata_timeout_milliseconds): New enum.
18498 (grub_ata_wait_status): Add parameter milliseconds.
18499 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
18500 recovery from timed-out commands.
18501 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
18502 return grub_errno instead of REG_ERROR.
18503 (grub_ata_pio_write): Add parameter milliseconds.
18504 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
18505 Pass milliseconds to grub_ata_wait_status () and
18506 grub_ata_pio_read ().
18507 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
18508 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
18509 grub_ata_wait_status (). Fix IDENTIFY timeout check.
18510 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
18511 It is not suitable for device detection, because DEV bit is ignored,
18512 the command may run too long, and not all devices set the signature
18513 properly.
18514 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
18515 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
18516 Fix device selection, DEV bit must be set first to address the registers
18517 of the correct device.
18518 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
18519 grub_ata_pio_read/write ().
18520 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
18521 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
18522
4a412913 185232009-01-13 Carles Pina i Estany <carles@pina.cat>
18524
18525 * util/grub-editenv.c (main): Use fseeko(), not fseek().
18526
7795c55e 185272009-01-13 Bean <bean123ch@gmail.com>
d913988c 18528
18529 * util/grub-mkfont.c (write_font): forget to remove some debug code.
18530
7795c55e 185312009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 18532
18533 * Makefile.in: (enable_grub_mkfont): New variable.
18534 (freetype_cflags): Likewise.
18535 (freetype_libs): Likewise.
18536
18537 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
18538 (grub_mkfont_SOURCES): New variable.
18539 (grub_mkfont_CFLAGS): Likewise.
18540 (grub_mkfont_LDFLAGS): Likewise.
18541
18542 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
18543 library if `--enable-grub-mkfont' is requested.
18544 (enable_grub_mkfont): New variable.
18545 (freetype_cflags): Likewise.
18546 (freetype_libs): Likewise.
18547
18548 * util/grub-mkfont.c: New file.
18549
093af1fe 185502009-01-12 Christian Franke <franke@computer.org>
18551
18552 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
18553 mode check. Fix setting of compat_use[].
18554
f36cc108 185552009-01-10 Robert Millan <rmh@aybabtu.com>
18556
18557 Update a few copyright years which we forgot to do in 2008 (only for
18558 files whose changes made in 2008 were copyright-significant)
18559
18560 * Makefile.in: Add 2008 to Copyright line.
18561 * disk/ieee1275/ofdisk.c: Likewise.
18562 * disk/efi/efidisk.c: Likewise.
18563 * kern/dl.c: Likewise.
18564 * kern/sparc64/ieee1275/init.c: Likewise.
18565 * kern/mm.c: Likewise.
18566 * kern/efi/mm.c: Likewise.
18567 * boot/i386/pc/boot.S: Likewise.
18568 * genfslist.sh: Likewise.
18569 * fs/iso9660.c: Likewise.
18570 * fs/hfs.c: Likewise.
18571 * fs/jfs.c: Likewise.
18572 * fs/minix.c: Likewise.
18573 * fs/ufs.c: Likewise.
18574 * gensymlist.sh.in: Likewise.
18575 * genkernsyms.sh.in: Likewise.
18576 * include/grub/misc.h: Likewise.
18577 * include/grub/types.h: Likewise.
18578 * include/grub/symbol.h: Likewise.
18579 * include/grub/elf.h: Likewise.
18580 * include/grub/kernel.h: Likewise.
18581 * include/grub/disk.h: Likewise.
18582 * include/grub/dl.h: Likewise.
18583 * include/grub/i386/linux.h: Likewise.
18584 * include/grub/i386/pc/biosdisk.h: Likewise.
18585 * include/grub/efi/api.h: Likewise.
18586 * include/grub/efi/pe32.h: Likewise.
18587 * include/grub/util/misc.h: Likewise.
18588 * normal/execute.c: Likewise.
18589 * normal/arg.c: Likewise.
18590 * normal/completion.c: Likewise.
18591 * normal/lexer.c: Likewise.
18592 * normal/parser.y: Likewise.
18593 * normal/misc.c: Likewise.
18594 * commands/i386/pc/vbeinfo.c: Likewise.
18595 * commands/hexdump.c: Likewise.
18596 * commands/terminal.c: Likewise.
18597 * commands/ls.c: Likewise.
18598 * commands/help.c: Likewise.
18599 * partmap/pc.c: Likewise.
18600 * loader/efi/chainloader.c: Likewise.
18601 * loader/multiboot_loader.c: Likewise.
18602 * loader/i386/pc/multiboot2.c: Likewise.
18603 * term/efi/console.c: Likewise.
18604 * term/i386/pc/serial.c: Likewise.
18605 * util/lvm.c: Likewise.
18606 * util/console.c: Likewise.
18607 * util/i386/efi/grub-mkimage.c: Likewise.
18608 * util/raid.c: Likewise.
18609
7f02114b 186102009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
18611
18612 * commands/videotest.c: Removed include to grub/machine/memory.h.
18613
18614 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
18615 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
18616 (video_mod_SOURCES): Removed.
18617 (video_mod_CFLAGS): Likewise.
18618 (video_mod_LDFLAGS): Likewise.
18619 (gfxterm_mod_SOURCES): Likewise.
18620 (gfxterm_mod_CFLAGS): Likewise.
18621 (gfxterm_mod_LDFLAGS): Likewise.
18622 (videotest_mod_SOURCES): Likewise.
18623 (videotest_mod_CFLAGS): Likewise.
18624 (videotest_mod_LDFLAGS): Likewise.
18625 (bitmap_mod_SOURCES): Likewise.
18626 (bitmap_mod_CFLAGS): Likewise.
18627 (bitmap_mod_LDFLAGS): Likewise.
18628 (tga_mod_SOURCES): Likewise.
18629 (tga_mod_CFLAGS): Likewise.
18630 (tga_mod_LDFLAGS): Likewise.
18631 (jpeg_mod_SOURCES): Likewise.
18632 (jpeg_mod_CFLAGS): Likewise.
18633 (jpeg_mod_LDFLAGS): Likewise.
18634 (png_mod_SOURCES): Likewise.
18635 (png_mod_CFLAGS): Likewise.
18636 (png_mod_LDFLAGS): Likewise.
18637
18638 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
18639 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
18640 (video_mod_SOURCES): Added.
18641 (video_mod_CFLAGS): Likewise.
18642 (video_mod_LDFLAGS): Likewise.
18643 (videotest_mod_SOURCES): Likewise.
18644 (videotest_mod_CFLAGS): Likewise.
18645 (videotest_mod_LDFLAGS): Likewise.
18646 (bitmap_mod_SOURCES): Likewise.
18647 (bitmap_mod_CFLAGS): Likewise.
18648 (bitmap_mod_LDFLAGS): Likewise.
18649 (tga_mod_SOURCES): Likewise.
18650 (tga_mod_CFLAGS): Likewise.
18651 (tga_mod_LDFLAGS): Likewise.
18652 (jpeg_mod_SOURCES): Likewise.
18653 (jpeg_mod_CFLAGS): Likewise.
18654 (jpeg_mod_LDFLAGS): Likewise.
18655 (png_mod_SOURCES): Likewise.
18656 (png_mod_CFLAGS): Likewise.
18657 (png_mod_LDFLAGS): Likewise.
18658 (gfxterm_mod_SOURCES): Likewise.
18659 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 18660 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 18661
18662 * term/gfxterm.c: Removed include to grub/machine/memory.h,
18663 grub/machine/console.h.
18664
644fff97 186652009-01-04 Jerone Young <jerone@gmail.com>
18666
18667 Make on screen instructions clearer
18668
18669 Based on patch created by Jidanni <jidanni@jidanni.org>
18670
18671 * normal/menu.c: print clearer instructions on the screen
18672
1e901a75 186732009-01-02 Colin D Bennett <colin@gibibit.com>
18674
18675 New font engine.
34c44600 18676
1e901a75 18677 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
18678 build system and fixed gfxterm.c to work with different sized fonts.
18679
18680 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 18681
1e901a75 18682 * configure: Re-generated.
34c44600 18683
1e901a75 18684 * DISTLIST: Removed font/manager.c.
18685 Added font/font.c.
18686 Added font/font_cmd.c.
34c44600 18687
1e901a75 18688 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
18689 compilation.
34c44600 18690
1e901a75 18691 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 18692
18693 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 18694
18695 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 18696
1e901a75 18697 * normal/menu.c: Likewise.
34c44600 18698
1e901a75 18699 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
18700 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 18701
1e901a75 18702 * include/grub/font.h: Replaced with new file.
34c44600 18703
1e901a75 18704 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
18705 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
18706 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
18707 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
18708 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 18709 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 18710 fg_red, fg_green, fg_blue, fg_alpha.
18711 (grub_video_adapter): Removed blit_glyph.
34c44600 18712 (grub_video_blit_glyph): Removed.
18713
1e901a75 18714 * font/manager.c: Removed file.
34c44600 18715
18716 * font/font.c: New file.
18717
1e901a75 18718 * font/font_cmd.c: Likewise.
34c44600 18719
1e901a75 18720 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 18721
1e901a75 18722 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
18723 (grub_video_vbe_map_rgba): Likewise.
18724 (grub_video_vbe_unmap_color_int): Likewise.
18725 (grub_video_vbe_blit_glyph): Removed.
18726 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 18727
1e901a75 18728 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
18729 (get_pixel): Likewise.
34c44600 18730 (set_pixel): Likewise.
18731
1e901a75 18732 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 18733
1e901a75 18734 * term/gfxterm.c: Adapted to new font engine.
34c44600 18735
1e901a75 18736 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 18737
1e901a75 18738 * term/i386/pc/vga.c: Likewise.
34c44600 18739
1e901a75 18740 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 18741
1e901a75 18742 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 18743
1e901a75 18744 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 18745
1e901a75 18746 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 18747
1e901a75 18748 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 18749
1e901a75 18750 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 18751
1e901a75 18752 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 18753
1e901a75 18754 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 18755
1e901a75 18756 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
18757
18758 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 18759
1e901a75 18760 * util/grub-mkconfig_lib.in: Changed font extension.
18761
278922e8 187622008-12-28 Felix Zielcke <fzielcke@z-51.de>
18763
18764 * util/getroot.c (grub_util_get_grub_dev): Add support for
18765 /dev/md/dNNpNN style partitionable mdraid devices.
18766
3ced05cf 187672008-12-12 Alex Smith <alex@alex-smith.me.uk>
18768
18769 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
18770 at a time limit of the PXE TFTP API correctly.
18771 (grub_pxefs_close): Likewise.
18772
7fd0ee30 187732008-11-29 Robert Millan <rmh@aybabtu.com>
18774
34c44600 18775 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 18776 grub_ata_device_initialize() calls.
18777
34c44600 187782008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 18779
18780 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
18781 iteration failed.
18782 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
18783
89313780 187842008-11-28 Robert Millan <rmh@aybabtu.com>
18785
18786 Fix build on powerpc-ieee1275. Based on patch created by
18787 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
18788 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
18789 `kern/ieee1275/mmap.c'.
18790 * include/grub/powerpc/ieee1275/memory.h: New file.
18791
15257703 18792 Provide grub-install on coreboot.
18793 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
18794 (grub_install_SOURCES): New variable.
18795 * util/i386/pc/grub-install.in: Add a few condition checks to make it
18796 usable on coreboot.
18797
9fc5388a 187982008-11-25 Felix Zielcke <fzielcke@z-51.de>
18799
18800 * util/grub-fstest.c (grub_term_get_current_input): Change return type
18801 to `grub_term_input_t'.
18802 (grub_term_get_current_output): Change return type to
18803 `grub_term_output_t'.
18804
bc3a2f31 188052008-11-22 Robert Millan <rmh@aybabtu.com>
18806
34c44600 18807 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 18808 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
18809 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
18810 grub_vga_text_cls().
18811
80fc88f2 18812 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 18813 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 18814
cbf36fd3 18815 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
18816 to 0x200000 (avoids trouble with some OFW implementations, and matches
18817 with the one in Yaboot).
18818 Reported by Manoel Abranches
18819
73e8e268 188202008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 18821
18822 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
18823 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
18824
73e8e268 18825 * util/grub-mkconfig_lib.in (grub_warn): New function.
18826 (convert_system_path_to_grub_path): Use grub_warn() when issuing
18827 warnings, to obtain consistent formatting.
18828 * util/grub.d/00_header.in: Likewise.
18829 * util/update-grub_lib.in: Likewise.
18830
e94045a1 18831 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 18832 Move comment text to `#error' stanza.
e94045a1 18833
79d29fd7 18834 Harmonize ieee1275's grub_available_iterate() with the generic
18835 grub_machine_mmap_iterate() interface (fixes a recently-introduced
18836 build problem on i386-ieee1275):
18837 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
18838 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
18839 parameter `type'. Update all users of this function.
18840 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
18841 `kern/ieee1275/mmap.c'.
18842 * kern/ieee1275/init.c
18843 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
18844 with ...
18845 (grub_machine_mmap_iterate): ... this.
18846 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
18847 return type to `grub_err_t'. Update all implementations of this
18848 function prototype.
18849 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
18850 Likewise.
18851
60d6b16e 18852 Add `lsmmap' command (lists firmware-provided memory map):
18853 * commands/lsmmap.c: New file.
18854 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
18855 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
18856 variables.
18857 * conf/powerpc-ieee1275.rmk: Likewise.
18858 * conf/i386-coreboot.rmk: Likewise.
18859 * conf/i386-ieee1275.rmk: Likewise.
18860
ebaaf49b 188612008-11-19 Robert Millan <rmh@aybabtu.com>
18862
18863 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 18864 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
18865 constraints to initrd allocation (based on code from
18866 loader/i386/pc/linux.c). Without them, initrd was allocated too high
18867 for Linux to find it.
ebaaf49b 18868
dfab719f 188692008-11-14 Robert Millan <rmh@aybabtu.com>
18870
18871 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
18872 order to cope with duplicate slashes.
18873
10fc3eb9 188742008-11-14 Robert Millan <rmh@aybabtu.com>
18875
18876 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
18877 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
18878 don't want to mess with lower memory, because it is used in the Linux
18879 loader.
18880
18881 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 18882 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 18883 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
18884 is in our heap (probably as a result of it being corrupted during
2f2a3442 18885 decompression). Add #error instance with comment to explain why this
18886 loader isn't currently usable on PC/BIOS.
10fc3eb9 18887
e2e07847 188882008-11-14 Robert Millan <rmh@aybabtu.com>
18889
18890 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 18891 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 18892
fe8e8d69 188932008-11-12 Robert Millan <rmh@aybabtu.com>
18894
18895 Make loader/i386/linux.c buildable on i386-pc (although disabled).
18896
18897 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
18898 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
18899 from here ...
18900 * include/grub/i386/pc/memory.h: ... to here.
18901
976b07d0 189022008-11-12 Robert Millan <rmh@aybabtu.com>
18903
18904 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
18905 split).
18906
18907 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
18908 (grub_console_cur_color, grub_console_real_putchar)
18909 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
18910 (grub_console_setcolorstate, grub_console_setcolor)
18911 (grub_console_getcolor): Move from here ...
18912 * include/grub/i386/vga_common.h: ... to here (new file).
18913
18914 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
18915 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
18916 `<grub/i386/io.h>'.
18917 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
18918 `<grub/i386/vga_common.h>'.
18919
76679cd3 189202008-11-12 Robert Millan <rmh@aybabtu.com>
18921
18922 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
18923 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
18924 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
18925 variables.
18926 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
18927 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
18928
18929 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
18930 grub_console_init() with call to grub_vga_text_init().
18931 (grub_machine_fini): Replace call to
18932 grub_console_fini() with call to grub_vga_text_fini() and
18933 grub_at_keyboard_fini().
18934
18935 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
18936 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
18937 (grub_console_setcolorstate, grub_console_setcolor)
18938 (grub_console_getcolor): New function prototypes.
18939
18940 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
18941 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
18942 (grub_vga_text_setcursor): Static-ize.
18943 (grub_vga_text_term): New structure.
18944 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
18945
18946 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
18947 (grub_console_cur_color, grub_console_standard_color)
18948 (grub_console_normal_color, grub_console_highlight_color)
18949 (map_char, grub_console_putchar, grub_console_getcharwidth)
18950 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
18951 (grub_console_getcolor): Move from here ...
18952 * term/i386/vga_common.c: ... to here (same function names).
18953
95b841d3 189542008-11-12 Robert Millan <rmh@aybabtu.com>
18955
18956 Use newly-added Multiboot support in coreboot.
18957
18958 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
18959 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
18960
18961 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
18962 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
18963 (codestart): Store the MBI in `startup_multiboot_info' when we're
18964 being loaded using Multiboot.
18965
18966 * kern/i386/coreboot/init.c (grub_machine_init): Move
18967 grub_at_keyboard_init() call to beginning of function (useful for
18968 debugging). Call grub_machine_mmap_init() before attempting to use
18969 grub_machine_mmap_iterate().
18970 (grub_lower_mem, grub_upper_mem): Move from here ...
18971 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
18972 here (new file).
18973
18974 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
18975 function prototype.
18976
761ca975 189772008-11-12 Robert Millan <rmh@aybabtu.com>
18978
18979 Fix a regression introduced by the at_keyboard.mod split. Because
18980 some terminals are default on some platforms and non-default on
18981 others, the first terminal being registered determines which is
18982 going to be default.
18983
18984 * kern/term.c (grub_term_register_input): If this is the first
18985 terminal being registered, set it as the current one.
18986 (grub_term_register_output): Likewise.
18987
18988 * term/efi/console.c (grub_console_init): Do not call
18989 grub_term_set_current_output() or grub_term_set_current_input().
18990 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
18991 * term/i386/pc/console.c (grub_console_init): Likewise.
18992 (grub_console_fini): Do not call grub_term_set_current_input()
18993 (but leave grub_term_set_current_output() to restore text mode).
18994
6c529df7 189952008-11-10 Robert Millan <rmh@aybabtu.com>
18996
18997 * util/grub.d/00_header.in: Add backward compatibility check for
18998 versions of terminal.mod that don't understand `terminal_input' or
18999 `terminal_output'.
19000
132e4113 190012008-11-09 Robert Millan <rmh@aybabtu.com>
19002
19003 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
19004 `terminal_input' / `terminal_output', not `terminal'.
19005
ac293d50 190062008-11-08 Robert Millan <rmh@aybabtu.com>
19007
19008 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 19009 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 19010
0025933a 190112008-11-08 Robert Millan <rmh@aybabtu.com>
19012
19013 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 19014 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 19015 members. Update all users.
19016 * util/console.c (grub_ncurses_term): Split in ...
19017 (grub_ncurses_term_input): ... this, and ...
19018 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 19019 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 19020
37c86336 190212008-11-08 Robert Millan <rmh@aybabtu.com>
19022
19023 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
19024 (PKGDATA): Add $(pkgdata_SRCDIR).
19025 (pkglib_BUILDDIR): New variable.
19026 (pkgdata_SRCDIR): New variable.
19027 (build_env.mk): New target.
19028 (include_DATA): New variable.
19029 (install-local): Install $(include_DATA) files in $(includedir).
19030
b6c15a2d 190312008-11-07 Pavel Roskin <proski@gnu.org>
19032
d99d46f1 19033 * gendistlist.sh: Use C locale for sorting to ensure consistent
19034 output on all systems.
19035
b6c15a2d 19036 * util/grub.d/00_header.in: Remove incorrect space before
19037 "serial".
19038
c32ee8c9 190392008-11-07 Robert Millan <rmh@aybabtu.com>
19040
19041 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
19042 per specification.
19043 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
19044 * loader/multiboot_loader.c (find_multi_boot2_header): New function
19045 (based on find_multi_boot1_header).
19046 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
19047 using find_multi_boot2_header(), and abort if neither Multiboot or
19048 Multiboot headers were found.
19049
651c29b7 190502008-11-07 Robert Millan <rmh@aybabtu.com>
19051
19052 Modularize at_keyboard.mod:
19053
19054 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
19055 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
19056 (at_keyboard_mod_LDFLAGS): New variables.
19057
19058 Actual terminal split:
19059
19060 * include/grub/term.h (struct grub_term): Split in ...
19061 (struct grub_term_input): ... this, and ...
19062 (struct grub_term_output): ... this. Update all users.
19063 (grub_term_set_current): Split in ...
19064 (grub_term_set_current_input): ... this, and ...
19065 (grub_term_set_current_output): ... this.
19066 (grub_term_get_current): Split in ...
19067 (grub_term_get_current_input): ... this, and ...
19068 (grub_term_get_current_output): ... this.
19069 (grub_term_register): Split in ...
19070 (grub_term_register_input): ... this, and ...
19071 (grub_term_register_output): ... this.
19072 (grub_term_unregister): Split in ...
19073 (grub_term_unregister_input): ... this, and ...
19074 (grub_term_unregister_output): ... this.
19075 (grub_term_iterate): Split in ...
19076 (grub_term_iterate_input): ... this, and ...
19077 (grub_term_iterate_output): ... this.
19078
19079 * kern/term.c (grub_term_list): Split in ...
19080 (grub_term_list_input): ... this, and ...
19081 (grub_term_list_output): ... this. Update all users.
19082 (grub_cur_term): Split in ...
19083 (grub_cur_term_input): ... this, and ...
19084 (grub_cur_term_output): ... this. Update all users.
19085 (grub_term_set_current): Split in ...
19086 (grub_term_set_current_input): ... this, and ...
19087 (grub_term_set_current_output): ... this.
19088 (grub_term_get_current): Split in ...
19089 (grub_term_get_current_input): ... this, and ...
19090 (grub_term_get_current_output): ... this.
19091 (grub_term_register): Split in ...
19092 (grub_term_register_input): ... this, and ...
19093 (grub_term_register_output): ... this.
19094 (grub_term_unregister): Split in ...
19095 (grub_term_unregister_input): ... this, and ...
19096 (grub_term_unregister_output): ... this.
19097 (grub_term_iterate): Split in ...
19098 (grub_term_iterate_input): ... this, and ...
19099 (grub_term_iterate_output): ... this.
19100
19101 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
19102 a check for input and one for output (and only attempt to get keys
19103 from user when input works).
19104
19105 * util/grub-probe.c (grub_term_get_current): Split in ...
19106 (grub_term_get_current_input): ... this, and ...
19107 (grub_term_get_current_output): ... this.
19108 * util/grub-fstest.c: Likewise.
19109 * util/i386/pc/grub-setup.c: Likewise.
19110 * util/grub-editenv.c: Likewise.
19111
19112 Portability adjustments:
19113
19114 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
19115 `term/i386/pc/at_keyboard.c'.
19116 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
19117 grub_keyboard_controller_init() (now handled by terminal .init).
19118 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
19119 grub_at_keyboard_init().
19120 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
19121 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
19122 at_keyboard.mod via input terminal interface).
19123 * include/grub/i386/coreboot/console.h: Convert into a stub for
19124 `<grub/i386/pc/console.h>'.
19125
19126 Migrate full terminals to new API:
19127
19128 * term/efi/console.c (grub_console_term): Split into ...
19129 (grub_console_term_input): ... this, and ...
19130 (grub_console_term_output): ... this. Update all users.
19131 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
19132 (grub_ofconsole_init): Split into ...
19133 (grub_ofconsole_init_input): ... this, and ...
19134 (grub_ofconsole_init_output): ... this.
19135 (grub_ofconsole_term): Split into ...
19136 (grub_ofconsole_term_input): ... this, and ...
19137 (grub_ofconsole_term_output): ... this. Update all users.
19138 * term/i386/pc/serial.c (grub_serial_term): Split into ...
19139 (grub_serial_term_input): ... this, and ...
19140 (grub_serial_term_output): ... this. Update all users.
19141 * term/i386/pc/console.c (grub_console_term): Split into ...
19142 (grub_console_term_input): ... this, and ...
19143 (grub_console_term_output): ... this. Update all users.
19144 (grub_console_term_input): Only enable it on PC/BIOS platform.
19145 (grub_console_init): Remove grub_keyboard_controller_init() call.
19146
19147 Migrate input terminals to new API:
19148
19149 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
19150 `i386' and `i386/pc' to enable build on x86_64 (this driver is
19151 i386-specific anyway).
19152 (grub_console_checkkey): Rename to ...
19153 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
19154 users.
19155 (grub_keyboard_controller_orig): New variable.
19156 (grub_console_getkey): Rename to ...
19157 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
19158 users.
19159 (grub_keyboard_controller_init): Static-ize. Save original
19160 controller value so that it can be restored ...
19161 (grub_keyboard_controller_fini): ... here (new function).
19162 (grub_at_keyboard_term): New structure.
19163 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
19164 functions.
19165
19166 Migrate output terminals to new API:
19167
19168 * term/i386/pc/vga.c (grub_vga_term): Change type to
19169 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19170 members. Update all users.
19171 * term/gfxterm.c (grub_video_term): Change type to
19172 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19173 members. Update all users.
19174 * include/grub/i386/pc/console.h (grub_console_checkkey)
19175 (grub_console_getkey): Do not export (no longer needed by gfxterm,
19176 etc).
19177
19178 Migrate `terminal' command and userland tools to new API:
19179
19180 * commands/terminal.c (grub_cmd_terminal): Split into ...
19181 (grub_cmd_terminal_input): ... this, and ...
19182 (grub_cmd_terminal_output): ... this.
19183 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
19184 `terminal_input' and `terminal_output'.
19185 * util/grub.d/00_header.in: Adjust `terminal' calls to new
19186 `terminal_input' / `terminal_output' API.
19187 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
19188 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
19189 provided ${GRUB_TERMINAL}, convert it).
19190
96e5d876 191912008-11-04 Robert Millan <rmh@aybabtu.com>
19192
19193 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
19194 for FreeBSD.
19195 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
19196
556f3775 191972008-11-03 Bean <bean123ch@gmail.com>
19198
19199 * kern/elf.c (grub_elf32_load): Revert to previous code.
19200 (grub_elf64_load): Likewise.
19201
19202 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
19203
926b9823 192042008-11-01 Robert Millan <rmh@aybabtu.com>
19205
19206 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
19207 (TARGET_CPPFLAGS): Likewise.
19208 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
19209
1432e958 192102008-11-01 Carles Pina i Estany <carles@pina.cat>
19211
19212 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
19213
dba3f844 192142008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 19215
19216 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
19217 addition of objects until the code is not going to be able to fail.
19218
dba3f844 192192008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 19220
19221 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
19222 (add a missing NULL check, and correct them by moving the pointer
19223 operations after the actual check).
19224
7ab28c21 192252008-10-29 Robert Millan <rmh@aybabtu.com>
19226
19227 * util/i386/pc/grub-install.in: Handle empty string as output from
19228 make_system_path_relative_to_its_root().
19229
1b7748eb 192302008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
19231
19232 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
19233 circular metadata worst case scenario. If the metadata is circular
19234 then copy the wrap in place.
19235 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
19236 project lib/format_text/layout.h
19237 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
19238
c9618ab2 192392008-10-03 Felix Zielcke <fzielcke@z-51.de>
19240
7a36edca 19241 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 19242
bf981c62 192432008-10-03 Felix Zielcke <fzielcke@z-51.de>
19244
19245 * util/update-grub_lib.in: Mention filename in warning message.
19246
6d994591 192472008-09-29 Felix Zielcke <fzielcke@z-51.de>
19248
19249 * NEWS: Update for rename of update-grub to grub-mkconfig.
19250
18ade780 192512008-09-29 Felix Zielcke <fzielcke@z-51.de>
19252
19253 * util/update-grub_lib.in: Copy to ...
19254 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 19255 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 19256 * util/update-grub.in: Rename to ...
19257 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
19258 option. Add `--output' option to allow users to specify the generated
19259 configuration file. Default to stdout.
19260 (update_grub_dir): Rename to ...
19261 (grub_mkconfig_dir): ... this.
19262 (grub_cfg): Default to an empty string.
19263 * conf/common.rmk (update-grub): Rename to ...
19264 (grub-mkconfig): ... this.
19265 (update-grub_lib): Copy to ...
19266 (grub-mkconfig_lib): ... this.
19267 (update-grub_SCRIPTS): Copy to ...
19268 (grub-mkconfig_SCRIPTS): ... this. Update all users.
19269 (update-grub_DATA): Rename to ...
19270 (grub-mkconfig_DATA): ... this.
19271
556ce6ac 192722008-09-28 Robert Millan <rmh@aybabtu.com>
19273
19274 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
19275 to `modified'. Add the real `created' field.
19276 (grub_iso9660_uuid): Use `modified' rather than `created' for
19277 constructing the UUID.
19278
192792008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 19280
19281 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
19282 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
19283
92274e85 192842008-09-28 Bean <bean123ch@gmail.com>
19285
19286 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
19287 Thanks to Christian Franke for finding this bug.
19288
add6f17a 192892008-09-25 Robert Millan <rmh@aybabtu.com>
19290
19291 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
19292 instances of grub_util_get_disk_name() (see previous commit).
19293
d2a367b8 192942008-09-25 Robert Millan <rmh@aybabtu.com>
19295
19296 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
19297 `util/i386/get_disk_name.c'.
19298 * conf/i386-efi.rmk: Likewise.
19299 * conf/x86_64-efi.rmk: Likewise.
19300 * conf/i386-coreboot.rmk: Likewise.
19301 * conf/i386-ieee1275.rmk: Likewise.
19302 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
19303 `util/ieee1275/get_disk_name.c'.
19304 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
19305 * util/ieee1275/get_disk_name.c: Remove file.
19306 * util/i386/get_disk_name.c: Remove file.
19307 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
19308 "hd%d" for device.map entries, rather than using
19309 grub_util_get_disk_name().
19310
81a06771 193112008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 19312
19313 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
19314 warning.
19315 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
19316
5a004279 193172008-09-24 Carles Pina i Estany <carles@pina.cat>
19318
19319 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
19320 Changed to 0x5100.
19321 (GRUB_TERM_PPAGE): Changed to 0x4900.
19322
397093d3 193232008-09-24 Robert Millan <rmh@aybabtu.com>
19324
19325 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
19326 macros (they were i386-pc specific).
19327 * include/grub/sparc64/ieee1275/console.h: Likewise.
19328 * include/grub/efi/console.h: Likewise.
19329
a91b6c7c 193302008-09-22 Bean <bean123ch@gmail.com>
19331
19332 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
19333 resident and in attribute list.
19334
19335 * include/grub/ntfs.h (BMP_LEN): Removed.
19336
c40fd116 193372008-09-22 Bean <bean123ch@gmail.com>
19338
81a06771 19339 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 19340 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
19341
19342 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
19343 error occurs, as grub_disk_open will call grub_disk_close, which will
19344 call p->close (scsi).
19345
81a06771 193462008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 19347
19348 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
19349 (AC_PREREQ): Bumped to 2.59.
19350 (AC_TRY_COMPILE): Replace obsolete macro with ...
19351 (AC_COMPILE_IFELSE): ... this.
19352 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
19353 (AC_LINK_IFELSE): ... this.
19354
5dc43410 193552008-09-21 Felix Zielcke <fzielcke@z-51.de>
19356
19357 * autogen.sh: Add a call to `gendistlist.sh'.
19358
9035dce4 193592008-09-19 Christian Franke <franke@computer.org>
19360
19361 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
19362 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
19363 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
19364 Export __enable_execute_stack() to modules.
19365 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
19366 New function.
19367
7fd75377 193682008-09-09 Felix Zielcke <fzielcke@z-51.de>
19369
040030b3 19370 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
19371 Sort the list.
19372
193732008-09-09 Felix Zielcke <fzielcke@z-51.de>
19374
19375 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 19376 #include <grub/util/hostdisk.h>.
19377
89d5ffcf 193782008-09-08 Robert Millan <rmh@aybabtu.com>
19379
19380 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
19381 segments when their filesz is zero (grub_file_read() interprets
81a06771 19382 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 19383 Use `lowest_segment' rather than 0 for calculating the current
19384 segment load address.
19385
40da438f 193862008-09-08 Robert Millan <rmh@aybabtu.com>
19387
19388 * util/hostdisk.c (open_device): Replace a grub_util_info() call
19389 with grub_dprintf("hostdisk", ...), as it was so verbose that it
19390 clobbered useful information.
19391
ddbf5556 193922008-09-08 Robert Millan <rmh@aybabtu.com>
19393
19394 * include/grub/util/biosdisk.h: Move to ...
19395 * include/grub/util/hostdisk.h: ... here. Update all users.
19396 * util/biosdisk.c: Move to ...
19397 * util/hostdisk.c: ... here. Update all users.
19398
783d0f48 193992008-09-07 Robert Millan <rmh@aybabtu.com>
19400
19401 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
19402 variables.
19403 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
19404 and length can be stored directly in the `mbi->mmap_addr' and
19405 `mbi->mmap_length' struct fields.
19406
548e2ea5 194072008-09-07 Robert Millan <rmh@aybabtu.com>
19408
19409 * conf/i386.rmk: New file. Provides declaration for building
19410 `cpuid.mod'.
19411 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
19412 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
19413 variables.
19414 Include `conf/i386.mk'.
19415 * conf/i386-efi.rmk: Likewise.
19416 * conf/x86_64-efi.rmk: Likewise.
19417 * conf/i386-coreboot.rmk: Likewise.
19418 * conf/i386-ieee1275.rmk: Likewise.
19419
0ea85a37 194202008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
19421
19422 Based on patch created by Colin D Bennett <colin@gibibit.com>.
19423 Adds optimization support for BGR based modes.
19424
19425 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
19426 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
19427 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19428 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19429 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19430 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19431 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19432 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19433 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19434 (grub_video_i386_vbeblit_index_index): Likewise.
19435 (grub_video_i386_vbeblit_replace_directN): Added.
19436 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
19437 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
19438 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
19439 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
19440 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
19441 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 19442 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 19443 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
19444 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
19445 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
19446 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
19447 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
19448 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
19449
19450 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
19451 (grub_video_i386_vbefill_R8G8B8): Likewise.
19452 (grub_video_i386_vbefill_index): Likewise.
19453 (grub_video_i386_vbefill_direct32): Added.
19454 (grub_video_i386_vbefill_direct24): Likewise.
19455 (grub_video_i386_vbefill_direct16): Likewise.
19456 (grub_video_i386_vbefill_direct8): Likewise.
19457
81a06771 19458 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 19459 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
19460 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
19461 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
19462 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
19463 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 19464
0ea85a37 19465 * video/video.c (grub_video_get_blit_format): Updated to use new
19466 blit formats. Added handling for 16 bit color modes.
81a06771 19467
19468 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 19469 fillers.
19470 (common_blitter): Updated to use new blitters.
19471
19472 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
19473 Removed.
19474 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
19475 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19476 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19477 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19478 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19479 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19480 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19481 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19482 (grub_video_i386_vbeblit_index_index): Likewise.
19483 (grub_video_i386_vbeblit_replace_directN): Added.
19484 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
19485 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
19486 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
19487 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
19488 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
19489 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
19490 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
19491 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
19492 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
19493 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
19494 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
19495 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
19496 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 19497
0ea85a37 19498 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
19499 (grub_video_i386_vbefill_R8G8B8): Likewise.
19500 (grub_video_i386_vbefill_index): Likewise.
19501 (grub_video_i386_vbefill_direct32): Added.
19502 (grub_video_i386_vbefill_direct24): Likewise.
19503 (grub_video_i386_vbefill_direct16): Likewise.
19504 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 19505
0ea85a37 19506 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
19507 types.
81a06771 19508
0ea85a37 19509 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
19510 types.
81a06771 19511
0ea85a37 19512 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
19513 blitter types.
81a06771 19514
0ea85a37 19515 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
19516 types.
19517
e8a83df6 195182008-09-06 Felix Zielcke <fzielcke@z-51.de>
19519
19520 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
19521 RAID level 1.
19522
6bcd8ee5 195232008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 19524
6bcd8ee5 19525 * fs/iso9660.c (grub_iso9660_date): New structure.
19526 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
19527 (grub_iso9660_uuid): New function.
c375ae58 19528
59261157 195292008-09-05 Bean <bean123ch@gmail.com>
19530
19531 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
19532
19533 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
19534 insensitive bit for names in Win32 and Win32 & DOS namespace.
19535
19536 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
19537
19538 * include/grub/types.h (LONG_MAX): Likewise.
19539
58b6645a 195402008-09-04 Felix Zielcke <fzielcke@z-51.de>
19541
4ee55921 19542 * util/getroot.c: Include <config.h>.
19543 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
19544 add support for /dev/md/N devices and handle LVM double dash escaping.
19545
195462008-09-04 Felix Zielcke <fzielcke@z-51.de>
19547
19548 * config.guess: Update to latest version from config git.
19549 * config.sub: Likewise.
58b6645a 19550
9124f65d 195512008-09-03 Robert Millan <rmh@aybabtu.com>
19552
19553 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
19554 `disk->total_sectors'.
19555
81a06771 195562008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 19557
19558 * include/grub/normal.h: Fixed incorrect comment for
19559 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
19560
81a06771 195612008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 19562
19563 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
19564 values with defines.
19565
19566 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
19567 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
19568 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
19569 (GRUB_VBE_MODEATTR_COLOR): Likewise.
19570 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
19571 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
19572 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
19573 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
19574 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
19575 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
19576 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
19577 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
19578 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
19579 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
19580 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
19581 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
19582 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
19583 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
19584 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
19585
93d5cbf8 195862008-08-31 Robert Millan <rmh@aybabtu.com>
19587
19588 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
19589 declaration.
19590 (grub_multiboot): Fix a few warnings.
19591
21751d50 195922008-08-31 Robert Millan <rmh@aybabtu.com>
19593
19594 * loader/i386/pc/multiboot.c: Update comment not to say that
19595 boot_device support is unimplemented.
19596
e27a75c5 195972008-08-31 Robert Millan <rmh@aybabtu.com>
19598
19599 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
19600 or memory map support are unimplemented.
19601
81a06771 196022008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 19603
19604 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
19605
81a06771 196062008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 19607
19608 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
19609 total video memory in 'vbeinfo' output; show color format details for
19610 each video mode.
19611
7c5d8d95 196122008-08-30 Pavel Roskin <proski@gnu.org>
19613
19614 * util/genmoddep.c: Remove for real this time.
19615 * DISTLIST: Remove util/genmoddep.c.
19616
4cebd25a 196172008-08-30 Robert Millan <rmh@aybabtu.com>
19618
19619 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
19620 as required by Multiboot spec (it was already 4-byte aligned, but
19621 only by chance).
19622
b497a269 196232008-08-29 Pavel Roskin <proski@gnu.org>
19624
e3925185 19625 * kern/powerpc/ieee1275/crt0.S: Rename to ...
19626 * kern/powerpc/ieee1275/startup.S: ... this.
19627 * conf/powerpc-ieee1275.rmk: Adjust for the above.
19628 * DISTLIST: Likewise.
19629
b497a269 19630 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
19631 grub/cpu/kernel.h. Add start label for consistency with other
19632 platforms. Add grub_prefix immediately after start. Add jump
19633 to the code after grub_prefix.
19634 * include/grub/powerpc/kernel.h: Provide valid values for
19635 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
19636
6e5a42fe 196372008-08-29 Bean <bean123ch@gmail.com>
19638
19639 * configure.ac: Change host_os to cygwin for mingw.
19640 (asprintf): New check for function.
19641
19642 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
19643 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
19644
19645 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 19646 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 19647 sync, sleep and grub_util_get_disk_size for mingw.
19648
19649 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
19650 to get size in mingw.
19651 (open_device): Use flag O_BINARY if it's defined.
19652 (find_root_device): Add dummy code for mingw.
19653
19654 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
19655 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
19656 (get_scsi_disk_name): Return 0 for mingw.
19657
19658 * util/hostfs.c: #include <grub/util/misc.h>.
19659 (grub_hostfs_open): Use "rb" flag to open file, use
19660 grub_util_get_disk_size to get disk size for mingw.
19661
19662 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
19663 (asprintf): New function if HAVE_ASPRINTF is not set.
19664 (sync): New function for mingw.
19665 (sleep): Likewise.
19666 (grub_util_get_disk_size): Likewise.
19667
ab3f2673 196682008-08-28 Pavel Roskin <proski@gnu.org>
19669
19670 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
19671 kern/time.c.
19672
1c282483 196732008-08-28 Robert Millan <rmh@aybabtu.com>
19674
19675 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
19676
678e849c 196772008-08-28 Robert Millan <rmh@aybabtu.com>
19678
19679 Change find_grub_drive() syntax so it doesn't prevent it from
19680 detecting NULL names as errors.
19681
19682 * util/biosdisk.c (find_grub_drive): Move free slot search code
19683 from here ...
19684 (find_free_slot): ... to here.
19685 (read_device_map): Use find_free_slot() to search for free slots.
19686
965c75ca 196872008-08-27 Marco Gerards <marco@gnu.org>
19688
19689 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
19690 (scsi_mod_SOURCES): New variable.
19691 (scsi_mod_CFLAGS): Likewise
19692 (scsi_mod_LDFLAGS): Likewise.
19693
19694 * disk/scsi.c: New file.
19695
19696 * include/grub/scsi.h: Likewise.
19697
19698 * include/grub/scsicmd.h: Likewise.
19699
19700 * disk/ata.c: Include <grub/scsi.h>.
19701 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
19702 instead.
19703 (grub_ata_iterate): Skip ATAPI devices.
19704 (grub_ata_open): Only handle ATAPI devices.
19705 (struct grub_atapi_read): Removed.
19706 (grub_atapi_readsector): Likewise.
19707 (grub_ata_read): No longer handle ATAPI devices.
19708 (grub_ata_write): Likewise.
19709 (grub_atapi_iterate): New function.
19710 (grub_atapi_read): Likewise.
19711 (grub_atapi_write): Likewise.
19712 (grub_atapi_open): Likewise.
19713 (grub_atapi_close): Likewise.
19714 (grub_atapi_dev): New variable.
19715 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
19716 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
19717
19718 * include/grub/disk.h (enum grub_disk_dev_id): Add
19719 `GRUB_DISK_DEVICE_SCSI_ID'.
19720
c07ae501 197212008-08-26 Robert Millan <rmh@aybabtu.com>
19722
19723 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
19724 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
19725 descriptive.
19726
5ed20adc 197272008-08-23 Bean <bean123ch@gmail.com>
19728
19729 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
19730 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
19731 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
19732 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
19733 dm_nv.mod.
19734 (raid5rec_mod_SOURCES): New macro.
19735 (raid5rec_mod_CFLAGS): Likewise.
19736 (raid5rec_mod_LDFLAGS): Likewise.
19737 (raid6rec_mod_SOURCES): Likewise.
19738 (raid6rec_mod_CFLAGS): Likewise.
19739 (raid6rec_mod_LDFLAGS): Likewise.
19740 (mdraid_mod_SOURCES): Likewise.
19741 (mdraid_mod_CFLAGS): Likewise.
19742 (mdraid_mod_LDFLAGS): Likewise.
19743 (dm_nv_mod_SOURCES): Likewise.
19744 (dm_nv_mod_CFLAGS): Likewise.
19745 (dm_nv_mod_LDFLAGS): Likewise.
19746
19747 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
19748 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
19749 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
19750
19751 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
19752 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
19753
19754 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19755
19756 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19757
19758 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19759
19760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19761
19762 * disk/raid5_recover.c: New file.
19763
19764 * disk/raid6_recover.c: Likewise.
19765
19766 * disk/mdraid_linux.c: Likewise.
19767
19768 * disk/dmraid_nvidia.c: Likewise.
19769
19770 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
19771 ULONG_MAX.
19772
19773 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
19774 calculate the size of raid device.
19775 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
19776 different layout of raid5.
19777 (grub_raid_scan_device): Remove code specific to mdraid.
19778 (grub_raid_list): New variable.
19779 (free_array): New function.
19780 (grub_raid_register): Likewise.
19781 (grub_raid_unregister): Likewise.
19782 (grub_raid_rescan): Likewise.
19783 (GRUB_MOD_INIT): Don't iterate device here.
19784 (GRUB_MOD_FINI): Use free_array to release resource.
19785
19786 * include/grub/raid.h: Remove macro and structure specific to mdraid.
19787 (grub_raid5_recover_func_t): New function variable type.
19788 (grub_raid6_recover_func_t): Likewise.
19789 (grub_raid5_recover_func): New variable.
19790 (grub_raid6_recover_func): Likewise.
19791 (grub_raid_register): New function.
19792 (grub_raid_unregister): Likewise.
19793 (grub_raid_rescan): Likewise.
19794 (grub_raid_block_xor): Likewise.
19795
19796 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
19797 (CMD_CRC): New macro.
19798 (part): Removed.
19799 (read_file): Handle device as well as file.
19800 (cmd_crc): New function.
19801 (fstest): Handle multiple disks.
19802 (options): Remove part, raw and long, add root and diskcount.
19803 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 19804 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 19805 add handling for the new options, support multiple disks.
19806
19807 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
19808
29c18915 198092008-08-23 Bean <bean123ch@gmail.com>
19810
19811 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
19812
19813 * genfslist.sh: Ignore kernel.mod.
19814
19815 * genpartmaplist.sh: Likewise.
19816
8415f261 198172008-08-23 Robert Millan <rmh@aybabtu.com>
19818
19819 * util/getroot.c (find_root_device): Skip anything that starts with
19820 a dot, not just directories. This avoids things like /dev/.tmp.md0.
19821
d5a7dc5b 198222008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 19823
d5a7dc5b 19824 * util/update-grub.in (GRUB_GFXMODE): Export variable.
19825 * util/grub.d/00_header.in: Allow the administrator to change default
19826 gfxmode via ${GRUB_GFXMODE}.
19827
380cfbb4 198282008-08-21 Felix Zielcke <fzielcke@z-51.de>
19829
19830 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
19831
c9baafe7 198322008-08-21 Robert Millan <rmh@aybabtu.com>
19833
19834 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
19835 loader.
19836 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
19837 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
19838
e290bef2 198392008-08-20 Carles Pina i Estany <carles@pina.cat>
19840
19841 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
19842 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
19843
f9dbfc96 198442008-08-19 Robert Millan <rmh@aybabtu.com>
19845
19846 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
19847 (struct grub_virtual_screen): Remove `cursor_color'.
19848 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
19849 initialization.
19850 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
19851
dd6bd6ab 198522008-08-18 Robert Millan <rmh@aybabtu.com>
19853
19854 Unify (identical) linux_normal.c files.
19855 * loader/i386/efi/linux_normal.c: Move from here ...
19856 * loader/linux_normal.c: ... to here. Update all users.
19857 * loader/i386/pc/linux_normal.c: Delete. Update all users.
19858 * loader/i386/ieee1275/linux_normal.c: Likewise.
19859
7f42f83e 198602008-08-18 Robert Millan <rmh@aybabtu.com>
19861
19862 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
19863 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
19864 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
19865 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
19866 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
19867 New macros.
19868 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
19869 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
19870 (GRUB_LINUX_CL_END_OFFSET): ... to here.
19871 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
19872 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
19873 (GRUB_EFI_CL_END_OFFSET): Rename to ...
19874 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
19875 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
19876 Initialize `params->video_cursor_x' and `params->video_cursor_y'
19877 portably using grub_getxy().
19878 Replace `-EFI' with `-bzImage' in boot message.
19879
38487ddb 198802008-08-17 Robert Millan <rmh@aybabtu.com>
19881
19882 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
19883
deceb3ec 198842008-08-17 Robert Millan <rmh@aybabtu.com>
19885
19886 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
19887
19888 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
19889 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
19890 (grub_machine_mmap_iterate): New function declaration.
19891 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
19892 structure.
19893 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
19894 macros.
19895
19896 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
19897 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
19898 Move e820 parsing from here ...
19899 * kern/i386/pc/mmap.c: New file.
19900 (grub_machine_mmap_iterate): ... to here.
19901
19902 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
19903 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
19904 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
19905 (grub_available_iterate): Redeclare to return `void', and redeclare
19906 its hook to use grub_uint64_t as addr and size parameters, and rename
19907 to ...
19908 (grub_machine_mmap_iterate): ... this. Update all users.
19909
19910 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
19911 to make it more readable. Rename to ...
19912 (grub_machine_mmap_iterate): ... this.
19913
19914 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
19915 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
19916 (grub_multiboot): Allocate an extra region after the payload, and fill
19917 it with a Multiboot memory map. Adjust a.out loader to calculate size
19918 with the extra space.
19919 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
19920 with the extra space.
19921
f8aa0f43 199222008-08-17 Carles Pina i Estany <carles@pina.cat>
19923
9807deb9 19924 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 19925
605f5bb6 199262008-08-17 Felix Zielcke <fzielcke@z-51.de>
19927
19928 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
19929 mdate-sh to the list `find' searches for.
19930 * DISTLIST: Regenerated.
19931
210db6c6 199322008-08-16 Felix Zielcke <fzielcke@z-51.de>
19933
19934 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
19935 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 19936 genmoddep.awk, gensymlist.sh.in.
19937 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 19938 * DISTLIST: Regenerated.
48cdbfd4 19939 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 19940
1082b929 199412008-08-16 Robert Millan <rmh@aybabtu.com>
19942
19943 * disk/raid.c (grub_raid_init): Handle/report errors set by
19944 grub_device_iterate().
19945 * disk/lvm.c (grub_lvm_init): Likewise.
19946
42ce5170 199472008-08-15 Bean <bean123ch@gmail.com>
19948
19949 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
19950 and datehook.mod.
19951 (datetime_mod_SOURCES): New macro.
19952 (datetime_mod_CFLAGS): Likewise.
19953 (datetime_mod_LDFLAGS): Likewise.
19954 (date_mod_SOURCES): Likewise.
19955 (date_mod_CFLAGS): Likewise.
19956 (date_mod_LDFLAGS): Likewise.
19957 (datehook_mod_SOURCES): Likewise.
19958 (datehook_mod_CFLAGS): Likewise.
19959 (datehook_mod_LDFLAGS): Likewise.
19960
19961 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
19962 and datehook.mod.
19963 (datetime_mod_SOURCES): New macro.
19964 (datetime_mod_CFLAGS): Likewise.
19965 (datetime_mod_LDFLAGS): Likewise.
19966 (date_mod_SOURCES): Likewise.
19967 (date_mod_CFLAGS): Likewise.
19968 (date_mod_LDFLAGS): Likewise.
19969 (datehook_mod_SOURCES): Likewise.
19970 (datehook_mod_CFLAGS): Likewise.
19971 (datehook_mod_LDFLAGS): Likewise.
19972
19973 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
19974 and datehook.mod.
19975 (datetime_mod_SOURCES): New macro.
19976 (datetime_mod_CFLAGS): Likewise.
19977 (datetime_mod_LDFLAGS): Likewise.
19978 (date_mod_SOURCES): Likewise.
19979 (date_mod_CFLAGS): Likewise.
19980 (date_mod_LDFLAGS): Likewise.
19981 (datehook_mod_SOURCES): Likewise.
19982 (datehook_mod_CFLAGS): Likewise.
19983 (datehook_mod_LDFLAGS): Likewise.
19984
19985 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
19986 and datehook.mod.
19987 (datetime_mod_SOURCES): New macro.
19988 (datetime_mod_CFLAGS): Likewise.
19989 (datetime_mod_LDFLAGS): Likewise.
19990 (date_mod_SOURCES): Likewise.
19991 (date_mod_CFLAGS): Likewise.
19992 (date_mod_LDFLAGS): Likewise.
19993 (datehook_mod_SOURCES): Likewise.
19994 (datehook_mod_CFLAGS): Likewise.
19995 (datehook_mod_LDFLAGS): Likewise.
19996
19997 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
19998 and datehook.mod.
19999 (datetime_mod_SOURCES): New macro.
20000 (datetime_mod_CFLAGS): Likewise.
20001 (datetime_mod_LDFLAGS): Likewise.
20002 (date_mod_SOURCES): Likewise.
20003 (date_mod_CFLAGS): Likewise.
20004 (date_mod_LDFLAGS): Likewise.
20005 (datehook_mod_SOURCES): Likewise.
20006 (datehook_mod_CFLAGS): Likewise.
20007 (datehook_mod_LDFLAGS): Likewise.
20008
20009 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
20010
20011 * commands/date.c: New file.
20012
20013 * hook/datehook.c: Likewise.
20014
20015 * include/grub/lib/datetime.h: Likewise.
20016
20017 * include/grub/i386/cmos.h: Likewise.
20018
20019 * lib/datetime.c: Likewise.
20020
20021 * lib/i386/datetime.c: Likewise.
20022
20023 * lib/efi/datetime.c: Likewise.
20024
0e9242da 200252008-08-14 Robert Millan <rmh@aybabtu.com>
20026
20027 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
20028 (grub_mkelfimage_SOURCES): New variable.
20029 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
20030
20031 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
20032 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
20033 * conf/powerpc-ieee1275.rmk: Likewise.
20034 * conf/i386-ieee1275.rmk: Likewise.
20035
20036 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
20037 * kern/i386/coreboot/init.c: Likewise.
20038
20039 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
20040 with `<grub/cpu/kernel.h>'.
20041 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
20042 to ...
20043 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
20044 * kern/i386/coreboot/startup.S: Likewise.
20045
20046 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
20047 (GRUB_MOD_GAP): Remove.
20048 * include/grub/powerpc/kernel.h: New file.
20049 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
20050 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20051 * include/grub/i386/kernel.h: New file.
20052 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
20053 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
20054 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20055
20056 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
20057 `grub-mkelfimage'.
20058 Use --directory when invoking grub_mkimage.
20059
20060 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
20061 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
20062 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
20063 and GRUB_KERNEL_CPU_PREFIX.
20064
b86408f8 200652008-08-14 Felix Zielcke <fzielcke@z-51.de>
20066
d5e619ca 20067 * include/grub/err.h (grub_err_printf): New function prototype.
20068 * util/misc.c (grub_err_printf): New function.
20069 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
20070 grub_printf.
20071 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 20072
7161f0e0 200732008-08-13 Robert Millan <rmh@aybabtu.com>
20074
20075 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
20076
a1967522 200772008-08-13 Robert Millan <rmh@aybabtu.com>
20078
20079 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
20080 boot entry.
20081
371458b5 200822008-08-12 Robert Millan <rmh@aybabtu.com>
20083
20084 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
20085 of the relocation code from here ...
20086 (grub_multiboot): ... to here.
20087 (forward_relocator, backward_relocator): Move from here ...
20088 * kern/i386/loader.S (grub_multiboot_forward_relocator)
20089 (grub_multiboot_backward_relocator): ... to here.
20090 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
20091 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
20092 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
20093 (grub_multiboot_forward_relocator_end)
20094 (grub_multiboot_backward_relocator)
20095 (grub_multiboot_backward_relocator_end): New variables.
20096
05f9452b 200972008-08-12 Bean <bean123ch@gmail.com>
20098
20099 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
20100
20024ab0 201012008-08-11 Robert Millan <rmh@aybabtu.com>
20102
20103 * kern/i386/linuxbios/startup.S: Move from here ...
20104 * kern/i386/coreboot/startup.S: ... to here.
20105
20106 * kern/i386/linuxbios/init.c: Move from here ...
20107 * kern/i386/coreboot/init.c: ... to here.
20108
20109 * kern/i386/linuxbios/table.c: Move from here ...
20110 * kern/i386/coreboot/mmap.c: ... to here.
20111
20112 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
20113
e352e9cd 201142008-08-11 Robert Millan <rmh@aybabtu.com>
20115
20116 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
20117 errors. Leave it to the upper layer to handle them.
20118
2d05bc6a 201192008-08-09 Christian Franke <franke@computer.org>
20120
20121 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
20122 * conf/common.rmk: Install `grub-pe2elf' only if requested.
20123 Install `grub.d/10_windows' only on Cygwin.
20124 * configure.ac: Add subst of `target_os'.
20125 Check `target_os' also before setting TARGET_OBJ2ELF.
20126 Add `--enable-grub-pe2elf'.
20127
042bd419 201282008-08-08 Robert Millan <rmh@aybabtu.com>
20129
20130 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20131 (grub_last_time): Change type to grub_uint64_t.
20132 (grub_disk_open): Migrate code from to using grub_get_time_ms().
20133 (grub_disk_close): Likewise.
20134
20135 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20136 (run_menu): Migrate code from to using grub_get_time_ms().
20137
20138 * util/misc.c (grub_get_time_ms): New function.
20139
7f280db5 201402008-08-08 Marco Gerards <marco@gnu.org>
20141
20142 * disk/ata.c (grub_ata_regget): Change return type to
20143 `grub_uint8_t'.
20144 (grub_ata_regget2): Likewise.
20145 (grub_ata_wait_status): New function.
20146 (grub_ata_wait_busy): Removed function, updated all users to use
20147 `grub_ata_wait_status'.
20148 (grub_ata_wait_drq): Likewise.
20149 (grub_ata_cmd): New function.
20150 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
20151 error handling.
20152 (grub_ata_pio_write): Add error handling.
20153 (grub_atapi_identify): Likewise.
20154 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
20155 handling.
20156 (grub_ata_identify): Use `grub_ata_cmd' and improve error
20157 handling. Actually use the detected registers. Reorder the
20158 detection logic such that it is easier to read.
20159 (grub_ata_pciinit): Do not assign the same ID to each controller.
20160 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
20161 handling.
20162 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
20163
20164 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
20165
1fbc5e66 201662008-08-08 Marco Gerards <marco@gnu.org>
20167
20168 * NEWS: Update.
20169
819ce6c0 201702008-08-07 Bean <bean123ch@gmail.com>
20171
20172 * include/grub/x86_64/pci.h: New file.
20173
5c41d44d 201742008-08-07 Christian Franke <franke@computer.org>
20175
20176 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
20177 (TIMER2_GATE): Likewise.
20178 (grub_pit_wait): Add enable/disable of the timer2 gate
20179 bit of port 0x61. This fixes a possible infinite loop.
20180
5ebc275d 201812008-08-07 Bean <bean123ch@gmail.com>
20182
20183 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
20184 kern/i386/tsc.c and kern/i386/pit.c.
20185
20186 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
20187 x86_64 platform.
20188
20189 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
20190 <grub/i386/tsc.h>.
20191
20192 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
20193
e383b3d0 201942008-08-07 Bean <bean123ch@gmail.com>
20195
20196 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
20197
20198 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
20199
20200 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
20201 multiple inclusion. Add #include <grub/types.h>.
20202
1cbb58ac 202032008-08-06 Christian Franke <franke@computer.org>
20204
20205 * conf/common.rmk: Build and install `10_windows'.
20206 * util/grub.d/10_windows.in: New script.
20207
337f5a1e 202082008-08-06 Pavel Roskin <proski@gnu.org>
20209
20210 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
20211
057bc4ac 202122008-08-06 Robert Millan <rmh@aybabtu.com>
20213
20214 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
20215 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
20216
2b99f123 202172008-08-06 Bean <bean123ch@gmail.com>
20218
20219 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
20220 (grub_pxefs_fs_int): Remove dummy definition.
20221 (grub_pxefs_open): Use data->block_size to store the current block
20222 size setting.
20223 (grub_pxefs_read): Use block size stored in data->block_size. As the
20224 value of grub_pxe_blksize can be changed after the file is opened.
20225
9f0234cb 202262008-08-06 Bean <bean123ch@gmail.com>
20227
20228 * fs/i386/pc/pxe.c (curr_file): new variable.
20229 (grub_pxefs_open): Simply the handling of pxe file system. Don't
20230 require the dummy internal file system anymore.
20231 (grub_pxefs_read): Removed.
20232 (grub_pxefs_close): Likewise.
20233 (grub_pxefs_fs_int): Likewise.
20234 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
20235 connection when we switch file.
20236 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
20237
a55d42e0 202382008-08-06 Robert Millan <rmh@aybabtu.com>
20239
20240 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
20241 `halt.mod'.
20242 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
20243 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
20244
20245 * kern/i386/halt.c: New file.
20246 * kern/i386/reboot.c: Likewise.
20247 * include/grub/i386/reboot.h: Likewise.
20248 * include/grub/i386/halt.h: Likewise.
20249
20250 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
20251 Include `<grub/cpu/halt.h>'.
20252 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
20253 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
20254
20255 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
20256 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
20257 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
20258 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
20259 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
20260 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
20261 from here ...
20262 * include/grub/i386/at_keyboard.h: ... to here.
20263
24371d26 202642008-08-05 Robert Millan <rmh@aybabtu.com>
20265
20266 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
20267 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
20268 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
20269 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
20270 `kern/generic/millisleep.c'.
20271
20272 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
20273 instead of grub_get_rtc().
20274 (grub_tsc_init): Initialize `tsc_boot_time'.
20275
20276 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
20277 (grub_machine_init): Use grub_tsc_init() rather than
20278 installing an RTC-based handler via grub_install_get_time_ms().
20279
20280 * kern/i386/pit.c: New file.
20281 * include/grub/i386/pit.h: Likewise.
20282
9e7007b3 202832008-08-05 Bean <bean123ch@gmail.com>
20284
20285 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
20286
20287 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
20288 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
20289 (pxe_mod_SOURCES): New macro.
20290 (pxe_mod_CFLAGS): Likewise.
20291 (pxe_mod_LDFLAGS): Likewise.
20292 (pxecmd_mod_SOURCES): Likewise.
20293 (pxecmd_mod_CFLAGS): Likewise.
20294 (pxecmd_mod_LDFLAGS): Likewise.
20295
20296 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
20297 (grub_pxe_call): Likewise.
20298
20299 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
20300
20301 * commands/i386/pc/pxecmd.c: New file.
20302
9f0234cb 20303 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 20304
20305 * include/grub/i386/pc/pxe.h: Likewise.
20306
6977d49f 203072008-08-05 Bean <bean123ch@gmail.com>
20308
20309 * util/console.c (grub_console_cur_color): New variable.
20310 (grub_console_standard_color): Likewise.
20311 (grub_console_normal_color): Likewise.
20312 (grub_console_highlight_color): Likewise.
20313 (color_map): Likewise.
20314 (use_color): Likewise.
20315 (NUM_COLORS): New macro.
20316 (grub_ncurses_setcolorstate): Handle color properly.
20317 (grub_ncurses_setcolor): Don't change color here, just remember the
20318 settings, color will be set in grub_ncurses_setcolorstate.
20319 (grub_ncurses_getcolor): New function.
20320 (grub_ncurses_init): Initialize color pairs.
20321 (grub_ncurses_term): New member grub_ncurses_getcolor.
20322
9c2ff3ee 203232008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 20324
9c2ff3ee 20325 High resolution timer support. Implemented for x86 CPUs using TSC.
20326 Extracted generic grub_millisleep() so it's linked in only as needed.
20327 This requires a Pentium compatible CPU; if the RDTSC instruction is
20328 not supported, then it falls back on the generic grub_get_time_ms()
20329 implementation that uses the machine's RTC.
20330
20331 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
20332 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
20333 `kern/generic/millisleep.c'.
20334
20335 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
20336 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
20337
20338 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
20339 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
20340
20341 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20342
20343 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20344 `kern/generic/millisleep.c'.
20345
20346 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20347
20348 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
20349
20350 * kern/generic/rtc_get_time_ms.c: New file.
20351
20352 * kern/generic/millisleep.c: New file.
337f5a1e 20353
9c2ff3ee 20354 * kern/misc.c: Don't include
20355 <kern/time.h> anymore.
20356 (grub_millisleep_generic): Removed.
20357
20358 * commands/sleep.c (grub_interruptible_millisleep): Uses
20359 grub_get_time_ms() instead of grub_get_rtc().
20360
20361 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
20362 function.
20363 (grub_cpu_is_cpuid_supported): New inline function.
20364 (grub_cpu_is_tsc_supported): New inline function.
20365 (grub_tsc_init): New function prototype.
20366 (grub_tsc_get_time_ms): New function prototype.
20367
20368 * kern/i386/tsc.c (grub_get_time_ms): New file.
20369
20370 * include/grub/time.h: Include <grub/types.h.
20371 (grub_millisleep_generic): Removed.
20372 (grub_get_time_ms): New prototype.
20373 (grub_install_get_time_ms): New prototype.
20374 (grub_rtc_get_time_ms): New prototype.
20375
20376 * kern/time.c (grub_get_time_ms): New function.
20377 (grub_install_get_time_ms): New function.
20378
20379 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
20380 <grub/time.h> anymore.
20381 (grub_millisleep): Removed.
20382 (grub_machine_init): Call grub_tsc_init.
20383
20384 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
20385 get_time_ms() implementation.
20386
20387 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
20388 (ieee1275_get_time_ms): New function.
20389 (grub_machine_init): Install get_time_ms() implementation.
20390
20391 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
20392 (grub_machine_init): Call grub_tsc_init().
20393 (grub_millisleep): Removed.
bf06a93f 20394
9c2ff3ee 20395 * kern/ieee1275/init.c (grub_millisleep): Removed.
20396 (grub_machine_init): Install ieee1275_get_time_ms()
20397 implementation.
20398 (ieee1275_get_time_ms): New function.
20399 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
20400 real work.
20401
9ec92aaf 204022008-08-05 Marco Gerards <marco@gnu.org>
20403
20404 * disk/ata.c: Include <grub/pci.h>.
20405 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
20406 (grub_ata_initialize): Rewritten.
20407 (grub_ata_device_initialize): New function.
20408
8d23f507 204092008-08-04 Pavel Roskin <proski@gnu.org>
20410
20411 * kern/main.c: Include grub/mm.h.
20412
5e15ee3d 204132008-08-04 Robert Millan <rmh@aybabtu.com>
20414
20415 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
20416 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
20417 corruption problem).
20418
a9053f8f 204192008-08-04 Robert Millan <rmh@aybabtu.com>
20420
20421 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
20422 warnings introduced in my last commit.
20423
dd19c7d7 204242008-08-03 Robert Millan <rmh@aybabtu.com>
20425
20426 Make PCI available on all i386 architectures.
20427
20428 * include/grub/i386/pc/pci.h: Move from here ...
20429 * include/grub/i386/pci.h: ... to here.
20430
20431 * include/grub/i386/pc/pci.h: Remove.
20432 * include/grub/i386/efi/pci.h: Remove.
20433 * include/grub/x86_64/efi/pci.h: Remove.
20434
20435 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
20436 `<grub/cpu/pci.h>'.
20437
20438 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
20439 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
20440 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
20441
20442 * conf/i386-ieee1275.rmk: Likewise.
20443
e14a6184 204442008-08-03 Robert Millan <rmh@aybabtu.com>
20445
20446 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
20447 (grub_console_setcursor): Make it possible to set cursor off.
20448
52768e37 204492008-08-03 Robert Millan <rmh@aybabtu.com>
20450
20451 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
20452 of modules instead of assuming which platform provides what.
20453 * util/update-grub.in: Likewise.
20454
2d52f57f 204552008-08-03 Robert Millan <rmh@aybabtu.com>
20456
20457 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
20458 instead of `grub_install_dos_part' to determine whether a drive needs
20459 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 20460 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 20461
2a5cd121 204622008-08-02 Robert Millan <rmh@aybabtu.com>
20463
20464 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
20465
93808428 204662008-08-02 Robert Millan <rmh@aybabtu.com>
20467
20468 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
20469 of informational grub_dprintf() calls.
20470
3bd0a12a 204712008-08-02 Robert Millan <rmh@aybabtu.com>
20472
20473 * disk/memdisk.c (memdisk_size): Don't initialize.
20474 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
20475
20476 * include/grub/i386/pc/kernel.h
20477 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
20478 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
20479 (grub_memdisk_image_size, grub_arch_memdisk_addr)
20480 (grub_arch_memdisk_size): Remove.
20481
20482 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
20483 field (was only used to transfer a constant). Add `type' field to
20484 support multiple module types.
20485 (grub_module_iterate): New function.
20486
20487 * kern/device.c (grub_device_open): Do not hide error messages
20488 when grub_disk_open() fails. Use grub_print_error() instead.
20489
20490 * kern/i386/pc/init.c (grub_arch_modules_addr)
20491 (grub_arch_memdisk_size): Remove functions.
20492 (grub_arch_modules_addr): Return the module address in high memory
20493 (now that it isn't copied anymore).
20494
20495 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
20496 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
20497 decompression routine (grub_total_module_size already includes that
20498 now). Don't copy modules back to low memory.
20499
20500 * kern/main.c: Include `<grub/mm.h>'.
20501 (grub_load_modules): Split out (and use) ...
20502 (grub_module_iterate): ... this function, which iterates through
20503 module objects and runs a hook.
20504 Comment out grub_mm_init_region() call, as it would cause non-ELF
20505 modules to be overwritten.
20506
20507 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
20508 the memdisk image in its own region, make it part of the module list.
20509 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
20510 (main): Parse --memdisk|-m option, and pass user-provided path as
20511 parameter to generate_image().
20512 (add_segments): Pass `memdisk_path' down to load_modules().
20513 (load_modules): Embed memdisk image in module section when requested.
20514 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
20515 `header.type' instead of `header.offset'.
20516
20517 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
20518 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
20519 (memdisk_mod_LDFLAGS): New variables.
20520 * conf/i386-coreboot.rmk: Likewise.
20521 * conf/i386-ieee1275.rmk: Likewise.
20522
a927cc73 205232008-08-02 Robert Millan <rmh@aybabtu.com>
20524
20525 * loader/i386/pc/multiboot.c (playground, forward_relocator)
20526 (backward_relocator): New variables. Used to allocate and relocate
20527 the payload, respectively.
20528 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 20529 address, install the appropriate relocator code in each bound of
a927cc73 20530 the payload, and set the entry point such that
20531 grub_multiboot_real_boot() will jump to one of them.
20532
20533 * kern/i386/loader.S (grub_multiboot_payload_size)
20534 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
20535 (grub_multiboot_payload_entry_offset): New variables.
20536 (grub_multiboot_real_boot): Set cpu context to what the relocator
20537 expects, and jump to the relocator instead of the payload.
20538
20539 * include/grub/i386/loader.h (grub_multiboot_payload_size)
20540 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
20541 (grub_multiboot_payload_entry_offset): Export.
20542
b15d8a0c 205432008-08-01 Bean <bean123ch@gmail.com>
20544
20545 * normal/menu_entry.c (editor_getline): Don't return the original
20546 string as result, as it will be released by lexer once it has done
20547 using it.
20548
cdfb3d22 205492008-08-01 Robert Millan <rmh@aybabtu.com>
20550
20551 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
20552 within menuentries, not before them.
20553 util/grub.d/10_hurd.in: Likewise.
20554
9175e93d 205552008-08-01 Bean <bean123ch@gmail.com>
20556
20557 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
20558 (bufio_mod_SOURCES): New macro.
20559 (bufio_mod_CFLAGS): Likewise.
20560 (bufio_mod_LDFLAGS): Likewise.
20561
20562 * include/grub/bufio.h: New file.
20563
20564 * io/bufio.c: Likewise.
20565
20566 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
20567 (grub_video_reader_png): Use grub_buffile_open to open file.
20568
20569 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
20570 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
20571
20572 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
20573 (grub_video_reader_tga): Use grub_buffile_open to open file.
20574
20575 * font/manager.c: Include <grub/bufio.h>.
20576 (add_font): Use grub_buffile_open to open file.
20577
3d8383e7 205782008-07-31 Robert Millan <rmh@aybabtu.com>
20579
20580 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
20581 ELF segments, use a macro for arbitrarily accessing any of them instead
20582 of preparing a pointer that allows access to one at a time.
20583 (grub_multiboot_load_elf64): Likewise.
20584
16e641b6 205852008-07-31 Bean <bean123ch@gmail.com>
20586
20587 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
20588 GRUB_KERNEL_MACHINE_DATA_END.
20589
59198b72 205902008-07-30 Robert Millan <rmh@aybabtu.com>
20591
20592 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
20593 Increase from 0x50 to 0x60.
20594 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
20595 use UUIDs to identify the root drive for them. If that's not
20596 possible, abort.
20597 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
20598 check, for cross-disk installs.
20599
ae88bca3 206002008-07-30 Robert Millan <rmh@aybabtu.com>
20601
20602 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
20603 is non-empty, use it to set the `prefix' environment variable instead
20604 of the usual approach.
20605 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
20606 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
20607 environment variable instead of dummy make_install_device().
20608
20609 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
20610 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 20611 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 20612
20613 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
20614 New variable reference.
20615 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
20616 New macro. Defines offset of `grub_prefix' within startup.S (relative
20617 to `start').
20618 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
20619 section within startup.S (relative to `start').
20620 * include/grub/i386/coreboot/kernel.h: Likewise.
20621
20622 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
20623 Overwrite grub_prefix with its contents, at the beginning of the
20624 first segment.
20625 (main): Understand -p|--prefix.
20626
14f41dd1 206272008-07-30 Robert Millan <rmh@aybabtu.com>
20628
20629 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
20630
4ca049a3 206312008-07-30 Robert Millan <rmh@aybabtu.com>
20632
20633 * term/i386/pc/vga_text.c (grub_console_cls): Use
20634 grub_console_gotoxy() to go back to beginning of the screen.
20635 Found by Patrick Georgi <patrick.georgi@coresystems.de>
20636
2921d337 206372008-07-29 Christian Franke <franke@computer.org>
20638
20639 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
20640 Add conversion of emulated mount points on Cygwin.
20641
b609876d 206422008-07-29 Christian Franke <franke@computer.org>
20643
20644 * util/update-grub.in: Add a check for admin
20645 group on Cygwin.
20646 Remove old `grub.cfg.new' before creation.
20647 Add `-f' to `mv' to handle the different filesystem
20648 semantics of Windows.
20649
e93e4679 206502008-07-29 Bean <bean123ch@gmail.com>
20651
20652 * normal/main.c (get_line): Fix buffer overflow bug.
20653
41694fd0 206542008-07-28 Robert Millan <rmh@aybabtu.com>
20655
20656 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
20657 (struct grub_apple_header): New struct. Describes the layout of
20658 the partmap header.
20659 (apple_partition_map_iterate): Check the header magic as well as the
20660 partition magic (which was already being checked).
20661
cfd0b4e6 206622008-07-28 Pavel Roskin <proski@gnu.org>
20663
20664 * genmk.rb: Add a warning to the beginning of the output that
20665 it's a generated file and should not be edited.
20666
93cce016 206672008-07-28 Robert Millan <rmh@aybabtu.com>
20668
20669 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
20670 with the same number are found, just use issue a warning with
20671 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 20672
cd1df915 206732008-07-27 Robert Millan <rmh@aybabtu.com>
20674
20675 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
20676 information.
20677
b70a8427 206782008-07-27 Bean <bean123ch@gmail.com>
20679
20680 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
20681 (grub_fat_find_dir): Ignore case when comparing filename.
20682
8f5e379f 206832008-07-27 Bean <bean123ch@gmail.com>
20684
20685 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
20686 smallino, as it's more descriptive, and i8count can be confused with
20687 the other field count.
20688 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
20689 inode type.
20690
a85cd5a0 206912008-07-27 Bean <bean123ch@gmail.com>
20692
20693 * commands/crc.c: New file.
20694
20695 * lib/crc.c: Likewise.
20696
20697 * include/grub/lib/crc.h: Likewise.
20698
20699 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
20700
20701 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
20702 (hexdump): Move this function to ...
20703
20704 * lib/hexdump.c: ... here.
20705
20706 * include/grub/hexdump.h: Renamed to ...
20707
20708 * include/grub/lib/hexdump.h: ... this.
20709
20710 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
20711
20712 * util/grub-editenv.c: Likewise.
20713
20714 * include/envblk.h: Renamed to ...
20715
20716 * include/lib/envblk.h: ... this.
20717
20718 * util/envblk.c: Renamed to ...
20719
20720 * lib/envblk.c: ... this.
20721
20722 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
20723 lib/hexdump.c.
20724 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
20725 (pkglib_MODULES): Add crc.mod.
20726 (hexdump_mod_SOURCES): Add lib/hexdump.c.
20727 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
20728 (crc_mod_SOURCES): New macro.
20729 (crc_mod_CFLAGS): Likewise.
20730 (crc_mod_LDFLAGS): Likewise.
20731
20732 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
20733
20734 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20735
20736 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20737
20738 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20739
20740 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20741
c298def0 207422008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 20743
20744 * commands/help.c: Include <grub/term.h>.
20745 (TERM_WIDTH): Removed. Updated all users.
20746
cc349fb3 207472008-07-27 Pavel Roskin <proski@gnu.org>
20748
20749 * util/getroot.c (find_root_device): Rephrase a comment to avoid
20750 spurious warnings about a comment within a comment.
20751
9051607e 207522008-07-25 Robert Millan <rmh@aybabtu.com>
20753
20754 * util/getroot.c (find_root_device): Skip devices that match
20755 /dev/dm-[0-9]. This lets the real device be found for any type of
20756 abstraction (LVM, EVMS, RAID..).
20757 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
20758 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
20759 device is found first, find_root_device() will now skip it.
20760
01453bfc 207612008-07-24 Pavel Roskin <proski@gnu.org>
20762
20763 * include/grub/types.h: Use __builtin_bswap32() and
20764 __builtin_bswap64() with gcc 4.3 and newer.
20765
6af9849f 207662008-07-24 Christian Franke <franke@computer.org>
20767
3a0fa256 20768 * util/i386/pc/grub-install.in: If `--debug' is specified,
20769 pass `--verbose' to grub-setup.
20770 Abort script if make_system_path_relative_to_its_root() fails.
20771
7810e747 207722008-07-24 Bean <bean123ch@gmail.com>
20773
20774 * configure.ac: Fixed a bug caused by the previous cygwin patch,
20775 variable `target_platform' should be `platform'.
20776
42290e17 207772008-07-24 Bean <bean123ch@gmail.com>
20778
51cc5193 20779 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 20780 (grub_png_init_fixed_block): New function.
20781 (grub_png_decode_image_data): Handle fixed huffman code compression.
20782
2a8a80e4 207832008-07-24 Bean <bean123ch@gmail.com>
20784
20785 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
20786 (grub_pe2elf_SOURCES): New macro.
20787 (CLEANFILES): Add grub-pe2elf.
20788
20789 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
20790 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
20791 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
20792 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
20793 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
20794 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
20795 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
20796 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
20797 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
20798 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
20799 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
20800 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
20801 (GRUB_PE32_DT_FUNCTION): Likewise.
20802 (GRUB_PE32_REL_I386_DIR32): Likewise.
20803 (GRUB_PE32_REL_I386_REL32): Likewise.
20804 (grub_pe32_symbol): New structure.
20805 (grub_pe32_reloc): Likewise.
20806
20807 * util/grub-pe2elf.c: New file.
20808
20809 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
20810 start symbol in non pc platform.
20811
20812 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
20813
20814 The following patches are from Christian Franke.
20815
20816 * include/grub/dl.h: Remove .previous, gas supports this only
20817 for ELF format.
20818
20819 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
20820 Remove .type, gas supports this only for ELF format.
20821
20822 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
20823 nullbytes in symbol table. This fixes an infinite loop if table is
20824 zero filled.
20825
20826 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
20827 TARGET_IMG_LDFLAGS and EXEEXT.
20828
20829 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
20830 TARGET_IMG_LDFLAGS_AC.
20831 (grub_CHECK_STACK_ARG_PROBE): New function.
20832
20833 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
20834
20835 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
20836
20837 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
20838 to set TARGET_IMG_LD* accordingly.
20839 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
20840 Add call to grub_CHECK_STACK_ARG_PROBE.
20841 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
20842
20843 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
20844
20845 * genmk.rb: Add EXEEXT to CLEANFILES.
20846
12ccdb75 208472008-07-23 Robert Millan <rmh@aybabtu.com>
20848
20849 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
20850 define the codes for arrows and lines used for the menu).
20851 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
20852 as well.
20853
20854 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
20855 fonts, because the latter are too slow.
20856
18eeaf04 208572008-07-21 Bean <bean123ch@gmail.com>
20858
20859 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
20860 a20. Run keyboard test last, as it will cause macbook to halt.
20861
b095e2ad 208622008-07-18 Pavel Roskin <proski@gnu.org>
20863
20864 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
20865 load foreign architecture modules correctly anyway. Keep
20866 support for loading host architecture modules, whether we
20867 compile them or not.
20868
737feb35 208692008-07-17 Pavel Roskin <proski@gnu.org>
20870
3f4ce737 20871 * configure.ac: Use -m32 or -m64 regardless of whether we had to
20872 change target_cpu. The compiler default can mismatch target_cpu
20873 in any case.
20874
4ad2d049 20875 * disk/efi/efidisk.c: Fix format warnings on x86_64.
20876 * kern/efi/efi.c: Likewise.
20877
f6130a12 20878 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
20879 target compiler is functional.
20880 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
20881 are set up.
20882
58393a2d 20883 * configure.ac: Default to efi platform for x86_64-apple. Allow
20884 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
20885 adjustments from the rest, only do them if target is not
20886 explicitly given. Merge other adjustments with the final sanity
20887 check. Remove an extraneous check for supported CPU. Be
20888 specific which CPU and which platform is not supported.
20889
737feb35 20890 * configure.ac: Default to pc platform for x86_64.
20891
546f966a 208922008-07-17 Robert Millan <rmh@aybabtu.com>
20893
20894 Partial LinuxBIOS -> Coreboot rename.
20895
20896 * conf/i386-linuxbios.rmk: Renamed to ...
20897 * conf/i386-coreboot.rmk: ... this.
20898 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
20899 * configure.ac: Accept "coreboot" as input platform (but maintain
20900 compatibility with "linuxbios").
20901 * include/grub/i386/linuxbios: Renamed to ...
20902 * include/grub/i386/coreboot: ... this.
20903
20011694 209042008-07-17 Bean <bean123ch@gmail.com>
20905
20906 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 20907 (appleldr_mod_SOURCE): New variable.
20011694 20908 (appleldr_mod_CFLAGS): Likewise.
20909 (appleldr_mod_LDFLAGS): Likewise.
20910 (pci_mod_SOURCES): Likewise.
20911 (pci_mod_CFLAGS): Likewise.
20912 (pci_mod_LDFLAGS): Likewise.
20913 (lspci_mod_SOURCES): Likewise.
20914 (lspci_mod_CFLAGS): Likewise.
20915 (lspci_mod_LDFLAGS): Likewise.
20916
20917 * conf/x86_64-efi.rmk: New file.
20918
20919 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
20920 macro.
20921 (grub_efidisk_write): Likewise.
20922
20923 * include/efi/api.h (efi_call_0): New macro.
20924 (efi_call_1): Likewise.
20925 (efi_call_2): Likewise.
20926 (efi_call_3): Likewise.
20927 (efi_call_4): Likewise.
20928 (efi_call_5): Likewise.
20929 (efi_call_6): Likewise.
20930
20931 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
20932 grub_rescue_cmd_chainloader.
20933
20934 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
20935 (grub_pe32_optional_header): Change some fields based on i386 or
20936 x86_64 platform.
20937 (GRUB_PE32_PE32_MAGIC): Likewise.
20938
20939 * include/grub/efi/uga_draw.h: New file.
20940
20941 * include/grub/elf.h (STN_ABS): New constant.
20942 (R_X86_64_NONE): Relocation constant for x86_64.
20943 (R_X86_64_64): Likewise.
20944 (R_X86_64_PC32): Likewise.
20945 (R_X86_64_GOT32): Likewise.
20946 (R_X86_64_PLT32): Likewise.
20947 (R_X86_64_COPY): Likewise.
20948 (R_X86_64_GLOB_DAT): Likewise.
20949 (R_X86_64_JUMP_SLOT): Likewise.
20950 (R_X86_64_RELATIVE): Likewise.
20951 (R_X86_64_GOTPCREL): Likewise.
20952 (R_X86_64_32): Likewise.
20953 (R_X86_64_32S): Likewise.
20954 (R_X86_64_16): Likewise.
20955 (R_X86_64_PC16): Likewise.
20956 (R_X86_64_8): Likewise.
20957 (R_X86_64_PC8): Likewise.
20958
20959 * include/grub/i386/efi/pci.h: New file.
20960
20961 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
20962 Change it value based on platform.
20963 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
20964 (GRUB_E820_RAM): Likewise.
20965 (GRUB_E820_RESERVED): Likewise.
20966 (GRUB_E820_ACPI): Likewise.
20967 (GRUB_E820_NVS): Likewise.
20968 (GRUB_E820_EXEC_CODE): Likewise.
20969 (GRUB_E820_MAX_ENTRY): Likewise.
20970 (grub_e820_mmap): New structure.
20971 (linux_kernel_header): Change the efi field according to different
20972 kernel version, also field from linux_kernel_header.
20973
20974 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
20975
20976 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
20977 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
20978 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
20979 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
20980 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
20981 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
20982 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
20983 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
20984 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
20985 (GRUB_PCI_ADDR_IO_MASK): Likewise.
20986
20987 * include/grub/x86_64/efi/kernel.h: New file.
20988
20989 * include/grub/x86_64/efi/loader.h: Likewise.
20990
20991 * include/grub/x86_64/efi/machine.h: Likewise.
20992
20993 * include/grub/x86_64/efi/pci.h: Likewise.
20994
20995 * include/grub/x86_64/efi/time.h: Likewise.
20996
20997 * include/grub/x86_64/linux.h: Likewise.
20998
20999 * include/grub/x86_64/setjmp.h: Likewise.
21000
21001 * include/grub/x86_64/time.h: Likewise.
21002
21003 * include/grub/x86_64/types.h: Likewise.
21004
21005 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
21006 GRUB_TARGET_SIZEOF_VOID_P.
21007
21008 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
21009 (grub_efi_locate_handle): Likewise.
21010 (grub_efi_open_protocol): Likewise.
21011 (grub_efi_set_text_mode): Likewise.
21012 (grub_efi_stall): Likewise.
21013 (grub_exit): Likewise.
21014 (grub_reboot): Likewise.
21015 (grub_halt): Likewise.
21016 (grub_efi_exit_boot_services): Likewise.
21017 (grub_get_rtc): Likewise.
21018
21019 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
21020 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
21021 (grub_efi_allocate_pages): Wrap efi calls.
21022 (grub_efi_free_pages): Wrap efi calls.
21023 (grub_efi_get_memory_map): Wrap efi calls.
21024
21025 * kern/x86_64/dl.c: New file.
21026
21027 * kern/x86_64/efi/callwrap.S: Likewise.
21028
21029 * kern/x86_64/efi/startup.S: Likewise.
21030
21031 * loader/efi/appleloader.c: Likewise.
21032
21033 * loader/efi/chainloader.c (cmdline): New variable.
21034 (grub_chainloader_unload): Wrap efi calls.
21035 (grub_chainloader_boot): Likewise.
21036 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
21037 command line.
21038
21039 * loader/efi/chainloader_normal.c (chainloader_command):
21040 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
21041 command line.
21042
21043 * loader/i386/efi/linux.c (allocate_pages): Change allocation
21044 method.
21045 (grub_e820_add_region): New function.
21046 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
21047 booting.
21048 (grub_find_video_card): New function.
21049 (grub_linux_setup_video): New function.
21050 (grub_rescue_cmd_linux): Probe for video information.
21051
21052 * normal/x86_64/setjmp.S: New file.
21053
21054 * term/efi/console.c (map_char): New function.
21055 (grub_console_putchar): Map unicode char.
21056 (grub_console_checkkey): Wrap efi calls.
21057 (grub_console_getkey): Likewise.
21058 (grub_console_getwh): Likewise.
21059 (grub_console_gotoxy): Likewise.
21060 (grub_console_cls): Likewise.
21061 (grub_console_setcolorstate): Likewise.
21062 (grub_console_setcursor): Likewise.
21063
21064 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
21065
59652a20 210662008-07-16 Pavel Roskin <proski@gnu.org>
21067
ef294055 21068 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
21069 format strings.
21070
59652a20 21071 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
21072 pointer, not an integer. This fixes a warning and prevents
21073 precision loss on 64-bit systems.
21074 (relocate_addresses): Remove unneeded cast.
21075
afc3b5d7 210762008-07-15 Pavel Roskin <proski@gnu.org>
21077
506b2b3e 21078 * kern/i386/ieee1275/init.c: Include grub/cache.h.
21079
62ead89c 21080 * term/ieee1275/ofconsole.c: Disable code unused on i386.
21081
c4cd51d7 21082 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
21083 Fix comparison between signed and unsigned.
21084
0d3d8f28 21085 * include/grub/i386/ieee1275/console.h: Declare
21086 grub_console_init() and grub_console_fini().
21087
8804b286 21088 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
21089 It's empty and unused.
21090
ee01cf35 21091 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
21092 beginning to avoid warnings with some compilers.
21093
afc3b5d7 21094 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
21095 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
21096
e4e8eaa5 210972008-07-14 Pavel Roskin <proski@gnu.org>
21098
407aceb4 21099 * kern/env.c (grub_register_variable_hook): Don't copy empty
21100 string, it leaks memory. Pass "" to grub_env_set(), it should
21101 handle constant strings.
21102
e4e8eaa5 21103 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
21104 * commands/cmp.c (grub_cmd_cmp): Likewise.
21105 * kern/dl.c (grub_dl_flush_cache): Likewise.
21106 (grub_dl_load_core): Likewise.
21107 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
21108 (grub_elf64_load_phdrs): Likewise.
21109
d4e2dad3 211102008-07-13 Pavel Roskin <proski@gnu.org>
21111
21112 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
21113 between signed and unsigned.
21114 (LzmaEnc_Finish): Fix warning about an unused parameter.
21115
aa24b516 211162008-07-13 Bean <bean123ch@gmail.com>
21117
21118 * Makefile.in (enable_lzo): New rule.
21119
21120 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
21121
21122 * configure.ac (ENABLE_LZO): New option --enable-lzo.
21123
21124 * boot/i386/pc/lnxboot.S: #include <config.h>.
21125
21126 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 21127 its value according to the compression algorithm used, lzo or lzma.
aa24b516 21128
21129 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
21130 compression algorithm according to configure macro.
21131
21132 * kern/i386/pc/startup.S (codestart): Likewise.
21133
21134 * kern/i386/pc/lzma_decode.S: New file.
21135
21136 * include/grub/lib/LzFind.h: Likewise.
21137
21138 * include/grub/lib/LzHash.h: Likewise.
21139
21140 * include/grub/lib/LzmaDec.h: Likewise.
21141
21142 * include/grub/lib/LzmaEnc.h: Likewise.
21143
21144 * include/grub/lib/LzmaTypes.h: Likewise.
21145
21146 * lib/LzFind.c: Likewise.
21147
21148 * lib/LzmaDec.c: Likewise.
21149
21150 * lib/LzmaEnc.c: Likewise.
21151
4ae821ac 211522008-07-13 Bean <bean123ch@gmail.com>
21153
21154 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
21155 (grub_ext4_extent_header): New structure.
21156 (grub_ext4_extent): Likewise.
21157 (grub_ext4_extent_idx): Likewise.
21158 (grub_ext4_find_leaf): New function.
21159 (grub_ext2_read_block): Handle extents.
21160
9a745147 211612008-07-12 Robert Millan <rmh@aybabtu.com>
21162
21163 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
21164
d49a4cf6 211652008-07-11 Robert Millan <rmh@aybabtu.com>
21166
21167 * util/grub.d/40_custom.in: New file. Example on how to add custom
21168 entries to /etc/grub.d.
21169 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
21170 40_custom (implicitly, by merging all the grub.d rules).
21171
947414b4 211722008-07-11 Pavel Roskin <proski@gnu.org>
21173
0059cf6f 21174 * commands/read.c (grub_getline): Fix invalid memory access.
21175 Don't add newline to the variable value.
21176
947414b4 21177 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
21178 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
21179 (serial_hw_get_port): Check validity of the port number.
21180 (grub_cmd_serial): Check return value of serial_hw_get_port().
21181
62a02d00 211822008-07-07 Pavel Roskin <proski@gnu.org>
21183
21184 * boot/i386/pc/diskboot.S (notification_string): Replace
21185 "Loading kernel" with just "loading". This is shorter, less
21186 confusing and saves a few bytes for possible future changes.
21187
3e5581b0 211882008-07-05 Pavel Roskin <proski@gnu.org>
21189
ea387a48 21190 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
21191 size for ATAPI devices, they are undefined. Output sector
21192 number in decimal form.
21193
3e5581b0 21194 * disk/ata.c: Use named constants for status bits.
21195
fdecb8fd 211962008-07-04 Pavel Roskin <proski@gnu.org>
21197
bcd35b90 21198 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
21199 grub_addr_t before casting it to the void pointer to fix a
21200 warning. Non-addressable regions are discarded earlier.
21201 (grub_arch_modules_addr): Cast _end to grub_addr_t.
21202 * kern/i386/linuxbios/table.c: Include grub/misc.h.
21203 (check_signature): Don't shadow table_header.
21204 (grub_linuxbios_table_iterate): Cast numeric constants to
21205 grub_linuxbios_table_header_t.
21206 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
21207 grub_stop().
21208
af58ab3d 21209 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
21210 prevent warnings.
21211
1759aa57 21212 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
21213 pointer, which can cause warnings. Support 64-bit addresses.
21214
fdecb8fd 21215 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
21216 of sizeof(long). This fixes PowerPC image generation on x86_64.
21217
8516d2a8 212182008-07-04 Robert Millan <rmh@aybabtu.com>
21219
21220 This fixes a performance issue when pc & gpt partmap iterators
21221 didn't abort iteration even after our hook found what it was
fe987087 21222 looking for (often causing expensive probes of non-existent drives).
8516d2a8 21223
21224 Some callers relied on previous buggy behaviour, since they would
34c44600 21225 raise an error when their own hooks caused early abortion of its
8516d2a8 21226 iteration.
21227
21228 * kern/device.c (grub_device_open): Improve error message.
21229 * disk/lvm.c (grub_lvm_open): Likewise.
21230 * disk/raid.c (grub_raid_open): Likewise.
21231
21232 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
21233 when hook requests it, independently of grub_errno.
21234 (pc_partition_map_probe): Do not fail when find_func() caused
21235 early abortion of pc_partition_map_iterate().
21236
21237 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
21238 when hook requests it, independently of grub_errno.
21239 (gpt_partition_map_probe): Do not fail when find_func() caused
21240 early abortion of gpt_partition_map_iterate().
21241
21242 * kern/partition.c (grub_partition_iterate): Abort parent iteration
21243 when hook requests it, independently of grub_errno. Do not fail when
21244 part_map_iterate_hook() caused early abortion of p->iterate().
21245
21246 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
21247 when grub_partition_iterate() returned with non-zero.
21248
277d0de9 212492008-07-03 Pavel Roskin <proski@gnu.org>
21250
21251 * disk/ata.c (grub_ata_pio_write): Check status before writing,
21252 like we do in grub_ata_pio_read().
21253 (grub_ata_readwrite): Always write individual sectors. Fix the
21254 sector count for the remainder.
21255 (grub_ata_write): Enable writing to ATA devices. Correctly
21256 report error for ATAPI devices.
21257
d4c9b428 212582008-07-02 Pavel Roskin <proski@gnu.org>
21259
e43fc690 21260 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
21261 warning.
21262
f707af42 21263 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
21264 for every read sector, we already increment it for the whole
21265 batch. This fixes reading more than 256 sectors at once.
21266
11e16b15 21267 * util/grub-editenv.c (cmd_info): Cast argument to long
21268 explicitly. ptrdiff_t reduces to int on i386.
21269
cbabfdd4 21270 * util/grub-editenv.c (main): Be specific which parameter is
21271 missing.
21272
b8fbce0a 21273 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
21274 (memdisk): Make memdisk_orig_addr a pointer.
21275
c9c8e606 21276 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
21277 for file offsets, use grub_off_t instead. Fix printf format
21278 warnings.
21279
ca62e598 21280 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
21281 there. Real unexpected warnings should not drown in the noise
21282 about known problems.
21283
ce8d1766 21284 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
21285 grub_disk_addr_t for memory addresses.
21286
00c7a56a 21287 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
21288 explicitly to fix a warning.
21289
08d3ef09 21290 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
21291
cb71ba20 21292 * Makefile.in (MODULE_LDFLAGS): New variable.
21293 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
21294 the linker accepts --build-id=none.
21295 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
21296 MODULE_LDFLAGS.
21297 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
21298
d4c9b428 21299 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
21300 those in Linux XFS code. Provide a way to access 64-bit parent
21301 inode.
21302 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
21303 the end of struct grub_xfs_dir_header.
21304
d4156eee 213052008-07-02 Bean <bean123ch@gmail.com>
21306
21307 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
21308 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
21309 and GRUB_IEEE1275_FLAG_NO_ANSI.
21310
21311 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
21312 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
21313 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
21314
21315 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
21316 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
21317
21318 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
21319 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
21320
21321 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
21322 esc sequence on non ANSI terminal.
21323 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
21324
21325 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
21326 beginning of file.
21327
2270f77b 213282008-07-02 Bean <bean123ch@gmail.com>
21329
21330 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
21331 (grub_editenv_SOURCES): New variable.
21332 (pkglib_MODULES): Add loadenv.mod.
21333 (loadenv_mod_SOURCES): New variable.
21334 (loadenv_mod_CFLAGS): Likewise.
21335 (loadenv_mod_LDFLAGS): Likewise.
21336
21337 * include/grub/envblk.h: New file.
21338
21339 * util/envblk.c: New file.
21340
21341 * util/grub-editenv.c: New file.
21342
21343 * commands/loadenv.c: New file.
21344
0e9e51ec 213452008-07-01 Pavel Roskin <proski@gnu.org>
21346
d89b7634 21347 * include/multiboot2.h (struct multiboot_tag_module): Use char,
21348 not unsigned char. This fixes warnings and is consistent with
21349 other tags.
21350
bf1835b1 21351 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
21352
8222a04b 21353 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
21354
6a42d99d 21355 * term/tparm.c (analyze): Always set *popcount.
21356
10b159d1 21357 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
21358 cast to fix a warning.
21359
b8789f6c 21360 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
21361 cast to suppress a warning.
21362
29d7e38a 21363 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
21364 grub_fshelp_read_file() expects.
21365
f341f669 21366 * fs/fat.c: Fix UUID calculation on big-endian systems. We
21367 write uuid as a 32-bit value in CPU byte order, so declare and
21368 use it as such.
21369
0e9e51ec 21370 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
21371 long if the format specifier expects it.
21372 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
21373 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21374 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
21375 long to fix a warning.
21376 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
21377 grub_dprintf() arguments to fix warnings.
21378
3aefa857 213792008-06-30 Pavel Roskin <proski@gnu.org>
21380
56c7668b 21381 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
21382 install_bsd_part immediately before core.img is embedded or
21383 modified on disk. This fixes core.img verification if core.img
21384 cannot be embedded.
21385
3aefa857 21386 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
21387 core_path to calculate the blocklist.
21388 Patch from Javier Martín <lordhabbit@gmail.com>
21389
5444088d 213902008-06-29 Robert Millan <rmh@aybabtu.com>
21391
21392 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
21393 block to disk block.
21394 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
21395 Patch from Niels Böhm <bitbucket@arcor.de>
21396
674835c8 213972008-06-29 Robert Millan <rmh@aybabtu.com>
21398
21399 * util/update-grub_lib.in (font_path): Search for fonts in
21400 /boot/grub first, which is more likely to be readable (we aren't
21401 deciding where fonts live, just looking for them).
21402
f527dbc8 214032008-06-26 Pavel Roskin <proski@gnu.org>
21404
6c2d8df6 21405 * util/biosdisk.c (read_device_map): Don't leave dead map
21406 entries for devices failing stat() check.
21407
f527dbc8 21408 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
21409 core_path_dev for the core.img path on the target device.
21410
aebe3d13 214112008-06-26 Robert Millan <rmh@aybabtu.com>
21412
21413 * disk/fs_uuid.c: New file.
21414 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
21415 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
21416 (fs_uuid_mod_LDFLAGS): New variables.
21417 * include/grub/disk.h (grub_disk_dev_id): Add
21418 `GRUB_DISK_DEVICE_UUID_ID'.
21419 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
21420 implement iterate().
21421
37aaf354 214222008-06-26 Robert Millan <rmh@aybabtu.com>
21423
21424 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
21425 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
21426 Linux image includes no initrd.
21427
25ff262a 214282008-06-21 Javier Martín <lordhabbit@gmail.com>
21429
21430 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
21431 call to resolve the core image location that effectively appended the
21432 name twice.
21433
76a2bd44 214342008-06-21 Robert Millan <rmh@aybabtu.com>
21435
21436 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
21437 call from here ...
21438
21439 * util/grub.d/10_hurd.in: ... to here ...
21440 * util/grub.d/10_linux.in: ... and here.
21441
650e1c79 214422008-06-19 Robert Millan <rmh@aybabtu.com>
21443
fe987087 21444 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 21445 after it has been set by grub_machine_set_prefix().
21446
6ce63911 214472008-06-19 Robert Millan <rmh@aybabtu.com>
21448
21449 * commands/search.c (search_label, search_fs_uuid, search_file): Print
21450 search result when not saving to variable, not the other way around.
21451 When saving to variable, abort iteration as soon as a match is found.
21452
73940cec 214532008-06-19 Robert Millan <rmh@aybabtu.com>
21454
21455 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
21456 check for partition that provides /boot/grub. Its logic is flawed,
21457 as it prevents prepare_grub_to_access_device() from being called
21458 multiple times.
21459
3c62a39d 214602008-06-19 Robert Millan <rmh@aybabtu.com>
21461
21462 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
21463 "insmod" command directly when abstraction modules are needed,
fe987087 21464 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 21465 since it had already been processed).
21466
47395a42 214672008-06-19 Pavel Roskin <proski@gnu.org>
21468
21469 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
21470 changed. This is needed in case GRUB_LIBDIR changes.
21471 * conf/i386-ieee1275.rmk: Likewise.
21472 * conf/i386-linuxbios.rmk: Likewise.
21473 * conf/i386-pc.rmk: Likewise.
21474 * conf/powerpc-ieee1275.rmk: Likewise.
21475
a145ac2d 214762008-06-18 Pavel Roskin <proski@gnu.org>
21477
21478 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
21479 kernel_elf_symlist.c to symlist.c for consistency with other
21480 architectures. Update all users.
21481 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21482
7847c51e 214832008-06-18 Robert Millan <rmh@aybabtu.com>
21484
21485 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
21486 it in prefix.
21487
21488 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
21489 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
21490 a RAID device, run setup() for all members independently on whether
21491 LVM abstraction is being used.
21492 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
21493 If grub-mkimage has set `*install_dos_part == -2', don't override this
21494 value.
21495 Perform *install_dos_part adjustments independently on whether
21496 we're embedding or not.
21497 Clarify error message when image is too big for embedding.
21498 Remove duplicate *install_dos_part stanza.
21499
b23e5644 215002008-06-17 Robert Millan <rmh@aybabtu.com>
21501
21502 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
21503 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
21504 variables.
21505 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
21506 values in grub_ofconsole_normal_color and
21507 grub_ofconsole_highlight_color (they're not directly related to
21508 background and foreground).
21509 (grub_ofconsole_setcolorstate): Extract background and foreground
21510 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
21511
0aac2f79 215122008-06-17 Robert Millan <rmh@aybabtu.com>
21513
21514 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
21515 /boot/grub for the check in last commit, not /boot (they could be
21516 different partitions).
21517
3cca7ef3 215182008-06-16 Robert Millan <rmh@aybabtu.com>
21519
21520 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
21521 asked to setup access for the same partition that provides /boot,
21522 don't bother using UUIDs since our root already has the value we
21523 want.
21524
347396d8 215252008-06-16 Robert Millan <rmh@aybabtu.com>
21526
21527 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
21528 I2O devices.
21529 Patch from Sven Mueller <sven@debian.org>.
21530
991477f8 215312008-06-16 Robert Millan <rmh@aybabtu.com>
21532
21533 * util/update-grub.in: Check for $EUID instead of $UID.
21534 Reported by Vincent Zweije.
21535
d31a32a1 215362008-06-16 Bean <bean123ch@gmail.com>
21537
fe987087 21538 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 21539 (grub_ext2_read_block): Likewise.
21540 (grub_ext2_read_inode): Likewise.
21541 (grub_ext2_mount): Likewise.
21542 (grub_ext2_close): Likewise.
21543 (grub_ext3_get_journal): Removed.
21544
fe987087 21545 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 21546 (grub_reiserfs_read_symlink): Likewise.
21547 (grub_reiserfs_mount): Likewise.
21548 (grub_reiserfs_open): Likewise.
21549 (grub_reiserfs_read): Likewise.
21550 (grub_reiserfs_close): Likewise.
21551 (grub_reiserfs_get_journal): Removed.
21552
21553 * fs/fshelp.c (grub_fshelp_read): Removed.
21554 (grub_fshelp_map_block): Likewise.
21555
21556 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
21557 (grub_fshelp_journal): Likewise.
21558 (grub_fshelp_read): Likewise.
21559 (grub_fshelp_map_block): Likewise.
21560
3540a760 215612008-06-16 Pavel Roskin <proski@gnu.org>
21562
21563 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
21564 floating point anymore.
21565 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
21566
95614c84 215672008-06-15 Pavel Roskin <proski@gnu.org>
21568
21569 * commands/ls.c (grub_ls_list_files): Use integer calculations
21570 for human readable format, avoid floating point use.
21571 * kern/misc.c (grub_ftoa): Remove.
21572 (grub_vsprintf): Remove floating point support.
21573
50465dd6 215742008-06-15 Robert Millan <rmh@aybabtu.com>
21575
fe6b695a 21576 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 21577 devices.
21578 Reported by Max Vozeler.
21579
a9207284 215802008-06-15 Robert Millan <rmh@aybabtu.com>
21581
21582 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
21583 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
21584 skipped later.
21585 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
21586 the beginning of the prefix.
21587
21588 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
21589 It is assumed that if we have a memdisk, grub-mkimage has set
21590 grub_prefix to include the "(memdisk)" drive in it.
21591
a7cbd45a 215922008-06-15 Robert Millan <rmh@aybabtu.com>
21593
21594 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
21595 Initialize keyboard controller after registering the terminal, so that
21596 grub_printf() can be called from grub_keyboard_controller_init().
21597
21cf716a 215982008-06-15 Robert Millan <rmh@aybabtu.com>
21599
21600 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
21601 extent-btree which is written as big endian on disk.
21602 Reported by Alain Greppin <al@chilibi.org>.
21603
23a64d8e 216042008-06-14 Robert Millan <rmh@aybabtu.com>
21605
21606 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
21607 * util/i386/pc/grub-install.in (modules): Likewise.
21608
d687651c 216092008-06-13 Pavel Roskin <proski@gnu.org>
21610
21611 * commands/ls.c (grub_ls_list_files): Fix format warnings.
21612
dfe9ddd4 216132008-06-13 Bean <bean123ch@gmail.com>
21614
21615 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
21616
21617 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
21618
21619 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
21620 to indicate sparse block.
21621
16ae7781 216222008-06-12 Pavel Roskin <proski@gnu.org>
21623
e6d1a308 21624 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
21625 number, grub_fshelp_read() does it for us.
21626
16ae7781 21627 * fs/fshelp.c (grub_fshelp_read): New function. Implement
21628 linear disk read with journal translation.
21629 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
21630 * include/grub/fshelp.h: Declare grub_fshelp_read().
21631
40fd3a2b 216322008-06-09 Pavel Roskin <proski@gnu.org>
21633
21634 * fs/minix.c (grub_minix_mount): Handle error reading
21635 superblock.
21636
f5679726 216372008-06-08 Robert Millan <rmh@aybabtu.com>
21638
21639 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
21640 don't append the RAID prefix afterwards.
21641 Reported by Clint Adams.
21642
ce525529 216432008-06-08 Robert Millan <rmh@aybabtu.com>
21644
21645 Based on description from Pavel:
21646 * kern/disk.c (grub_disk_check_range): Rename to ...
21647 (grub_disk_adjust_range): ... this. Add a comment explaining the
21648 tasks performed by this function.
21649
ad4936a0 216502008-06-08 Robert Millan <rmh@aybabtu.com>
21651
21652 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
21653 `num_serial' (for consistency with other variables).
21654 (struct grub_ntfs_data): Add `uuid' member.
21655 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
21656 (grub_ntfs_uuid): New function.
21657 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
21658
dc20b0f9 216592008-06-07 Pavel Roskin <proski@gnu.org>
21660
21661 * util/biosdisk.c (open_device): Revert last change to the
21662 function, it broke installation. The sector needs to be
21663 different dependent on which device is opened.
21664
c5e3cfba 216652008-06-06 Robert Millan <rmh@aybabtu.com>
21666
21667 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
21668 rest of GRUB, and breakage doesn't happen if its value were modified.
21669
21670 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21671 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
21672 a constant (same value).
21673 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
21674 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
21675
26a1f8c4 216762008-06-06 Robert Millan <rmh@aybabtu.com>
21677
21678 * util/biosdisk.c (open_device): Do not modify sector offset when
21679 accessing a partition. kern/disk.c already handles this for us.
21680
25d6b327 216812008-06-06 Robert Millan <rmh@aybabtu.com>
21682
21683 * util/grub-emu.c (grub_machine_init): Move code in this function from
21684 here ...
21685 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
21686 segfault in case grub_printf() is called).
21687
21688 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
21689 grub_probe. Update all users not to explicitly add it again.
21690 (grub_device): New variable; contains corresponding device for grubdir.
21691 (fs_module, partmap_module, devabstraction_module): Pass
21692 `--device ${grub_device}' to grub_probe to avoid traversing /dev
21693 every time.
21694
9ece62fb 216952008-06-05 Robert Millan <rmh@aybabtu.com>
21696
21697 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
21698 is found, print it (same layout as with labels).
21699
1ad36d37 217002008-06-04 Robert Millan <rmh@aybabtu.com>
21701
21702 * util/biosdisk.c (get_drive): Rename to ...
21703 (find_grub_drive): ... this. Update all users.
21704
21705 (get_os_disk): Rename to ...
21706 (convert_system_partition_to_system_disk): ... this. Update all users.
21707
21708 (find_drive): Rename to ...
21709 (find_system_device): ... this. Update all users.
21710
e6a30859 217112008-06-04 Robert Millan <rmh@aybabtu.com>
21712
21713 * util/biosdisk.c (get_os_disk): Handle IDA devices.
21714 * util/grub-mkdevicemap.c (get_mmc_disk_name)
21715 (make_device_map): Likewise.
21716
00c108a4 217172008-06-01 Robert Millan <rmh@aybabtu.com>
21718
21719 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
21720 before dereferencing it.
21721
21722 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
21723 union with fat12/fat16-specific ones. Add some new fields, including
21724 `num_serial' for both versions.
21725 (struct grub_fat_data): Add `uuid' member.
21726 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
21727 names. Initialize `data->uuid' using `num_serial'.
21728 (grub_fat_uuid): New function.
21729 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
21730
21731 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
21732 (grub_reiserfs_uuid): New function.
21733 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
21734 member.
21735
21736 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
21737 (grub_xfs_uuid): New function.
21738 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
21739
1385c5bb 217402008-06-01 Robert Millan <rmh@aybabtu.com>
21741
21742 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
21743 code that is backward compatible with pre-uuid search command.
21744
c682dfd7 217452008-05-31 Robert Millan <rmh@aybabtu.com>
21746
21747 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
21748 floppies after everything else, to ensure floppy drive isn't accessed
21749 unnecessarily (patch from Bean).
21750
b7db5d47 217512008-05-31 Robert Millan <rmh@aybabtu.com>
21752
21753 * commands/search.c (search_label, search_fs_uuid, search_file): Do
21754 not print device names when we were asked to set a variable.
21755
6e037aa9 217562008-05-31 Robert Millan <rmh@aybabtu.com>
21757
21758 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
21759 using "cursor-on" and "cursor-off" commands (understood at least by
21760 the Open Firmware flavour on OLPC).
21761
41305bc8 217622008-05-31 Michael Gorven <michael@gorven.za.net>
21763
21764 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
21765 on and off sequences.
21766
69ba137e 217672008-05-31 Robert Millan <rmh@aybabtu.com>
21768
21769 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
21770 * util/update-grub.in: Likewise.
21771
520ae21b 217722008-05-30 Pavel Roskin <proski@gnu.org>
21773
21774 * util/biosdisk.c (linux_find_partition): Simplify logic and
21775 make the code more universal. Keep special processing for
21776 devfs, but use a simple rule for all other devices. If the
21777 device ends with a number, append 'p' and the partition number.
21778 Otherwise, append only the partition number.
21779
5786569b 217802008-05-30 Robert Millan <rmh@aybabtu.com>
21781
21782 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
21783 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
21784 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
21785 the `root' parameter to Linux.
21786
51500452 217872008-05-30 Robert Millan <rmh@aybabtu.com>
21788
21789 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
21790 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
21791 --fs_uuid with --fs-uuid.
21792 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
21793 all filesystems support them).
21794
811d3878 217952008-05-30 Robert Millan <rmh@aybabtu.com>
21796
21797 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 21798 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 21799
cab63c95 218002008-05-30 Robert Millan <rmh@aybabtu.com>
21801
21802 * util/grub.d/00_header.in: Remove obsolete comment referencing
21803 convert_system_path_to_grub_path().
21804 * util/update-grub.in: Likewise.
21805 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
21806 (convert_system_path_to_grub_path): Add a warning message explaining
21807 that this function is deprecated. Rely on is_path_readable_by_grub()
21808 for the readability checks.
21809 (font_path): Use is_path_readable_by_grub() for the readability
21810 check rather than convert_system_path_to_grub_path().
21811
972e2f7a 218122008-05-30 Robert Millan <rmh@aybabtu.com>
21813
21814 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
21815 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
21816 converting it first.
21817 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
21818 grub.cfg for access to font file, and afterwards call it again to set
21819 the root device.
21820
62191274 218212008-05-30 Robert Millan <rmh@aybabtu.com>
21822
21823 * commands/search.c (options): Add --fs_uuid option.
21824 (search_fs_uuid): New function.
21825 (grub_cmd_search): Fix --set argument passing.
21826 Use search_fs_uuid() when requested via --fs_uuid.
21827 (grub_search_init): Update help message.
21828 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
21829 and redeclare it as an array of 16-bit words.
21830 (grub_ext2_uuid): New function.
21831 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
21832 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
21833 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
21834 (GRUB_DEVICE_BOOT_UUID): New variables.
21835 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
21836 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
21837 whenever possible.
21838 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
21839 just assume `root' variable has the right value.
21840 * util/grub.d/10_linux.in: Likewise.
21841 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
21842 via PRINT_FS_UUID.
21843 (main): Recognise `-t fs_uuid' argument.
21844
01b73ec8 218452008-05-30 Robert Millan <rmh@aybabtu.com>
21846
21847 * util/biosdisk.c (map): Redefine structure to hold information
21848 about GRUB drive name.
fe6b695a 21849 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 21850 drive names.
21851 (call_hook): Remove.
21852 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
21853 member. Assume drive has partitions.
21854 (grub_util_biosdisk_open): Access device names via `.device' struct
21855 member.
21856 (open_device): Likewise.
21857 (find_drive): Likewise.
21858 (read_device_map): Adjust map[] usage to match the new struct
21859 definition. Don't check for duplicates (still possible, but not cheap
21860 anymore).
21861 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
21862 (make_device_name): Remove assumption of BIOS-like drive names.
21863
22f16596 218642008-05-30 Pavel Roskin <proski@gnu.org>
21865
21866 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
21867 compiling execute.c doesn't need grub_script.tab.h anymore.
21868 (normal/command.c_DEPENDENCIES): Likewise.
21869 (normal/function.c_DEPENDENCIES): Likewise.
21870 * conf/i386-ieee1275.rmk: Likewise.
21871 * conf/i386-linuxbios.rmk: Likewise.
21872 * conf/i386-pc.rmk: Likewise.
21873 * conf/powerpc-ieee1275.rmk: Likewise.
21874 * conf/sparc64-ieee1275.rmk: Likewise.
21875
528ad8f2 218762008-05-29 Pavel Roskin <proski@gnu.org>
21877
d1dff95d 21878 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
21879 when scanning metadata for volume group name.
21880
528ad8f2 21881 * include/grub/script.h: Don't include grub_script.tab.h. It's
21882 a generated file, which may only be included from the files with
21883 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
21884 use union YYSTYPE, as the later allows forward declaration.
21885 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
21886
47248e08 218872008-05-29 Robert Millan <rmh@aybabtu.com>
21888
21889 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
21890 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
21891 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
21892 (grub_console_checkkey): Add grub_dprintf() call to report unknown
21893 scan codes.
21894
ee632529 218952008-05-29 Robert Millan <rmh@aybabtu.com>
21896
21897 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
21898 control key combinations.
21899
eee96e08 219002008-05-29 Robert Millan <rmh@aybabtu.com>
21901
21902 * util/powerpc/ieee1275/grub-install.in: Move from here ...
21903 * util/ieee1275/grub-install.in: ... to here.
21904 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
21905 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
21906 (grub_install_SOURCES): Likewise.
21907
da9a6a94 219082008-05-29 Robert Millan <rmh@aybabtu.com>
21909
21910 * fs/affs.c: Update copyright year.
21911 * fs/ext2.c: Likewise.
21912 * fs/fshelp.c: Likewise.
21913 * fs/hfsplus.c: Likewise.
21914 * fs/ntfs.c: Likewise.
21915 * fs/xfs.c: Likewise.
21916 * include/grub/fshelp.h: Likewise.
21917 * util/grub-mkdevicemap.c: Likewise.
21918
12e65f3a 219192008-05-28 Robert Millan <rmh@aybabtu.com>
21920
21921 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
21922 might need to be fatfs to support some firmware implementations
21923 (e.g. OFW or EFI).
21924
23023641 219252008-05-28 Robert Millan <rmh@aybabtu.com>
21926
21927 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
21928 devices.
21929 * util/grub-mkdevicemap.c (get_mmc_disk_name)
21930 (make_device_map): Likewise.
21931
887d2619 219322008-05-20 Bean <bean123ch@gmail.com>
21933
21934 * fs/fshelp.c (grub_fshelp_map_block): New function.
21935 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
21936 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
21937
21938 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
21939 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
21940 (grub_fshelp_journal): New structure.
21941 (grub_fshelp_map_block): New function prototype.
21942 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
21943 (grub_fshelp_map_block): Likewise.
21944
21945 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
21946 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
21947 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
21948 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
21949 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
21950 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
21951 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
21952 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
21953 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
21954 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
21955 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
21956 (grub_ext2_sblock): New members for journal support.
21957 (grub_ext3_journal_header): New structure.
21958 (grub_ext3_journal_revoke_header): Likewise.
21959 (grub_ext3_journal_block_tag): Likewise.
21960 (grub_ext3_journal_sblock): Likewise.
21961 (grub_fshelp_node): New members logfile and journal.
21962 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
21963 grub_fshelp_map_block to get real block number.
21964 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
21965 number.
21966 (grub_ext2_read_inode): Likewise.
21967 (grub_ext3_get_journal): New function.
21968 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
21969 (grub_ext2_close): Release memory used by journal.
21970
21971 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
21972 (REISERFS_MAGIC_DESC_BLOCK): New macro.
21973 (grub_reiserfs_transaction_header): Renamed to
21974 grub_reiserfs_description_block, replace field data with real_blocks.
21975 (grub_reiserfs_commit_block): New structure.
21976 (grub_reiserfs_data): New member journal.
21977 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
21978 number.
21979 (grub_reiserfs_read_symlink): Likewise.
21980 (grub_reiserfs_iterate_dir): Likewise.
21981 (grub_reiserfs_open): Likewise.
21982 (grub_reiserfs_read): Likewise.
21983 (grub_reiserfs_get_journal): New function.
21984 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
21985 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
21986 using grub_reiserfs_get_journal.
21987 (grub_reiserfs_close): Release memory used by journal.
21988
21989 * fs/affs.c (grub_affs_read_block): Change block type to
21990 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
21991
21992 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
21993
21994 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
21995
21996 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
21997
21998 * fs/udf.c (grub_udf_read_block): Change block type to
21999 grub_disk_addr_t. Use type cast to avoid warning.
22000
22001 * fs/xfs.c (grub_xfs_read_block): Likewise.
22002
b7c6bed5 220032008-05-16 Christian Franke <franke@computer.org>
22004
22005 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
22006 to ensure that break with ESC will always work.
22007 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
22008 Remove ESC from keyboard queue.
22009
eedf167f 220102008-05-16 Christian Franke <franke@computer.org>
22011
22012 * util/biosdisk.c: [__CYGWIN__] Add includes.
22013 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
22014 (get_os_disk): Move variable declarations to OS specific
22015 parts to avoid warning.
22016 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
22017 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
22018 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
22019 Cygwin.
22020 * util/getroot.c: [__CYGWIN__] Add includes.
22021 (strip_extra_slashes): Fix "/" case.
22022 [__CYGWIN__] (get_win32_path): New function.
22023 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
22024 [__CYGWIN__] (find_root_device): Disable.
22025 [__CYGWIN__] (get_bootsec_serial): New function.
22026 [__CYGWIN__] (find_cygwin_root_device): Likewise.
22027 [__linux__] (grub_guess_root_device): Add early returns to simplify
22028 structure.
22029 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
22030 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
22031 check for Linux only.
22032
a079699e 220332008-05-15 Bean <bean123ch@gmail.com>
22034
22035 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
22036 keyboard hang problem in apple's intel mac.
22037
1cf4059a 220382008-05-09 Robert Millan <rmh@aybabtu.com>
22039
22040 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
22041 devices.
22042 * util/grub-mkdevicemap.c (get_virtio_disk_name)
22043 (make_device_map): Likewise.
22044 Reported by Aurelien Jarno <aurel32@debian.org>
22045
ed759390 220462008-05-07 Ian Campbell <ijc@hellion.org.uk>
22047
22048 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
22049 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
22050 (make_device_map): Output entries for xvd type disks.
22051
b56c4eaa 220522008-05-07 Robert Millan <rmh@aybabtu.com>
22053
22054 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
22055 devices.
22056 * util/grub-mkdevicemap.c (get_cciss_disk_name)
22057 (make_device_map): Likewise.
22058 Reported by Roland Dreier <rdreier@cisco.com>
22059
7f8866ed 220602008-05-07 Robert Millan <rmh@aybabtu.com>
22061
22062 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
22063 grub_strstr() call. Correct a few mistakes in failure path handling.
22064
b0346e0f 220652008-05-06 Robert Millan <rmh@aybabtu.com>
22066
22067 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22068 Do not print a trailing slash (therefore, the root directory is an
22069 empty string).
22070 (convert_system_path_to_grub_path): Do not remove trailing slash
22071 from make_system_path_relative_to_its_root() output.
22072
22073 * util/i386/pc/grub-install.in: Add trailing slash to output from
22074 make_system_path_relative_to_its_root().
22075
6cf12cbd 220762008-05-06 Robert Millan <rmh@aybabtu.com>
22077
22078 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
22079 ensures that output lines aren't intermangled with those sent to
22080 stderr (via grub_util_info()).
22081 * util/grub-probe.c (grub_refresh): Likewise.
22082 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
22083
0fbb3117 220842008-05-05 Christian Franke <franke@computer.org>
22085
22086 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
22087 Add Cygwin device names.
22088 (get_ide_disk_name) [__CYGWIN__]: Likewise.
22089 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
22090 (check_device): Return error instead of success on empty name.
22091 (make_device_map): Move label inside linux specific code to
22092 prevent compiler warning.
22093
8124cdb7 220942008-04-30 Robert Millan <rmh@aybabtu.com>
22095
22096 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
22097 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
22098 first boot option.
22099 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
22100
094c01d0 221012008-04-29 Robert Millan <rmh@aybabtu.com>
22102
22103 * docs/grub.cfg: New file (example GRUB configuration).
22104
f4b1fc02 221052008-04-26 Robert Millan <rmh@aybabtu.com>
22106
329ce2a5 22107 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
22108 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
22109 and `disk/ieee1275/nand.c'.
f4b1fc02 22110
25f16ec1 221112008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 22112
25f16ec1 22113 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
22114 i386-linuxbios.
22115
22116 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
22117 change the buffer size to 4096 for cdrom device.
22118
22119 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
22120 and nand.mod.
22121 (_linux_mod_SOURCES): New variable.
22122 (_linux_mod_CFLAGS): Likewise.
22123 (_linux_mod_LDFLAGS): Likewise.
22124 (linux_mod_SOURCES): Likewise.
22125 (linux_mod_CFLAGS): Likewise.
22126 (linux_mod_LDFLAGS): Likewise.
22127 (nand_mod_SOURCES): Likewise.
22128 (nand_mod_CFLAGS): Likewise.
22129 (nand_mod_LDFLAGS): Likewise.
22130
22131 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
22132 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
22133 type property. (nand device in olpc don't have this property)
22134
22135 * include/grub/disk.h (grub_disk_dev_id): New macro
22136 GRUB_DISK_DEVICE_NAND_ID.
22137
22138 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
22139 function prototype.
22140 (grub_rescue_cmd_initrd): Likewise.
22141
22142 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
22143 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
22144 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 22145
25f16ec1 22146 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
22147 GRUB_MACHINE_IEEE1275 is defined.
22148
22149 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
22150 Use NESTED_FUNC_ATTR attribute on the hook parameter.
22151
22152 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
22153 on nested function heap_init.
22154 (grub_upper_mem): New variable for i386-ieee1275.
22155 (grub_get_extended_memory): New function for i386-ieee1275.
22156 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
22157
22158 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
22159 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
22160 property.
f19dbdb7 22161
25f16ec1 22162 * loader/i386/ieee1275/linux.c: New file.
22163
22164 * loader/i386/ieee1275/linux_normal.c: New file.
22165
22166 * disk/ieee1275/nand.c: New file.
22167
e89d61e9 221682008-04-18 Thomas Schwinge <tschwinge@gnu.org>
22169
22170 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
22171 value.
22172 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
22173
602566f6 221742008-04-18 Robert Millan <rmh@aybabtu.com>
22175
22176 Restructures early code path on ieee1275 to unify grub_main() as
22177 the first C function that is executed in every platform.
22178
22179 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
22180 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
22181 cmain().
22182 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
22183 * kern/ieee1275/cmain.c (cmain): Rename to ...
22184 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
22185 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
22186 at the beginning.
22187
57490c2b 221882008-04-18 Robert Millan <rmh@aybabtu.com>
22189
22190 * util/update-grub.in: Fix syntax error when setting
22191 `GRUB_PRELOAD_MODULES'.
22192 Reported by Stephane Chazelas <stephane@artesyncp.com>
22193
1977517d 221942008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
22195
22196 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
22197 section into account, newer toolchains generate unique build ids
22198 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 22199 we want build ids to be preserved
1977517d 22200 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
22201 far from other sections don't cause the raw binary images grow
22202 size
22203
bfb1f1a2 222042008-04-15 Robert Millan <rmh@aybabtu.com>
22205
22206 * disk/lvm.c: Update copyright year.
22207 * kern/misc.c: Likewise.
22208
01979850 222092008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22210
22211 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 22212 there is no memory left for physical volume name.
01979850 22213
0a1150e2 222142008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22215
22216 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
22217 volume name mapping to support bigger than 9 character names properly.
22218
82ead3fe 222192008-04-13 Robert Millan <rmh@aybabtu.com>
22220
22221 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
22222 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
22223
e54a72f5 222242008-04-13 Christian Franke <franke@computer.org>
22225
22226 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
22227 to create a floppy emulation boot CD when non emulation mode
22228 does not work.
22229 Enable Joliet CD filesystem extension.
22230
9fe86034 222312008-04-13 Robert Millan <rmh@aybabtu.com>
22232
22233 * kern/misc.c (grub_strncat): Fix off-by-one error.
22234 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
22235
22236 * kern/env.c (grub_env_context_close): Clear current context, not
22237 previous one.
22238 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
22239
22240 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
22241
7ceeee39 222422008-04-13 Robert Millan <rmh@aybabtu.com>
22243
22244 Improve robustness when handling LVM.
22245
22246 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 22247 (and leave `*p' unmodified).
7ceeee39 22248 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
22249 through it.
22250 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
22251 iterating through it.
22252 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
22253 through it.
fe6b695a 22254 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 22255 when due) on each grub_lvm_getvalue() or grub_strstr() call.
22256 Don't assume `vg->pvs != NULL' when iterating through it.
22257
58cd3d85 222582008-04-13 Robert Millan <rmh@aybabtu.com>
22259
22260 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
22261 * genmk.rb (partmap): New variable.
22262 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
22263 (#{partmap}): New target rule.
22264 * genpartmaplist.sh: New file.
22265 * Makefile.in (pkglib_DATA): Add partmap.lst.
22266 (partmap.lst): New target rule.
22267 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
22268 modules (including all partition maps), instead of preloading them.
22269
78b51059 222702007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
22271
22272 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
22273 `linux-boot-prober' (if installed) to detect other operating
22274 systems which are installed on the computer and add them to
22275 the boot menu.
22276 * conf/common.rmk: Build and install 30_os-prober.
22277
a91627b4 222782008-04-12 Robert Millan <rmh@aybabtu.com>
22279
22280 * kern/powerpc/ieee1275/init.c: Move from here ...
22281 * kern/ieee1275/init.c: ... to here. Update all users.
22282
22283 * kern/powerpc/ieee1275/cmain.c: Move from here ...
22284 * kern/ieee1275/cmain.c: ... to here. Update all users.
22285
22286 * kern/powerpc/ieee1275/openfw.c: Move from here ...
22287 * kern/ieee1275/openfw.c: ... to here. Update all users.
22288
22289 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
22290 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
22291
322562ea 222922008-04-10 Pavel Roskin <proski@gnu.org>
22293
22294 * configure.ac: Always use "_cv_" in cache variables for
22295 compatibility with Autoconf 2.62.
22296
a02a73c5 222972008-04-07 Robert Millan <rmh@aybabtu.com>
22298
22299 Revert grub/machine/init.h addition by Pavel (since it breaks on
22300 i386-ieee1275 and others):
22301 * util/i386/pc/misc.c: Remove grub/machine/init.h.
22302 * util/powerpc/ieee1275/misc.c: Likewise.
22303
25c024b1 223042008-04-07 Robert Millan <rmh@aybabtu.com>
22305
22306 * util/grub-probe.c (probe): Improve error message.
22307
3cbd2f98 223082008-04-07 Robert Millan <rmh@aybabtu.com>
22309
22310 * util/biosdisk.c (read_device_map): Skip devices that don't exist
22311 (this prevents the presence of a bogus entry from ruining the whole
22312 thing).
22313
87a297bf 223142008-04-06 Pavel Roskin <proski@gnu.org>
22315
36747a62 22316 * util/biosdisk.c: Include grub/util/biosdisk.h.
22317 * util/grub-fstest.c (execute_command): Make static.
22318 * util/grub-mkdevicemap.c (check_device): Likewise.
22319 * util/i386/pc/misc.c: Include grub/machine/init.h.
22320 * util/powerpc/ieee1275/misc.c: Likewise.
22321 * util/lvm.c: Include grub/util/lvm.h.
22322 * util/misc.c: Include grub/kernel.h, grub/misc.h and
22323 grub/cache.h.
22324 * util/raid.c: Include grub/util/raid.h.
22325 (grub_util_getdiskname): Make static.
22326
87a297bf 22327 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
22328 grub_hostfs_fini(), as they are called from grub_init_all() and
22329 grub_fini_all() respectively. This fixes an infinite loop in
22330 grub-fstest due to double registration of hostfs.
22331 Reported by Christian Franke <Christian.Franke@t-online.de>
22332
f6ce7629 223332008-04-05 Pavel Roskin <proski@gnu.org>
22334
22335 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
22336 all 8 functions. Otherwise, probe function 0 only.
22337
070e49e4 223382008-04-04 Pavel Roskin <proski@gnu.org>
22339
8b088a4c 22340 * commands/lspci.c (grub_lspci_iter): Print the bus number
22341 correctly.
22342
4f657021 22343 * commands/lspci.c (grub_pci_classes): Fix typos.
22344 (grub_lspci_iter): Don't print func twice. Print vendor ID
22345 before device ID, as it's normally done.
22346
070e49e4 22347 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22348 Fix signedness warnings.
22349 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
22350 Likewise.
22351 * util/ieee1275/get_disk_name.c: Include config.h so that
22352 _GNU_SOURCE is defined and getline() is declared. Mark an
22353 unused argument as such. Fix a signedness warning.
22354
ba7328dc 223552008-04-02 Pavel Roskin <proski@gnu.org>
22356
26887f22 22357 * genkernsyms.sh.in: Use more robust assignments for CC and
22358 srcdir. Quote srcdir.
22359 * gensymlist.sh.in: Likewise. Assert at the compile time that
22360 the symbol table is not empty.
22361
ba7328dc 22362 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
22363 * fs/cpio.c (grub_cpio_read): Likewise.
22364
0f582c6b 223652008-04-01 Pavel Roskin <proski@gnu.org>
22366
4b6e1995 22367 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
22368 * disk/host.c (grub_host_open): Likewise.
22369 * disk/loopback.c (grub_loopback_open): Likewise.
22370 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
22371 disk->id as in disk/host.c, not a multi-character constant.
22372
828a2768 22373 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
22374 later is obsolete, potentially dangerous and sets a bad example.
22375 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
22376 * util/misc.c (grub_util_get_image_size): Likewise.
22377
2bb4fb47 22378 * disk/loopback.c (options): Improve help for "--partitions".
22379
0f582c6b 22380 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
22381 options to align them with the short options, e.g. "echo -e".
22382
a33224e0 223832008-03-31 Bean <bean123ch@gmail.com>
22384
22385 * video/reader/png.c (grub_png_data): New member is_16bit and
22386 image_data.
22387 (grub_png_decode_image_header): Detect 16 bit png image.
22388 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
22389 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
22390 (grub_video_reader_png): Release memory occupied by image_data.
22391
22392 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
22393 4096 bytes.
22394 (grub_nfs_mount): Skip the test for sector per cluster.
22395
22396 * include/grub/ntfs.h (MAX_SPC): Removed.
22397
86cb4f54 223982008-03-31 Bean <bean123ch@gmail.com>
22399
22400 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
22401 (grub_probe_SOURCES): Add fs/afs.c.
22402 (grub_fstest_SOURCES): Likewise.
22403 (afs_mod_SOURCES): New variable.
22404 (afs_mod_CFLAGS): Likewise.
22405 (afs_mod_LDFLAGS): Likewise.
22406
22407 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
22408 (grub_emu_SOURCES): Likewise.
22409
22410 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22411
22412 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22413
22414 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22415
22416 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22417
22418 * fs/afs.c: New file.
22419
17c74c21 224202008-03-30 Pavel Roskin <proski@gnu.org>
22421
4cb68e89 22422 * disk/host.c: Include grub/misc.h to fix a warning.
22423 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
22424 warnings about implicit declarations.
22425
8790bb04 22426 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
22427 variable.
22428 * include/grub/i386/loader.h: Change declaration of
22429 grub_linux_boot() to match what grub_loader_set() expects.
22430 * util/getroot.c (grub_guess_root_device): Return const char* to
22431 fix a warning.
22432 * util/grub-probe.c (probe): Fix a warning about uninitialized
22433 abstraction_name variable.
22434 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
22435 second argument as unused to fix a warning.
22436
9a3f3296 22437 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
22438 missing grub_error() call.
22439
0ecef90d 22440 * util/update-grub_lib.in: Define datarootdir, since Autoconf
22441 2.60 and newer uses it to define datadir.
22442
0bf6d401 22443 * commands/sleep.c: Fix warning about implicit declaration.
22444 * disk/memdisk.c: Likewise.
22445 * loader/aout.c: Likewise.
22446 * loader/i386/bsd_normal.c: Likewise.
22447 * util/grub-probe.c: Likewise.
22448
7cdacf97 22449 * commands/i386/cpuid.c (has_longmode): Make static.
22450 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
22451 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
22452
17c74c21 22453 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
22454 GDT. This is more robust, as %ds can change.
22455 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
22456 calling real_to_prot().
22457 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
22458
80a3e68b 224592008-03-28 Pavel Roskin <proski@gnu.org>
22460
22461 * kern/i386/pc/startup.S: Assert that uncompressed functions
22462 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
22463 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
22464 code, as they push parts of the code (error handlers) beyond
22465 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
22466 code as correctness and size.
22467
77bcd272 224682008-03-28 Pavel Roskin <proski@gnu.org>
22469
22470 * kern/i386/pc/startup.S
22471 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
22472 data block address to the real mode, keep offset minimal. This
22473 works around a bug in AWARD BIOS on old Athlon systems, which
22474 makes CD detection hang.
22475
c5dfd43b 224762008-03-26 Pavel Roskin <proski@gnu.org>
22477
22478 * normal/color.c (grub_parse_color_name_pair): Make `name' a
22479 const.
22480 * include/grub/normal.h: Add grub_parse_color_name_pair()
22481 declaration.
22482
bf962df2 224832008-03-24 Bean <bean123ch@gmail.com>
22484
22485 * disk/i386/pc/biosdisk.c (cd_start): Removed.
22486 (cd_count): Removed.
22487 (cd_drive): New variable.
22488 (grub_biosdisk_get_drive): Don't check for (cdN) device.
22489 (grub_biosdisk_call_hook): Likewise.
22490 (grub_biosdisk_iterate): Change cdrom detection method.
22491 (grub_biosdisk_open): Replace cd_start with cd_drive.
22492 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
22493 detect cdrom device.
22494
22495 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
22496 Removed.
22497 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
22498 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
22499 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
22500 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
22501 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
22502 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
22503 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
22504 (grub_biosdisk_cdrp): New structure.
22505 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
22506
22507 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
22508
22509 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
22510 device.
22511
22512 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
22513 New function.
22514
68e7fc7a 225152008-03-20 Robert Millan <rmh@aybabtu.com>
22516
22517 Remove 2 TiB limit in ata.mod.
22518 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
22519 (grub_ata_dumpinfo): Print sector count with 0x%llx.
22520 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
22521 grub_uint64_t instead of grub_uint32_t.
22522
38ad2cf5 225232008-03-05 Bean <bean123ch@gmail.com>
22524
22525 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
22526 (grub_multiboot): Set boot device.
22527
22528 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
22529
2b89344e 225302008-03-02 Bean <bean123ch@gmail.com>
22531
22532 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
22533 symlink_buffer.
22534
87a95d1f 225352008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
22536
22537 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
22538 texinfo.tex.
22539
22540 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
22541 modified.
22542
22543 * docs/fdl.texi: New file.
f19dbdb7 22544
87a95d1f 22545 * docs/mdate-sh: New file. Copied from gnulib.
22546 * docs/texinfo.tex: Likewise.
22547
22548 * config.guess: Updated from gnulib.
22549 * install-sh: Likewise.
22550
7dc15d8e 225512008-02-28 Robert Millan <rmh@aybabtu.com>
22552
22553 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
22554 (aout_mod_SOURCES): New variable.
22555 (aout_mod_CFLAGS): Likewise.
22556 (aout_mod_LDFLAGS): Likewise.
22557
22558 * conf/i386-ieee1275.rmk: Likewise.
22559
b00ab696 225602008-02-28 Robert Millan <rmh@aybabtu.com>
22561
22562 * util/update-grub.in: Reorganise terminal validity check. Accept
22563 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
22564 Based on suggestion by Franklin PIAT.
22565
79ca2d78 225662008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
22567
22568 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
22569 function.
22570 * util/getroot.c (grub_util_check_block_device): New function that
22571 returns the given argument if it is a block device and returns NULL else.
22572 * util/grub-probe.c (argument_is_device): New variable.
22573 (probe): Promote device_name from a variable to an argument. Receive
22574 device_name from grub_util_check_block_device() if path is NULL and from
22575 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 22576 (options): Introduce new parameter '-d, --device'.
79ca2d78 22577 (main): Add description of the new parameter to the help screen.
22578 Rename path variable to argument. Set argument_is_device if the '-d'
22579 option is given. Pass argument to probe() depending on
22580 argument_is_device.
22581
0d16e571 225822008-02-24 Bean <bean123ch@gmail.com>
22583
22584 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
22585 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
22586 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
22587 (GRUB_ISO9660_VOLDESC_PART): Likewise.
22588 (GRUB_ISO9660_VOLDESC_END): Likewise.
22589 (grub_iso9660_primary_voldesc): New member escape.
22590 (grub_iso9660_data): New member joliet.
22591 (grub_iso9660_convert_string): New function.
22592 (grub_iso9660_mount): Detect joliet extension.
22593 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
22594 (grub_iso9660_iso9660_label): Likewise.
22595
22596 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
22597 (grub_setup_SOURCES): Add fs/udf.c.
22598 (grub_fstest_SOURCES): Likewise.
22599 (udf_mod_SOURCES): New variable.
22600 (udf_mod_CFLAGS): Likewise.
22601 (udf_mod_LDFLAGS): Likewise.
22602
22603 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
22604 (grub_emu_SOURCES): Likewise.
22605
22606 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22607
22608 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22609
22610 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22611
22612 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22613
22614 * fs/udf.c: New file.
22615
8a594a17 226162008-02-24 Robert Millan <rmh@aybabtu.com>
22617
22618 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
22619 (normal/lexer.c_DEPENDENCIES): New variables.
22620 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
22621 (normal/lexer.c_DEPENDENCIES): Likewise.
22622 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
22623 (normal/lexer.c_DEPENDENCIES): Likewise.
22624 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
22625 (normal/lexer.c_DEPENDENCIES): Likewise.
22626 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
22627 (normal/lexer.c_DEPENDENCIES): Likewise.
22628 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
22629 (normal/lexer.c_DEPENDENCIES): Likewise.
22630
2dc33c03 226312008-02-23 Robert Millan <rmh@aybabtu.com>
22632
22633 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
22634 since they were intended to be in hex. This didn't break previously
22635 because of a bug in gpt_partition_map_iterate() (see below).
22636
22637 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
22638 when checking the validity of GPT header.
22639 Remove `partno', since it always provides the same information as `i'.
22640
f6f4cfb0 226412008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
22642
22643 * include/grub/efi/time.h: Fix a wrong comment.
22644
79ff665f 226452008-02-19 Pavel Roskin <proski@gnu.org>
22646
22647 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
22648 message.
22649
d38e24c2 226502008-02-19 Bean <bean123ch@gmail.com>
22651
22652 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
22653 (aout_mod_SOURCES): New variable.
22654 (aout_mod_CFLAGS): Likewise.
22655 (aout_mod_LDFLAGS): Likewise.
22656 (_bsd_mod_SOURCES): New variable.
22657 (_bsd_mod_CFLAGS): Likewise.
22658 (_bsd_mod_LDFLAGS): Likewise.
22659 (bsd_mod_SOURCES): New variable.
22660 (bsd_mod_CFLAGS): Likewise.
22661 (bsd_mod_LDFLAGS): Likewise.
22662
22663 * include/grub/aout.h: New file.
22664
22665 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
22666
22667 * include/grub/i386/bsd.h: New file.
22668
22669 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
22670 to make it public.
22671
22672 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
22673 function is called, so that it's possible to change it inside the hook.
22674 (grub_elf64_load): Likewise.
22675 (grub_elf_file): Don't close the file if elf header is not found.
22676 (grub_elf_close): Close the file if grub_elf_file fails (The new
22677 grub_elf_file won't close it).
22678 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
22679 (grub_elf64_size): Likewise.
22680
22681 * kern/i386/loader.S (grub_unix_real_boot): New function.
22682
22683 * loader/aout.c: New file.
22684
22685 * loader/i386/bsd.c: New file.
22686
22687 * loader/i386/bsd_normal.c: New file.
22688
22689 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
22690
22691 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 22692 can test other formats.
d38e24c2 22693
b93bdb0f 226942008-02-19 Robert Millan <rmh@aybabtu.com>
22695
22696 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
22697 (grub_gpt_partition_type_empty): Redefine with macro from
22698 `<grub/gpt_partition.h>'.
22699 (gpt_partition_map_iterate): Adjust partition type comparison.
22700
22701 Export `entry' as partmap-specific `part.data' struct.
22702 (grub_gpt_header, grub_gpt_partentry): Move from here ...
22703
22704 * include/grub/gpt_partition.h (grub_gpt_header)
22705 (grub_gpt_partentry): ... to here (new file).
22706
22707 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
22708
22709 (grub_gpt_partition_type_bios_boot): New const variable, defined
22710 with macro from `<grub/gpt_partition.h>'.
22711
22712 (setup): Replace `first_start' with `embed_region', which keeps
22713 track of the embed region (and is partmap-agnostic).
22714
22715 Replace find_first_partition_start() with find_usable_region(),
22716 which finds a usable region for embedding using partmap-specific
22717 knowledge (supports PC/MSDOS and GPT).
22718
22719 Fix all assumptions that the embed region start at sector 1, using
22720 `embed_region.start' from now on. Similarly, use `embed_region.end'
22721 rather than `first_start' to calculate available size.
22722
22723 In grub_util_info() message, replace "into after the MBR" with an
22724 indication of the specific sector our embed region starts at.
22725
66cb40f6 227262008-02-19 Robert Millan <rmh@aybabtu.com>
22727
22728 * DISTLIST: Replace `commands/ieee1275/halt.c' and
22729 `commands/ieee1275/reboot.c' with `commands/halt.c' and
22730 `commands/reboot.c'.
22731 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
22732 (halt_mod_SOURCES): Likewise.
22733 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
22734 (halt_mod_SOURCES): Likewise.
22735
b7202015 227362008-02-17 Christian Franke <franke@computer.org>
22737
22738 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
22739
32b0fc49 227402008-02-17 Robert Millan <rmh@aybabtu.com>
22741
22742 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
22743 set `first_start' to 0 for non-PC/MSDOS partition maps.
22744
aca63502 227452008-02-16 Robert Millan <rmh@aybabtu.com>
22746
22747 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
22748 do not assume partition map is PC/MSDOS before performing checks that
22749 are specific to that layout.
22750
0de8be86 227512008-02-13 Robert Millan <rmh@aybabtu.com>
22752
22753 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
22754 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
22755 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
22756
c3db8364 227572008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
22758
22759 * configure.ac: Only a cosmetic change on the handling of
22760 -fno-stack-protector.
22761
f714229e 227622008-02-12 Alexandre Boeglin <alex@boeglin.org>
22763
c3db8364 22764 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
22765 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
22766 reboot.c.
f714229e 22767 (grub_install_SOURCES): Add halt.mod and reboot.mod.
22768 (halt_mod_SOURCES): New variable.
22769 (halt_mod_CFLAGS): Likewise.
22770 (halt_mod_LDFLAGS): Likewise.
22771 (reboot_mod_SOURCES): Likewise.
22772 (reboot_mod_CFLAGS): Likewise.
22773 (reboot_mod_LDFLAGS): Likewise.
22774
c3db8364 22775 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
22776 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
22777 reboot.c.
f714229e 22778 (halt_mod_SOURCES): Likewise.
22779 (reboot_mod_SOURCES): Likewise.
22780
c3db8364 22781 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
22782 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 22783 (reboot_mod_SOURCES): Likewise.
22784
22785 * commands/i386/pc/reboot.c: merge this file ...
22786
22787 * commands/ieee1275/reboot.c: ... and this file ...
22788
22789 * commands/reboot.c: ... to this file.
c3db8364 22790 Add some precompiler directive to include the correct header for
22791 each machine.
f714229e 22792
22793 * commands/ieee1275/halt.c: move this file ...
22794
22795 * commands/halt.c: ... to here.
c3db8364 22796 Add some precompiler directive to include the correct header for
22797 each machine.
f714229e 22798
22799 * include/grub/efi/efi.h (grub_reboot): New function declaration.
22800 (grub_halt): Likewise.
22801
22802 * kern/efi/efi.c (grub_reboot): New function.
22803 (grub_halt): Likewise.
22804
c74493e0 228052008-02-12 Robert Millan <rmh@aybabtu.com>
22806
22807 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
22808 /dev (like it is done for /dev/mapper). This doesn't provide support
22809 for EVMS, but at least it is now easy to identify the problem when it
22810 arises.
22811
d0db4b04 228122008-02-11 Robert Millan <rmh@aybabtu.com>
22813
22814 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
22815 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
22816 comparing it with -1, not 0.
22817
bf748642 228182008-02-10 Robert Millan <rmh@aybabtu.com>
22819
22820 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
22821 `disk/lvm.c'.
22822 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22823 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22824
22825 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
22826 `disk/lvm.c' to the end of the list.
22827 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22828 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22829
b5db202a 228302008-02-10 Robert Millan <rmh@aybabtu.com>
22831
22832 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
22833 grub_print_error() instead. This will let user know why we're entering
22834 rescue mode.
22835 Based on suggestions from Sam Morris.
22836
83abee31 228372008-02-10 Alexandre Boeglin <alex@boeglin.org>
22838
22839 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
22840 on remaining N args, instead of "--" arg N times.
22841
78d5a08b 228422008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
22843
22844 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
22845 (fill_with_default_glyph): Changed to use unknown_glyph for fill
22846 pattern for unknown glyphs.
22847
68807e5f 228482008-02-09 Robert Millan <rmh@aybabtu.com>
22849
22850 * configure.ac: Probe for `help2man'.
22851 * Makefile.in (builddir): New variable.
22852 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
22853 or otherwise add a few flags/options to it.
22854 (install-local): For every executable utility or script that is
22855 installed, invoke $(HELP2MAN) to install a manpage based on --help
22856 output.
22857
22858 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
22859 that it doesn't prevent --help from working in build tree.
22860
22861 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
22862 with `bug-grub@gnu.org'.
22863 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
22864 * util/update-grub.in (usage): New function.
22865 Implement proper argument check, with support for --help and --version
22866 (as well as existing -y).
22867
228682008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 22869
22870 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
22871 avoid overwriting previous output.
22872 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
22873
c1962162 228742008-02-09 Robert Millan <rmh@aybabtu.com>
22875
22876 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
22877 drawing the menu.
22878
3dac2e3f 228792008-02-09 Robert Millan <rmh@aybabtu.com>
22880
22881 * commands/sleep.c: New file.
22882 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
22883 (sleep_mod_SOURCES): New variable.
22884 (sleep_mod_CFLAGS): Likewise.
22885 (sleep_mod_LDFLAGS): Likewise.
22886
7a634e08 228872008-02-09 Robert Millan <rmh@aybabtu.com>
22888
22889 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
22890 situations in which we can deduce the RAID size and the superblock
22891 doesn't match it.
22892
b92f0c18 228932008-02-09 Robert Millan <rmh@aybabtu.com>
22894
22895 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
22896 and return a grub_diskmemberlist_t composed of LVM physical volumes.
22897 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
22898
22899 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
22900 and return a grub_diskmemberlist_t composed of physical array members.
22901 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
22902
22903 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
22904 prototype.
22905 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
22906 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
22907 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
22908
22909 * util/grub-probe.c (probe): Move partmap probing code from here ...
22910 (probe_partmap): ... to here.
22911 (probe): Use probe_partmap() once for the disk we're probing, and
22912 additionally, when such disk contains a memberlist() struct member,
22913 once for each disk that is contained in the structure returned by
22914 memberlist().
22915
91a4bf68 229162008-02-09 Robert Millan <rmh@aybabtu.com>
22917
22918 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
22919 environment variable to 'all' in order to obtain debug output from
22920 non-util/ code.
22921 * util/i386/pc/grub-setup.c (main): Likewise.
22922
a96f9caa 229232008-02-08 Robert Millan <rmh@aybabtu.com>
22924
22925 * disk/raid.c (grub_raid_scan_device): Check for
22926 `array->device[sb.this_disk.number]' rather than for
22927 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 22928 guaranteed to be accessible.
a96f9caa 22929
b37a9222 229302008-02-08 Robert Millan <rmh@aybabtu.com>
22931
22932 * disk/raid.c: Update copyright.
22933 * fs/cpio.c: Likewise.
22934 * include/grub/raid.h: Likewise.
22935 * loader/i386/pc/multiboot.c: Likewise.
22936 * util/hostfs.c: Likewise.
22937
5626aee1 229382008-02-08 Robert Millan <rmh@aybabtu.com>
22939
22940 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
22941 to a grub_disk_t array.
22942 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
22943 `device[x]'.
22944 (grub_raid_scan_device): Replace `device[x].name' accesses with
22945 `device[x]->name'. Simplify initialization of `array->device[x]'.
22946
554f0187 229472008-02-08 Robert Millan <rmh@aybabtu.com>
22948
22949 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
22950 grub_dprintf() calls.
22951 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
22952 error message.
22953
1ec8425d 229542008-02-07 Christian Franke <franke@computer.org>
22955
22956 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
22957 instead of fseek and ftell to support large files.
22958 (grub_hostfs_read): Likewise.
22959
f2156fda 229602008-02-07 Robert Millan <rmh@aybabtu.com>
22961
22962 Patch from Jeroen Dekkers.
22963 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 22964 failure, since successfully reading all array members might not be
f2156fda 22965 required.
22966
9216e0e7 229672008-02-06 Robert Millan <rmh@aybabtu.com>
22968
22969 * util/grub-probe.c (probe): Simplify partmap probing (with the
22970 assumption that the first word up to the underscore equals to
22971 the module name).
22972
b0dfd29a 229732008-02-06 Christian Franke <franke@computer.org>
22974
22975 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
22976 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
22977 last block of a cpio or tar stream.
22978 Check for "TRAILER!!!" instead of any empty data
22979 block to detect last block of a cpio stream.
22980 (grub_cpio_dir): Fix constness of variable np.
22981 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
22982 cpio or tar trailer is detected. This fixes a crash
22983 on open of a non existing file.
22984
c32865bf 229852008-02-05 Bean <bean123ch@gmail.com>
22986
22987 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
22988 address of entry.
22989 (grub_multiboot_load_elf64): Likewise.
22990 (grub_multiboot): Initialize mbi structure.
22991
22992 * util/grub-fstest.c: Don't include unused header file script.h.
22993
fe6b695a 22994 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 22995 of file.
22996 (grub_fstest_SOURCES): Likewise.
22997
409480b7 229982008-02-05 Robert Millan <rmh@aybabtu.com>
22999
23000 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
23001 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
23002 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
23003 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
23004
23005 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
23006 (translation_table): Replace hardcoded values with macros
23007 provided by `<grub/term.h>'.
23008
23009 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
23010 (keyboard_map): Correct/add a few values, with macros provided
23011 by `<grub/term.h>'.
23012 (keyboard_map_shift): Zero values that don't differ from their
23013 `keyboard_map' equivalents.
23014 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
23015 Discard the second scan code that is always sent by Caps lock.
23016 Only use `keyboard_map_shift' when it provides a non-zero value,
23017 otherwise fallback to `keyboard_map'.
23018
99fadbaa 230192008-02-04 Bean <bean123ch@gmail.com>
23020
23021 * Makefile.in (enable_grub_fstest): New variable.
23022
23023 * conf/common.rmk (grub_fstest_init.lst): New rule.
23024 (grub_fstest_init.h): Likewise.
23025 (grub_fstest_init.c): Likewise.
23026 (util/grub-fstest.c_DEPENDENCIES): New variable.
23027 (grub_fstest_SOURCES): Likewise.
23028
23029 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
23030
23031 * util/grub-fstest.c: New file.
23032
bf567c50 230332008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23034
23035 Make grub-setup handle a separate root device.
f19dbdb7 23036
bf567c50 23037 * util/i386/pc/grub-setup.c (setup): Always open the root device,
23038 so that the root device can be compared with the destination
23039 device.
23040 When embedding the core image, if the root and destination devices
23041 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
23042 0xFF.
23043 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 23044
9be6b98b 230452008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23046
23047 Add support for having a grub directory in a different drive. This
23048 is still only the data handling part.
f19dbdb7 23049
9be6b98b 23050 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
23051 (codestart): Save %dh in GRUB_ROOT_DRIVE.
23052 (grub_root_drive): New variable.
23053
23054 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
23055 instead of GRUB_BOOT_DRIVE to construct a device name. Set
23056 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
23057 as it was.
23058
23059 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
23060
23061 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
23062 macro.
23063 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
23064
23065 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
23066 is bogus, because PXE booting does not specify any drive
23067 correctly.
23068
23069 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
23070 am not sure if this is really correct.
23071
23072 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
23073 is always identical to the boot drive when booting from a CD.
23074
23075 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
23076 longer.
23077 (root_drive): New variable.
23078 (real_start): Unconditionally set %dh to ROOT_DRIVE.
23079 (setup_sectors): Push %dx right after popping it, because %dh will
23080 be modified later.
23081 (copy_buffer): Restore %dx.
23082
e0ca0677 230832008-02-03 Robert Millan <rmh@aybabtu.com>
23084
23085 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
23086 use `cdboot.img' for cdrom images.
23087
3b3f6629 230882008-02-03 Robert Millan <rmh@aybabtu.com>
23089
23090 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
23091 only setup gfxterm when `font' command has succeeded.
23092
d42b3672 230932008-02-03 Robert Millan <rmh@aybabtu.com>
23094
23095 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
23096 (grub_rescue_cmd_multiboot_loader)
23097 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
23098
fa370ea6 230992008-02-03 Pavel Roskin <proski@gnu.org>
23100
e0c5dacb 23101 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 23102 %edx and %esi from stack only after grub_gate_a20() is called.
23103 grub_gate_a20() clobbers %edx.
23104
f2a76e1d 231052008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23106
23107 * configure.ac (AC_INIT): Bumped to 1.96.
23108
23109 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
23110 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
23111 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
23112 video/readers/png.c.
23113
90fd32d1 231142008-02-03 Bean <bean123ch@gmail.com>
9be665dd 23115
23116 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
23117 (cdboot_img_SOURCES): New variable.
23118 (cdboot_img_ASFLAGS): New variable.
23119 (cdboot_img_LDFLAGS): New variable.
23120
23121 * boot/i386/pc/cdboot.S: New file.
23122
23123 * disk/i386/pc/biosdisk.c (cd_start): New variable.
23124 (cd_count): Likewise.
23125 (grub_biosdisk_get_drive): Add support for cd device.
23126 (grub_biosdisk_call_hook): Likewise.
23127 (grub_biosdisk_iterate): Likewise.
23128 (grub_biosdisk_open): Likewise.
23129 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
23130 (grub_biosdisk_rw): Support reading from cd device.
23131 (GRUB_MOD_INIT): Iterate cd devices.
23132
23133 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
23134 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
23135 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
23136
23137 * kern/i386/pc/init.c (make_install_device): Check for cd device.
23138
4020aa53 231392008-02-02 Robert Millan <rmh@aybabtu.com>
23140
23141 * commands/read.c: New file.
23142 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
23143 (read_mod_SOURCES): New variable.
23144 (read_mod_CFLAGS): Likewise.
23145 (read_mod_LDFLAGS): Likewise.
23146
e03a1132 231472008-02-02 Robert Millan <rmh@aybabtu.com>
23148
23149 * normal/main.c (grub_normal_execute): Check for `menu->size' when
23150 determining whether menu has to be displayed.
23151
58c69220 231522008-02-02 Marco Gerards <marco@gnu.org>
23153
23154 * bus/pci.c: New file.
23155
23156 * include/grub/pci.h: Likewise.
23157
23158 * include/grub/i386/pc/pci.h: Likewise.
23159
23160 * commands/lspci.c: Likewise.
23161
23162 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
23163 `lspci.mod'.
23164 (pci_mod_SOURCES): New variable.
23165 (pci_mod_CFLAGS): Likewise.
23166 (pci_mod_LDFLAGS): Likewise.
23167 (lspci_mod_SOURCES): Likewise.
23168 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 23169 (lspci_mod_LDFLAGS): Likewise.
58c69220 23170
c004e1b4 231712008-02-02 Bean <bean123ch@gmail.com>
23172
23173 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
23174 (grub_ufs_get_file_block): Fix indirect block calculation problem.
23175
23176 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
23177 (grub_xfs_btree_node): New structure.
23178 (grub_xfs_btree_root): New structure.
23179 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
23180 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
23181 (GRUB_XFS_EXTENT_BLOCK): Likewise.
23182 (GRUB_XFS_EXTENT_SIZE): Likewise.
23183 (grub_xfs_read_block): Support btree format type.
23184 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
23185 Use directory block as basic unit.
23186
23187 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
23188
23189 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
23190 __attribute__ ((__regparm__ (1))).
23191
f95562bf 231922008-02-01 Robert Millan <rmh@aybabtu.com>
23193
23194 Correct a mistake in previous commit.
23195
23196 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
23197 top.
23198 (normal/command.c_DEPENDENCIES): New variable.
23199
7d31f41f 232002008-02-01 Robert Millan <rmh@aybabtu.com>
23201
23202 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
23203 top.
23204 (normal/command.c_DEPENDENCIES): New variable.
23205 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
23206 * conf/i386-ieee1275.rmk: Likewise.
23207 * conf/i386-linuxbios.rmk: Likewise.
23208 * conf/i386-pc.rmk: Likewise.
23209 * conf/sparc64-ieee1275.rmk: Likewise.
23210 * conf/powerpc-ieee1275.rmk: Likewise.
23211 (grub_emu_SOURCES): Add `fs/fshelp.c'.
23212
23213 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
23214
60b6be74 232152008-02-01 Robert Millan <rmh@aybabtu.com>
23216
23217 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
23218 call at beginning of function.
23219
078522ab 232202008-01-31 Pavel Roskin <proski@gnu.org>
23221
23222 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 23223 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
23224 (grub_mkrescue_SOURCES): Likewise.
078522ab 23225 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
23226
ccaa8a5f 232272008-01-30 Robert Millan <rmh@aybabtu.com>
23228
23229 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
23230 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
23231 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
23232 (grub_probe_SOURCES): ... to here.
23233
23234 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
23235 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
23236 * conf/i386-ieee1275.rmk: Likewise.
23237 * conf/i386-linuxbios.rmk: Likewise.
23238 * conf/powerpc-ieee1275.rmk: Likewise.
23239
ae5a9cd7 232402008-01-30 Tristan Gingold <gingold@free.fr>
23241
23242 * kern/rescue.c: Silently accept empty lines.
23243
70bc2ef2 232442008-01-29 Bean <bean123ch@gmail.com>
23245
23246 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
23247 (real_code_2): Code cleanup and change comment style.
23248 (move_memory): Avoid using 32-bit address mode.
23249
6a4d50ea 232502008-01-29 Bean <bean123ch@gmail.com>
23251
23252 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
23253 (png_mod_SOURCES): New variable.
23254 (png_mod_CFLAGS): Likewise.
23255 (png_mod_LDFLAGS): Likewise.
23256
23257 * video/readers/png.c: New file.
23258
11cc30ac 232592008-01-28 Robert Millan <rmh@aybabtu.com>
23260
23261 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
23262 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
23263 `ifndef GRUB_MOD_GAP' hack.
23264 * util/elf/grub-mkimage.c (add_segments): Likewise.
23265
3abc589f 232662008-01-27 Robert Millan <rmh@aybabtu.com>
23267
23268 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
23269 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 23270 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 23271
e1907778 232722008-01-27 Robert Millan <rmh@aybabtu.com>
23273
23274 Get grub-emu to build again (including parallel builds).
23275
23276 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
23277 Split into ...
23278 (util/grub-emu.c_DEPENDENCIES): ... this, ...
23279 (normal/execute.c_DEPENDENCIES): ... this, ...
23280 (grub-emu_DEPENDENCIES): ... and this.
23281
23282 * conf/i386-efi.rmk: Likewise.
23283 * conf/i386-linuxbios.rmk: Likewise.
23284 * conf/i386-ieee1275.rmk: Likewise.
23285 * conf/powerpc-ieee1275.rmk: Likewise.
23286 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
23287
2216b101 232882008-01-27 Robert Millan <rmh@aybabtu.com>
23289
23290 * NEWS: Add a few items.
23291
f75172d9 232922008-01-27 Robert Millan <rmh@aybabtu.com>
23293
23294 Fix parallel builds with grub-emu. Based on earlier commit for
23295 grub-probe and grub-setup.
23296
23297 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23298 (util/grub-emu.c_DEPENDENCIES): ... this.
23299 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23300 (util/grub-emu.c_DEPENDENCIES): ... this.
23301 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23302 (util/grub-emu.c_DEPENDENCIES): ... this.
23303 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23304 (util/grub-emu.c_DEPENDENCIES): ... this.
23305 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23306 (util/grub-emu.c_DEPENDENCIES): ... this.
23307
3f51de77 233082008-01-27 Pavel Roskin <proski@gnu.org>
23309
23310 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
23311 to create a gap between _end and the modules added to the image
23312 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
23313 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
23314 * util/elf/grub-mkimage.c (add_segments): Likewise.
23315
2033f53e 233162008-01-26 Pavel Roskin <proski@gnu.org>
23317
23318 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
23319 just return an error.
23320
22da1f6f 233212008-01-26 Bean <bean123ch@gmail.com>
23322
23323 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
23324 (grub_reiserfs_get_item): Save offset of the next item.
23325 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
23326
2a9525e6 233272008-01-25 Robert Millan <rmh@aybabtu.com>
23328
23329 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
23330 make all filesystem sources appear together (possibly fixing omissions
23331 while at it).
23332 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23333 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23334 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23336
23337 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
23338 add `kern/file.c'.
23339 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
23340 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
23341 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
23342 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
23343
23344 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
23345 (probe): Add a sanity check to make sure of our ability to read
23346 requested files when probing for filesystem type.
23347
23348 * genmk.rb: Update copyright year (2007).
23349
23350 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
23351 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
23352 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
23353 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
23354 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
23355 : Remove function prototypes.
23356
b95f71b5 233572008-01-25 Robert Millan <rmh@aybabtu.com>
23358
23359 Revert my previous commits (based on wrong assumption of how grub_errno
23360 works).
23361
fe6b695a 23362 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 23363 * kern/file.c (grub_file_open): Likewise.
23364
d08bbb49 233652008-01-24 Pavel Roskin <proski@gnu.org>
23366
23367 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
23368 that hang if GRUB tries to setup colors.
23369 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
23370 colors for firmwares that don't support it.
23371 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
23372 Recognize Open Hack'Ware, set flags to work around its
23373 limitations.
23374
605e36ed 233752008-01-24 Robert Millan <rmh@aybabtu.com>
23376
23377 * kern/file.c (grub_file_open): Do not account previous failures of
23378 unrelated functions when grub_errno is checked for.
23379 Reported by Oleg Strikov.
23380
bac332a1 233812008-01-24 Bean <bean123ch@gmail.com>
23382
23383 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
23384 (grub_ufs_sblock): New member volume name.
23385 (grub_ufs_find_file): Fix string copy bug.
23386 (grub_ufs_label): Implement this function properly.
23387
23388 * fs/hfs.c (grub_hfs_cnid_type): New enum.
23389 (grub_hfs_iterate_records): Use the correct file number for extents
23390 and catalog file. Fix problem in next index calculation.
23391 (grub_hfs_find_node): Replace recursive function call with loop.
23392 (grub_hfs_iterate_dir): Replace recursive function call with loop.
23393
15c80c09 233942008-01-23 Robert Millan <rmh@aybabtu.com>
23395
23396 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
23397 `<grub/symbol.h>' and `<grub/multiboot.h>'.
23398 (grub_multiboot2_real_boot): New function prototype.
23399
23400 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
23401 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
23402
23403 * kern/i386/ieee1275/init.c (grub_os_area_addr)
23404 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
23405
305338fd 234062008-01-23 Robert Millan <rmh@aybabtu.com>
23407
23408 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
23409 #ifdef'ed out grub_printf().
23410
3ea52685 234112008-01-23 Robert Millan <rmh@aybabtu.com>
23412
23413 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
23414 grub_dprintf calls, since they make "debug=all" mode unusable.
23415 (grub_console_checkkey): Likewise.
23416
5882ae4b 234172008-01-23 Robert Millan <rmh@aybabtu.com>
23418
23419 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
23420 `term/i386/pc/at_keyboard.c'.
23421 (pkglib_MODULES): Add `serial.mod'.
23422 (serial_mod_SOURCES): New variable.
23423 (serial_mod_CFLAGS): Likewise.
23424 (serial_mod_LDFLAGS): Likewise.
23425
23426 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
23427 `<grub/powerpc/ieee1275/console.h>'.
23428 (grub_keyboard_controller_init): New function prototype.
23429 (grub_console_checkkey): Likewise.
23430 (grub_console_getkey): Likewise.
23431
23432 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
23433 keyboard on i386.
23434
23435 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
23436 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
23437
06ab5303 234382008-01-23 Robert Millan <rmh@aybabtu.com>
23439
23440 * kern/i386/pc/init.c (make_install_device): When memdisk image is
23441 present, "(memdisk)/boot/grub" becomes the default prefix.
23442
23443 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
23444 a memdisk tarball with all the modules. Add --overlay=DIR option that
23445 allows users to overlay additional files into the image.
23446
dbb475a4 234472008-01-23 Robert Millan <rmh@aybabtu.com>
23448
23449 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
23450 and `machine/memory.h'.
23451 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
23452 (_multiboot_mod_SOURCES): New variable.
23453 (_multiboot_mod_CFLAGS): Likewise.
23454 (_multiboot_mod_LDFLAGS): Likewise.
23455 (multiboot_mod_SOURCES): Likewise.
23456 (multiboot_mod_CFLAGS): Likewise.
23457 (multiboot_mod_LDFLAGS): Likewise.
23458
23459 * include/grub/i386/ieee1275/loader.h: New file.
23460
23461 * include/grub/i386/ieee1275/machine.h: Likewise.
23462
23463 * include/grub/i386/ieee1275/memory.h: Likewise.
23464
23465 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
23466 variable declaration.
23467 (grub_os_area_size): Likewise.
23468
23469 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
23470 (grub_lower_mem, grub_upper_mem): New variables.
23471 (grub_stop_floppy): New function (just to make
23472 grub_multiboot2_real_boot() happy).
23473
23474 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
23475 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
23476 (grub_stop): New function.
23477 Include `"../realmode.S"' and `"../loader.S"'.
23478
23479 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
23480 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
23481
23482 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
23483 rely on grub_multiboot2_real_boot() for final boot.
23484
25638629 234852008-01-22 Robert Millan <rmh@aybabtu.com>
23486
23487 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
23488 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
23489 device that doesn't look like an SD card.
23490 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
23491 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
23492 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
23493 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
23494 found.
23495
9dad816d 234962008-01-22 Robert Millan <rmh@aybabtu.com>
23497
23498 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
23499 avoid claiming over our own code.
23500
34842f2d 235012008-01-22 Bean <bean123ch@gmail.com>
23502
23503 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
23504 (jpeg_mod_SOURCES): New variable.
23505 (jpeg_mod_CFLAGS): Likewise.
23506 (jpeg_mod_LDFLAGS): Likewise.
23507
23508 * video/readers/jpeg.c : New file.
23509
44023a28 235102008-01-22 Bean <bean123ch@gmail.com>
23511
23512 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
23513 there are no more items.
23514
bc2d8ac6 235152008-01-21 Robert Millan <rmh@aybabtu.com>
23516
23517 * kern/mm.c (grub_mm_init_region): Improve debug message.
23518
261bd4bc 235192008-01-21 Robert Millan <rmh@aybabtu.com>
23520
23521 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
23522 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
23523 address.
23524 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
23525 a C macro.
23526 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
23527 Indicates start of upper memory.
23528 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
23529 (generate_image): Abort when image size is big enough to corrupt
23530 upper memory.
23531
23532 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
23533 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
23534 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
23535 instead of hardcoding 0xA0000.
23536 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
23537 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
23538 instead of hardcoding 0xA0000.
23539
f970b55e 235402008-01-21 Robert Millan <rmh@aybabtu.com>
23541
23542 * disk/memdisk.c (memdisk_size): New variable.
23543 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
23544 `memdisk_size'.
23545 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
23546 image to dynamic memory.
23547 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
23548 `memdisk_size'. Free memdisk block.
23549
1a8b0526 235502008-01-21 Robert Millan <rmh@aybabtu.com>
23551
23552 Fix detection of very small filesystems (like tar).
23553
23554 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
23555 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
23556 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
23557 a problem with this disk).
23558
6e9b4aab 235592008-01-21 Robert Millan <rmh@aybabtu.com>
23560
23561 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
23562 on grub_biosdisk_rw_standard() error.
23563
0d8837b2 235642008-01-21 Robert Millan <rmh@aybabtu.com>
23565
23566 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
23567 recent changes.
23568 * kern/elf.c: Likewise.
23569 * kern/ieee1275/ieee1275.c: Likewise.
23570 * kern/powerpc/ieee1275/openfw.c: Likewise.
23571 * term/ieee1275/ofconsole.c: Likewise.
23572
ffd36e34 235732008-01-21 Robert Millan <rmh@aybabtu.com>
23574
23575 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
23576
3f0093d0 23577 * include/grub/kernel.h (grub_arch_memdisk_addr)
23578 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 23579
3f0093d0 23580 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
23581 (grub_arch_memdisk_size): ... to here.
ffd36e34 23582
6c391b21 235832008-01-21 Robert Millan <rmh@aybabtu.com>
23584
23585 Mostly based on bugfix from Bean.
23586
23587 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
23588 attribute with hook() parameter.
23589 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
23590 declaration.
23591 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
23592 attribute with hook() parameter.
23593 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
23594 declaration.
23595
55a581dc 235962008-01-21 Robert Millan <rmh@aybabtu.com>
23597
23598 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
23599 (pkglib_MODULES): Add `memdisk.mod'.
23600 (memdisk_mod_SOURCES): New variable.
23601 (memdisk_mod_CFLAGS): Likewise.
23602 (memdisk_mod_LDFLAGS): Likewise.
23603
23604 * disk/memdisk.c: New file.
23605
23606 * include/grub/disk.h (grub_disk_dev_id): Add
23607 `GRUB_DISK_DEVICE_MEMDISK_ID'.
23608
23609 * include/grub/i386/pc/kernel.h
23610 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
23611 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
23612 (grub_kernel_image_size): New variable declaration.
23613 (grub_total_module_size): Likewise.
23614 (grub_memdisk_image_size): Likewise.
23615
23616 * include/grub/i386/pc/memory.h
23617 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
23618
23619 * include/grub/kernel.h: Include `<grub/symbol.h>'.
23620 (grub_arch_memdisk_addr): New variable declaration.
23621 (grub_arch_memdisk_size): Likewise.
23622
23623 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
23624 (grub_arch_memdisk_size): Likewise.
23625
23626 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
23627 (codestart): Replace hardcoded `0x100000' with
23628 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
23629
23630 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
23631 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
23632 not NULL, append the contents of the file it refers to, at the end of
23633 the compressed kernel image. Initialize `grub_memdisk_image_size'
23634 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
23635 (options): Add "memdisk"|'m' option.
23636 (main): Parse --memdisk|-m option, and pass user-provided path as
23637 parameter to generate_image().
23638
3d7f54c9 236392008-01-20 Robert Millan <rmh@aybabtu.com>
23640
23641 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
23642 grub_dprintf() calls from here ...
23643 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
23644
0bf74728 236452008-01-20 Robert Millan <rmh@aybabtu.com>
23646
23647 Fix detection of "real mode" when /options/real-mode? doesn't exist.
23648
23649 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
23650 declaration.
23651 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
23652 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
23653 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 23654 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 23655 property).
23656 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
23657 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
23658
33bf70a7 236592008-01-19 Robert Millan <rmh@aybabtu.com>
23660
fe6b695a 23661 Get rid of confusing function (superseded by
33bf70a7 23662 `grub_ieee1275_get_integer_property')
23663 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
23664 prototype.
23665 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
23666 function.
23667 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
23668 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 23669 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 23670
e2da7d26 236712008-01-19 Robert Millan <rmh@aybabtu.com>
23672
23673 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
23674 command after "shut-down", since implementations differ on which
23675 the command for halt is.
23676
59f1fd8d 236772008-01-19 Robert Millan <rmh@aybabtu.com>
23678
23679 * include/grub/i386/linuxbios/console.h: Add header protection.
23680 (grub_keyboard_controller_init): New function prototype.
23681 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
23682 (KEYBOARD_COMMAND_READ): Likewise.
23683 (KEYBOARD_COMMAND_WRITE): Likewise.
23684 (KEYBOARD_SCANCODE_SET1): Likewise.
23685 (grub_keyboard_controller_write): New function.
23686 (grub_keyboard_controller_read): Likewise.
23687 (grub_keyboard_controller_init): Likewise.
23688
23689 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
23690 (grub_console_init): On coreboot/LinuxBIOS, call
23691 grub_keyboard_controller_init().
23692
5f5a7c15 236932008-01-19 Robert Millan <rmh@aybabtu.com>
23694
23695 PowerPC changes provided by Pavel Roskin.
23696
23697 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
23698 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
23699 don't rely on cmain() doing it.
23700 * kern/i386/ieee1275/startup.S (_start): Store %eax in
23701 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
23702
1210e168 237032008-01-16 Robert Millan <rmh@aybabtu.com>
23704
23705 * include/grub/i386/linuxbios/memory.h
23706 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
23707 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
23708 receive `table_header' as argument. Instead, probe for it in the
23709 known memory ranges where it can be present.
23710 (grub_available_iterate): Do not pass a fixed `table_header' address
23711 to grub_linuxbios_table_iterate().
23712
3d04eab8 237132008-01-15 Robert Millan <rmh@aybabtu.com>
23714
23715 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
23716 * conf/i386-ieee1275.rmk: New file.
23717 * include/grub/i386/ieee1275/console.h: Likewise.
23718 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
23719 * include/grub/i386/ieee1275/kernel.h: Likewise.
23720 * include/grub/i386/ieee1275/time.h: Likewise.
23721 * kern/i386/ieee1275/init.c: Likewise.
23722 * kern/i386/ieee1275/startup.S: Likewise.
23723
d1bc1b73 237242008-01-15 Robert Millan <rmh@aybabtu.com>
23725
23726 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
23727 when pointers are 32-bit (but still do set it to one when they are
23728 64-bit).
23729
66a65807 237302008-01-15 Robert Millan <rmh@aybabtu.com>
23731
23732 * include/grub/ieee1275/ieee1275.h
23733 (grub_ieee1275_get_integer_property): New function prototype.
23734
23735 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
23736 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 23737 grub_ieee1275_get_property() to handle endianness.
66a65807 23738
23739 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
23740 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 23741 where appropriate.
66a65807 23742 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
23743 (grub_map): Likewise.
23744 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
23745
a83ccafd 237462008-01-15 Bean <bean123ch@gmail.com>
23747
23748 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
23749 (grub_script_execute_cmdline): Reset grub_errno.
23750
23751 * normal/main.c (read_config_file): Reset grub_errno.
23752
23753 * normal/parse.y (script_init): New.
23754 (script): Move function and menuentry here.
23755 (delimiter): New.
23756 (command): Add delimiter at the end of command.
23757 (commands): Adjust to match the new command.
23758 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 23759 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 23760 (if): Use the new commands.
23761
23762 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
23763
df6ecfc6 237642008-01-15 Robert Millan <rmh@aybabtu.com>
23765
23766 * normal/menu.c (run_menu): Move timeout message from here ...
23767 (print_timeout): ... to here.
23768 (run_menu): Use print_timeout() once during initial draw to print
23769 the whole message, and again in every clock tick to update only
23770 the number of seconds.
23771
87ae25eb 237722008-01-15 Robert Millan <rmh@aybabtu.com>
23773
23774 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
23775 actual size of `available' from grub_ieee1275_get_property(), and
23776 restrict parsing to that bound.
23777
47bf09a4 237782008-01-15 Christian Franke <franke@computer.org>
23779
23780 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
23781 (argp_program_version): Remove variable.
23782 (argp_program_bug_address): Likewise.
23783 (options): Convert from struct argp_option to struct option.
23784 (struct arguments): Remove.
23785 (parse_opt): Remove.
23786 (usage): New function.
23787 (main): Replace struct args members by simple variables.
23788 Replace argp_parse() by getopt_long().
23789 Add switch to evaluate options.
23790 Add missing "(...)" around root_dev in prefix string.
23791
c86f1469 237922008-01-14 Robert Millan <rmh@aybabtu.com>
23793
23794 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
23795 for grub_ieee1275_exit(), in order to improve portability.
23796
e622c559 237972008-01-14 Robert Millan <rmh@aybabtu.com>
23798
23799 * util/grub.d/10_linux.in (prefix): Define.
23800 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
23801
44cb1ec8 238022008-01-13 Pavel Roskin <proski@gnu.org>
23803
23804 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
23805 grub_errno if no errors have been detected.
23806
1eb8c802 238072008-01-12 Robert Millan <rmh@aybabtu.com>
23808
23809 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
23810 (grub_util_get_dev_abstraction): New function prototype.
23811
23812 * util/getroot.c: Include `<grub/util/getroot.h>'
23813 (grub_util_get_grub_dev): Move detection of abstraction type to ...
23814 (grub_util_get_dev_abstraction): ... here (new function).
23815
23816 * util/grub-probe.c: Convert PRINT_* to an enum. Add
23817 `PRINT_ABSTRACTION'.
23818 (probe): Probe for abstraction type when requested.
23819 (main): Understand `--target=abstraction'.
23820
23821 * util/i386/efi/grub-install.in: Add abstraction module to core
23822 image when it is found to be necessary.
23823 * util/i386/pc/grub-install.in: Likewise.
23824 * util/powerpc/ieee1275/grub-install.in: Likewise.
23825
23826 * util/update-grub_lib.in (font_path): Return system path without
23827 converting to GRUB path.
23828 * util/update-grub.in: Convert system path returned by font_path()
23829 to a GRUB path. Use `grub-probe -t abstraction' to determine what
23830 abstraction module is needed for loading fonts (if any). Export
23831 that as `GRUB_PRELOAD_MODULES'.
23832 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
23833 insmod commands).
23834
52bd3de9 238352008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
23836
23837 Remove some unused code from reiserfs.
f19dbdb7 23838
52bd3de9 23839 * fs/reiserfs.c (struct grub_reiserfs_key)
23840 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
23841 (struct grub_reiserfs_node_body): Removed.
23842 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
23843 Likewise.
23844 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
23845 Likewise.
23846 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
23847 Likewise.
23848 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
23849 Likewise.
23850 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
23851 Likewise.
23852 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
23853 Likewise.
23854 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
23855 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
23856 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
23857
2f80039d 238582008-01-10 Robert Millan <rmh@aybabtu.com>
23859
23860 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
23861 Determines if a file is garbage left by packaging systems, etc.
23862 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
23863 for processing /etc/grub.d scripts.
23864 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
23865 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
23866 as a condition for processing Linux images.
23867
87888032 238682008-01-10 Pavel Roskin <proski@gnu.org>
23869
23870 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
23871 to compile reiserfs.c on PowerPC.
23872
7e54fced 238732008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 23874
23875 * kern/device.c (grub_device_iterate): Do not abort device iteration
23876 when one of the devices cannot be opened.
23877 * kern/disk.c (grub_disk_open): Do not account previous failures of
23878 unrelated functions when grub_errno is checked for.
23879
5aa541e6 238802008-01-08 Robert Millan <rmh@aybabtu.com>
23881
23882 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
23883 `! grub_linux_is_bzimage', change order of address comparison to make
23884 it more intuitive, and improve "too big zImage" error message.
23885
7076340d 238862008-01-08 Robert Millan <rmh@aybabtu.com>
23887
23888 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
23889 `$(update-grub_DATA)'.
23890 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
23891 targets.
23892
9ca70333 238932008-01-07 Robert Millan <rmh@aybabtu.com>
23894
23895 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
23896 which instruction is modified by grub-setup during installation
23897 (since it wasn't obvious by only looking at this file).
23898
38ccf575 238992008-01-07 Robert Millan <rmh@aybabtu.com>
23900
23901 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
23902 listing actual TODO items.
23903
f5db4291 239042008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
23905
868967cf 23906 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
23907 correctly.
23908 (grub_reiserfs_get_key_offset): Likewise.
23909 (grub_reiserfs_set_key_offset): Likewise.
23910 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 23911 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 23912
23913 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
23914 better to remove the bitfield version completely.
f19dbdb7 23915
868967cf 239162008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 23917
f5db4291 23918 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
23919 allocated from the heap, due to the fshelp implementation.
23920 (grub_reiserfs_dir): Free NODE, due to the same reason.
23921
492e6d9d 239222008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
23923
23924 Mostly from Vincent Pelletier:
f19dbdb7 23925
492e6d9d 23926 * fs/reiserfs.c: New file.
f19dbdb7 23927
492e6d9d 23928 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
23929 (reiserfs_mod_SOURCES): New variable.
23930 (reiserfs_mod_CFLAGS): Likewise.
23931 (reiserfs_mod_LDFLAGS): Likewise.
23932
23933 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
23934 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
23935 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
23936 normal/color.c.
23937
9ce3e7c1 239382008-01-06 Robert Millan <rmh@aybabtu.com>
23939
23940 * normal/color.c: Remove `<grub/env.h>'.
23941
f3b58148 239422008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
23943
23944 * include/grub/normal.h: Include <grub/env.h>.
23945
7ac3bcfa 239462008-01-05 Robert Millan <rmh@aybabtu.com>
23947
23948 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
23949 usage example with `(hd0,1)'.
fb358190 23950 Reported by Samuel Thibault.
7ac3bcfa 23951
c8ee99d7 239522008-01-05 Robert Millan <rmh@aybabtu.com>
23953
23954 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
23955 (grub_linux_boot_zimage): Rename to ...
23956 (grub_linux_boot): ... this.
23957 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
23958 (grub_linux_boot_zimage): Conditionalize zImage copy.
23959
23960 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
23961 (grub_linux_boot_bzimage): Remove prototype.
23962 (grub_linux_boot_zimage): Rename to ...
23963 (grub_linux_boot): ... this.
23964
23965 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
23966 (grub_linux_boot): Remove function.
23967
0ece25b1 239682008-01-05 Robert Millan <rmh@aybabtu.com>
23969
23970 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
23971 (grub_env_write_color_highlight): Likewise.
23972 (grub_wait_after_message): Likewise.
23973
23974 * normal/color.c: New file.
23975
23976 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
23977 (normal_mod_DEPENDENCIES): Likewise.
23978
23979 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
23980 (normal_mod_DEPENDENCIES): Likewise.
23981
23982 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
23983 (normal_mod_DEPENDENCIES): Likewise.
23984
23985 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
23986 (normal_mod_DEPENDENCIES): Likewise.
23987
23988 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
23989 for waiting after a message is printed.
23990 * normal/main.c (read_config_file): Likewise.
23991 (grub_normal_init): Register grub_env_write_color_normal() and
23992 grub_env_write_color_highlight() hooks. Mark `color_normal' and
23993 `color_highlight' variables as global.
23994
23995 * normal/menu.c (grub_wait_after_message): New function.
23996 (grub_color_menu_normal): New variable. Replaces ...
23997 (GRUB_COLOR_MENU_NORMAL): ... this macro.
23998 (grub_color_menu_highlight): New variable. Replaces ...
23999 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
24000 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
24001 `GRUB_TERM_COLOR_STANDARD'.
24002 (print_message): Use `grub_setcolorstate' to reload colors. Rename
24003 `normal_code' and `highlight_code' to `old_color_normal' and
24004 `old_color_highlight', respectively.
24005 (grub_menu_init_page): Update colors when drawing the menu, based on
24006 `menu_color_normal' and `menu_color_highlight' variables.
24007 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
24008 a message is printed.
24009
182dd4e5 240102008-01-05 Robert Millan <rmh@aybabtu.com>
24011
24012 * kern/env.c (grub_env_context_open): Propagate hooks for global
24013 variables to new context.
24014
24015 * kern/main.c (grub_set_root_dev): Export `root' variable.
24016
ddf8f6ad 240172008-01-05 Robert Millan <rmh@aybabtu.com>
24018
24019 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 24020 discs unconditionally, since udev and others have options to provide
ddf8f6ad 24021 them.
24022
d8b43d9b 240232008-01-05 Robert Millan <rmh@aybabtu.com>
24024
24025 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
24026
2bff2de3 240272008-01-04 Christian Franke <franke@computer.org>
24028
24029 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
24030 of eisa_mmap.
24031
97eab917 240322008-01-03 Pavel Roskin <proski@gnu.org>
24033
24034 * kern/i386/linuxbios/init.c: Put "void" to all function
24035 declarations with no arguments.
24036 * kern/powerpc/ieee1275/init.c: Likewise.
24037 * term/i386/pc/at_keyboard.c: Likewise.
24038 * term/i386/pc/vga_text.c: Likewise.
24039 * util/grub-mkdevicemap.c: Likewise.
24040
b9416d00 240412008-01-02 Robert Millan <rmh@aybabtu.com>
24042
24043 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
24044 message when loaded image is out of bounds.
24045 (grub_multiboot_load_elf64): Likewise.
24046
92695df9 240472008-01-02 Pavel Roskin <proski@gnu.org>
24048
24049 * util/grub.d/10_linux.in: Try version without ".old" when
24050 looking for initrd. It's better to use initrd from the newer
24051 kernel of the same version than no initrd at all.
24052
d98d9cad 240532008-01-01 Robert Millan <rmh@aybabtu.com>
24054
24055 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
24056
dbfdce36 240572008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
24058
f19dbdb7 24059 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 24060 grub_video_get_active_render_target.
24061 (grub_video_adapter): Added unmap_color and get_active_render_target.
24062
f19dbdb7 24063 * video/video.c: Added grub_video_unmap_color and
dbfdce36 24064 grub_video_get_active_render_target.
24065 (grub_video_get_info): Changed method to accept NULL pointer as an
24066 argument to allow detection of active video adapter.
24067
24068 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
24069 grub_video_vbe_unmap_color_int.
24070 Added grub_video_vbe_unmap_color and
24071 grub_video_vbe_get_active_render_target.
24072 (grub_video_vbe_adapter): Added unmap_color and
24073 get_active_render_target.
24074
f19dbdb7 24075 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 24076 with grub_video_vbe_unmap_color_int.
24077
24078 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
24079 (DEFAULT_NORMAL_COLOR): Likewise.
24080 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
24081 (DEFAULT_FG_COLOR): Removed.
24082 (DEFAULT_BG_COLOR): Likewise.
24083 (DEFAULT_CURSOR_COLOR): Changed value.
24084 (grub_virtual_screen): Added standard_color_setting,
24085 normal_color_setting, highlight_color_setting and term_color.
24086 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
24087 (bitmap_width): Added.
24088 (bitmap_height): Likewise.
24089 (bitmap): Likewise.
24090 (set_term_color): Likewise.
24091 (grub_virtual_screen_setup): Changed to use new terminal coloring
24092 settings.
24093 (grub_gfxterm_init): Added init for bitmap.
24094 (grub_gfxterm_fini): Added destroy for bitmap.
24095 (redraw_screen_rect): Updated to use background bitmap and new
24096 terminal coloring.
24097 (scroll_up): Added optimization for case when there is no bitmap.
24098 (grub_gfxterm_cls): Fixed to use correct background color.
24099 (grub_virtual_screen_setcolorstate): Changed to use new terminal
24100 coloring.
24101 (grub_virtual_screen_setcolor): Likewise.
24102 (grub_virtual_screen_getcolor): Added.
24103 (grub_gfxterm_background_image_cmd): Likewise.
24104 (grub_video_term): Added setcolor and getcolor.
24105 (MOD_INIT): Added registration of background_image command.
24106 (MOD_TERM): Added unregistration for background_image command.
24107
c3c20931 241082007-12-30 Pavel Roskin <proski@gnu.org>
24109
24110 * loader/multiboot_loader.c: Fix multiboot command
24111 unregistration. Fix all typos in the word "multiboot".
24112
df266716 241132007-12-29 Pavel Roskin <proski@gnu.org>
94239199 24114
24115 * util/grub.d/10_linux.in: Refactor search for initrd. Add
24116 support for initrd names used in Fedora.
24117
fc6e896c 241182007-12-26 Bean <bean123ch@gmail.com>
24119
24120 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
24121 (cpio_mod_SOURCES): New variable.
24122 (cpio_mod_CFLAGS): Likewise.
24123 (cpio_mod_LDFLAGS): Likewise.
24124
24125 * fs/cpio.c: New file.
24126
24127 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
24128
24129 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24130
24131 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24132
24133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24134
533110ad 241352007-12-25 Robert Millan <rmh@aybabtu.com>
24136
24137 * include/grub/term.h (struct grub_term): Add `getcolor' function.
24138 (grub_getcolor): New function.
24139
24140 * kern/term.c (grub_getcolor): New function.
24141 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
24142 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
24143 (print_entry): Set normal and highlight colors to
24144 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
24145 respectively, before printing and restore them to old
24146 values afterwards.
24147 (grub_menu_init_page): Likewise. Fill an additional colored space
24148 that would otherwise be left blank.
24149
24150 * term/efi/console.c (grub_console_getcolor): New function.
24151 (struct grub_console_term.getcolor): New variable.
24152 * term/i386/pc/console.c (grub_console_getcolor): New function.
24153 (struct grub_console_term.getcolor): New variable.
24154 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
24155 (struct grub_console_term.getcolor): New variable.
24156
24157 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
24158 (struct grub_console_term.setcolor): Remove variable.
24159 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
24160 (struct grub_console_term.setcolor): Remove variable.
24161 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
24162 (struct grub_console_term.setcolor): Remove variable.
24163 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
24164 (struct grub_console_term.setcolor): Remove variable.
24165
4931827f 241662007-12-25 Robert Millan <rmh@aybabtu.com>
24167
24168 * configure.ac: Search for possible unifont.hex locations, and
24169 define UNIFONT_HEX if found.
24170
24171 * Makefile.in (UNIFONT_HEX): Define variable.
24172 (DATA): Rename to ...
24173 (PKGLIB): ... this. Update all users.
24174 (PKGDATA): New variable.
24175 (pkgdata_IMAGES): Rename to ...
24176 (pkglib_IMAGES): ... this. Update all users.
24177 (pkgdata_MODULES): Rename to ...
24178 (pkglib_MODULES): ... this. Update all users.
24179 (pkgdata_PROGRAMS): Rename to ...
24180 (pkglib_PROGRAMS): ... this. Update all users.
24181 (pkgdata_DATA): Rename to ...
24182 (pkglib_DATA): ... this. Update all users.
24183 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
24184 (unicode.pff, ascii.pff): New rules.
24185 (all-local): Add `$(PKGDATA)' dependency.
24186 (install-local): Process `$(PKGDATA)'.
24187
24188 * util/update-grub_lib.in (font_path): Search for *.pff files in
24189 a few more locations, including `${pkgdata}'.
24190
57e57e31 241912007-12-23 Robert Millan <rmh@aybabtu.com>
24192
24193 Patch from Bean <bean123ch@gmail.com>:
24194 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
24195 `size'.
24196
4bc72aa9 241972007-12-21 Bean <bean123ch@gmail.com>
24198
24199 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
24200 (ntfscomp_mod_SOURCES): New variable.
24201 (ntfscomp_mod_CFLAGS): Likewise.
24202 (ntfscomp_mod_LDFLAGS): Likewise.
24203
24204 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
24205 (grub_probe_SOURCES): Likewise.
24206 (grub_emu_SOURCES): Likewise.
24207
24208 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24209 (grub_emu_SOURCES): Likewise.
24210
24211 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24212 (grub_emu_SOURCES): Likewise.
24213
24214 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24215 (grub_emu_SOURCES): Likewise.
24216
24217 * fs/ntfs.c (grub_ntfscomp_func): New variable.
24218 (read_run_list): Renamed to grub_ntfs_read_run_list.
24219 (decomp_nextvcn): Moved to ntfscomp.c.
24220 (decomp_getch): Likewise.
24221 (decomp_get16): Likewise.
24222 (decomp_block): Likewise.
24223 (read_block): Likewise.
24224 (read_data): Partially moved to ntfscomp.c.
24225 (fixup): Change unsigned to grub_uint16_t.
24226 (read_mft): Change unsigned long to grub_uint32_t.
24227 (read_attr): Likewise.
24228 (read_data): Likewise.
24229 (read_run_data): Likewise.
24230 (read_run_list): Likewise.
24231 (read_mft): Likewise.
24232
24233 * fs/ntfscomp.c: New file.
24234
24235 * include/grub/ntfs.h: New file.
24236
af680a87 242372007-12-16 Robert Millan <rmh@aybabtu.com>
24238
24239 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
24240 IDE disk check, since Linux is known to support 20 IDE disks.
24241 Reported by Colin Watson.
24242
84be7599 242432007-12-15 Bean <bean123ch@gmail.com>
24244
24245 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
24246 (lnxboot_img_SOURCES): New variable.
24247 (lnxboot_img_ASFLAGS): Likewise.
24248 (lnxboot_img_LDFLAGS): Likewise.
24249
24250 * boot/i386/pc/lnxboot.S: New file.
24251
6af9db01 242522007-11-24 Pavel Roskin <proski@gnu.org>
24253
24254 * configure.ac: Test if '--build-id=none' is supported by the
24255 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
24256 objcopy to generate incorrect binary files (binutils
24257 2.17.50.0.18-1 as shipped by Fedora 8).
24258 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
24259 linking, so that build ID doesn't break the test.
24260
7361cfe6 242612007-11-24 Pavel Roskin <proski@gnu.org>
24262
24263 * include/grub/i386/time.h: use "void" in the argument list
24264 of grub_cpu_idle().
24265 * include/grub/powerpc/time.h: Likewise.
24266 * include/grub/sparc64/time.h: Likewise.
24267
1593e10c 242682007-11-18 Christian Franke <franke@computer.org>
24269
24270 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
24271 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
24272 This fixes the problem that function keys did not work in grub-emu.
24273
3b8db1a8 242742007-11-18 Christian Franke <franke@computer.org>
24275
24276 * disk/host.c (grub_host_open): Remove attribute unused from
24277 name parameter. Add check for "host". This fixes the problem
24278 that grub-emu does not find partitions.
24279
2e29408d 242802007-11-18 Christian Franke <franke@computer.org>
24281
24282 * util/hostfs.c (is_dir): New function.
24283 (grub_hostfs_dir): Handle missing dirent.d_type case.
24284 (grub_hostfs_read): Add missing fseek().
24285 (grub_hostfs_label): Clear label pointer. This fixes a crash
24286 of grub-emu on "ls (host)".
24287
398cd047 242882007-11-18 Christian Franke <franke@computer.org>
24289
24290 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
24291 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
24292 to 64 bit boundary by default.
24293
c405c391 242942007-11-18 Bean <bean123ch@gmail.com>
24295
24296 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
24297 (hexdump_mod_SOURCES): New variable.
24298 (hexdump_mod_CFLAGS): Likewise.
24299 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 24300
c405c391 24301 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24302
24303 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24304
24305 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24306
24307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24308
24309 * include/grub/hexdump.h: New file.
24310
24311 * commands/hexdump.c: New file.
24312
5cced7fd 243132007-11-10 Robert Millan <rmh@aybabtu.com>
24314
24315 * commands/i386/pc/play.c (beep_off): Switch order of arguments
24316 in grub_outb() calls.
24317 (beep_on): Likewise.
24318
8b714eb0 243192007-11-10 Christian Franke <franke@computer.org>
24320
24321 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
24322 (grub_menu_run): Likewise.
24323
ce0f1839 243242007-11-10 Robert Millan <rmh@aybabtu.com>
24325
24326 * include/grub/i386/efi/machine.h: New file.
24327 * include/grub/i386/linuxbios/machine.h: Likewise.
24328 * include/grub/i386/pc/machine.h: Likewise.
24329 * include/grub/powerpc/ieee1275/machine.h: Likewise.
24330 * include/grub/sparc64/ieee1275/machine.h: Likewise.
24331
24332 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
24333 (serial_hw_io_addr): New variable.
24334 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
24335 instead of `(unsigned short *) 0x400'.
24336
270c237d 243372007-11-10 Bean <bean123ch@gmail.com>
24338
24339 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
24340
a87783bf 243412007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
24342
24343 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
24344 (vga_mod_SOURCES): Added.
24345 (vga_mod_CFLAGS): Likewise.
24346 (vga_mod_LDFLAGS): Likewise.
24347
24348 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
24349 grub_outb() calls.
24350 (set_map_mask): Likewise.
24351 (set_read_map): Likewise.
24352 (set_read_address): Likewise.
24353 (vga_font): Removed variable.
24354 (get_vga_glyph): Removed function.
24355 (invalidate_char): Likewise.
24356 (write_char): Changed to use grub_font_get_glyph() for font
24357 information.
24358 (grub_vga_putchar): Likewise.
24359 (grub_vga_getcharwidth): Likewise.
24360
6433b448 243612007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
24362
24363 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
24364 flags.
24365 (pxeboot_img_LDFLAGS): Likewise.
24366 (diskboot_img_LDFLAGS): Likewise.
24367 (kernel_img_LDFLAGS): Likewise.
24368
49178511 243692007-11-06 Robert Millan <rmh@aybabtu.com>
24370
24371 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
24372 in grub_outb() calls.
24373 (serial_hw_init): Likewise.
24374
53b052de 243752007-11-05 Robert Millan <rmh@aybabtu.com>
24376
24377 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
24378 spaces. Skip non-regular files.
24379
5ab33bba 243802007-11-05 Robert Millan <rmh@aybabtu.com>
24381
24382 * kern/disk.c (grub_disk_firmware_fini)
24383 (grub_disk_firmware_is_tainted): New variables.
24384
24385 * include/grub/disk.h (grub_disk_firmware_fini)
24386 (grub_disk_firmware_is_tainted): Likewise.
24387
24388 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
24389 (grub_disk_biosdisk_fini): ... to here.
24390 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
24391 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
24392 is set. Register grub_disk_biosdisk_fini() in
24393 `grub_disk_firmware_fini'.
24394
24395 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
24396 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
24397 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
24398 to finish existing firmware disk interface.
24399
24400 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
24401 (ata_mod_SOURCES): New variable.
24402 (ata_mod_CFLAGS): Likewise.
24403 (ata_mod_LDFLAGS): Likewise.
24404
0149ab7c 244052007-11-05 Robert Millan <rmh@aybabtu.com>
24406
24407 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
24408 (grub_ata_wait): Reimplement using grub_millisleep().
24409
24410 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
24411 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
24412
be7ac41e 244132007-11-03 Marco Gerards <marco@gnu.org>
24414
24415 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
24416 (CRTC_ADDR_PORT): New macro.
24417 (CRTC_DATA_PORT): Likewise.
24418 (CRTC_CURSOR): Likewise.
24419 (CRTC_CURSOR_ADDR_HIGH): Likewise.
24420 (CRTC_CURSOR_ADDR_LOW): Likewise.
24421 (update_cursor): New function.
24422 (grub_console_real_putchar): Call `update_cursor'.
24423 (grub_console_gotoxy): Likewise.
24424 (grub_console_cls): Set the default color when clearing the
24425 screen.
24426 (grub_console_setcursor): Implemented.
24427
bb06ab2e 244282007-11-03 Marco Gerards <marco@gnu.org>
24429
24430 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
24431 become activate.
24432 (grub_ata_pio_write): Likewise.
24433
24434 (grub_atapi_identify): Wait after issuing an ATA command.
24435 (grub_atapi_packet): Likewise.
24436 (grub_ata_identify): Likewise.
24437 (grub_ata_readwrite): Likewise.
24438
cf8f780b 244392007-11-03 Marco Gerards <marco@gnu.org>
24440
24441 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
24442 (grub_ata_pio_write): Likewise.
24443 (grub_ata_readwrite): Use `grub_error', instead of
24444 returning `grub_errno'.
24445
ed649e54 244462007-11-03 Marco Gerards <marco@gnu.org>
24447
24448 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
24449 grub_ata_pio_write once for every single sector, instead of for
24450 multiple sectors.
24451
ca25d8f0 244522007-10-31 Robert Millan <rmh@aybabtu.com>
24453
24454 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
24455
24456 * conf/i386-linuxbios.rmk: New file.
24457
24458 * kern/i386/pc/hardware.c: Likewise.
24459 * term/i386/pc/at_keyboard.c: Likewise.
24460 * term/i386/pc/vga_text.c: Likewise.
24461
24462 * include/grub/i386/linuxbios/boot.h: Likewise.
24463 * include/grub/i386/linuxbios/console.h: Likewise.
24464 * include/grub/i386/linuxbios/init.h: Likewise.
24465 * include/grub/i386/linuxbios/kernel.h: Likewise.
24466 * include/grub/i386/linuxbios/loader.h: Likewise.
24467 * include/grub/i386/linuxbios/memory.h: Likewise.
24468 * include/grub/i386/linuxbios/serial.h: Likewise.
24469 * include/grub/i386/linuxbios/time.h: Likewise.
24470
24471 * kern/i386/linuxbios/init.c: Likewise.
24472 * kern/i386/linuxbios/startup.S: Likewise.
24473 * kern/i386/linuxbios/table.c: Likewise.
24474
e911ecc1 244752007-10-31 Marco Gerards <marco@gnu.org>
24476
24477 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
24478 (ata_mod_SOURCES): New variable.
24479 (ata_mod_CFLAGS): Likewise.
24480 (ata_mod_LDFLAGS): Likewise.
24481
24482 * disk/ata.c: New file.
24483
24484 * include/grub/disk.h (grub_disk_dev_id): Add
24485 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 24486
7f66d0e0 244872007-10-31 Robert Millan <rmh@aybabtu.com>
24488
24489 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
24490 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
24491
24492 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
24493 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
24494
24495 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
24496 `<grub/types.h>'.
24497
24498 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
24499
5cd7dd46 245002007-10-27 Robert Millan <rmh@aybabtu.com>
24501
3236ca65 24502 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 24503
2ebfc90f 245042007-10-22 Robert Millan <rmh@aybabtu.com>
24505
24506 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
24507 `"../realmode.S"'.
24508 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
24509
73fcb0f3 245102007-10-22 Robert Millan <rmh@aybabtu.com>
24511
24512 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
24513 (pkgdata_MODULES): Add `biosdisk.mod'.
24514 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
24515 variables.
24516
24517 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
24518 (grub_biosdisk_init): Replace with ...
24519 (GRUB_MOD_INIT(biosdisk)): ... this.
24520 (grub_biosdisk_fini): Replace with ...
24521 (GRUB_MOD_FINI(biosdisk)): ... this.
24522
24523 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
24524 (grub_machine_init): Remove call to grub_biosdisk_init().
24525 (grub_machine_fini): Remove call to grub_machine_fini().
24526
24527 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
24528
3381d274 245292007-10-22 Robert Millan <rmh@aybabtu.com>
24530
24531 * include/grub/time.h: New file.
24532 * include/grub/i386/time.h: Likewise.
24533 * include/grub/powerpc/time.h: Likewise.
24534 * include/grub/sparc64/time.h: Likewise.
24535
24536 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
24537 instances to ...
24538 (KERNEL_MACHINE_TIME_HEADER): ... this.
24539 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
24540 instances to ...
24541 (KERNEL_MACHINE_TIME_HEADER): ... this.
24542 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
24543 instances to ...
24544 (KERNEL_MACHINE_TIME_HEADER): ... this.
24545
24546 * kern/i386/efi/init.c: Include `<grub/time.h>'.
24547 (grub_millisleep): New function.
24548 * kern/i386/pc/init.c: Include `<grub/time.h>'.
24549 (grub_millisleep): New function.
24550 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
24551 Remove `grub/machine/time.h' include.
24552 (grub_millisleep): New function.
24553 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
24554 Remove `grub/machine/time.h' include.
24555 (grub_millisleep): New function.
24556
24557 * include/grub/misc.h (grub_div_roundup): New function.
24558
24559 * kern/misc.c: Include `<grub/time.h>'.
24560 (grub_millisleep_generic): New function.
24561
24562 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
24563 Add `time.h'.
24564 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
24565 Add `time.h'.
24566 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
24567 `machine/time.h'. Add `time.h'.
24568 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
24569
a39a0312 245702007-10-21 Robert Millan <rmh@aybabtu.com>
24571
24572 * include/grub/misc.h (grub_max): New function.
24573
2aad70e2 245742007-10-21 Robert Millan <rmh@aybabtu.com>
24575
24576 * util/misc.c (grub_util_info): Call fflush() before returning.
24577
54b71c4b 245782007-10-20 Robert Millan <rmh@aybabtu.com>
24579
24580 * genmk.rb (Image): Copy `extra_flags' from here ...
24581 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
24582
24583 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
24584 to `argc' and `args' arguments.
24585
a979f513 245862007-10-17 Robert Millan <rmh@aybabtu.com>
24587
24588 * kern/i386/loader.S: New file.
24589
24590 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
24591 * kern/i386/loader.S (grub_linux_prot_size)... to here.
24592 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
24593 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
24594 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
24595 * kern/i386/loader.S (grub_linux_real_addr)... to here.
24596 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
24597 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
24598 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
24599 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
24600 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
24601 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
24602 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
24603 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
24604
24605 * kern/i386/realmode.S: New file.
24606
24607 * kern/i386/pc/startup.S (protstack): Moved from here ...
24608 * kern/i386/realmode.S (protstack)... to here.
24609 * kern/i386/pc/startup.S (gdt): Moved from here ...
24610 * kern/i386/realmode.S (gdt)... to here.
24611 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
24612 * kern/i386/realmode.S (prot_to_real)... to here.
24613
24614 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
24615 `kern/i386/realmode.S'.
24616
825fc8fd 246172007-10-17 Robert Millan <rmh@aybabtu.com>
24618
24619 * include/grub/i386/loader.h: New file.
24620
24621 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
24622 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
24623 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
24624 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
24625 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
24626 * include/grub/i386/loader.h (grub_linux_prot_size)
24627 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
24628 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
24629 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
24630 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
24631
24632 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
24633
e179b2f4 246342007-10-15 Robert Millan <rmh@aybabtu.com>
24635
24636 * normal/misc.c (grub_normal_print_device_info): Do not probe for
24637 filesystem when dev->disk is unset.
24638 Do probe for filesystem even when dev->disk->has_partitions is set.
24639 In case a filesystem is found, always report it.
24640 In case it isn't, if dev->disk->has_partitions is set, report that
24641 a partition table was found instead of reporting that no filesystem
24642 could be identified.
24643
5db82af6 246442007-10-12 Robert Millan <rmh@aybabtu.com>
24645
24646 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
24647 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
24648
68f6ac74 24649 * include/grub/types.h (grub_host_to_target16): New macro.
24650 (grub_host_to_target32): Likewise.
24651 (grub_host_to_target64): Likewise.
24652 (grub_target_to_host16): Likewise.
24653 (grub_target_to_host32): Likewise.
24654 (grub_target_to_host64): Likewise.
5db82af6 24655
24656 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
24657 Renamed from to ...
24658 (GRUB_MOD_ALIGN): ...this. Update all users.
24659
68f6ac74 24660 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
24661 grub_host_to_target32.
24662 Replace grub_be_to_cpu32 with grub_target_to_host32.
24663 (load_modules): Likewise.
24664 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
24665 Replace grub_be_to_cpu32 with grub_target_to_host32.
24666 Replace grub_cpu_to_be16 with grub_host_to_target16.
24667 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 24668
3cf497cc 246692007-10-12 Robert Millan <rmh@aybabtu.com>
24670
24671 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
24672 * util/elf/grub-mkimage.c: ... here.
24673
24674 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
24675 `util/powerpc/ieee1275/grub-mkimage.c'.
24676
c8cc3692 246772007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 24678
c8cc3692 24679 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
24680 and make it easier to figure out.
24681 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
24682 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
24683 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
24684 leave us with less than HEAP_MIN_SIZE total heap.
24685 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 24686
5c58b791 246872007-10-03 Robert Millan <rmh@aybabtu.com>
24688
24689 * include/grub/i386/io.h: New file.
24690 * commands/i386/pc/play.c (inb): Removed.
24691 (outb): Removed.
24692 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
24693 with grub_outb().
afcd2ef8 24694 * term/i386/pc/serial.c (inb): Removed.
24695 (outb): Removed.
24696 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
24697 with grub_outb().
24698 * term/i386/pc/vga.c (inb): Removed.
24699 (outb): Removed.
24700 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
24701 with grub_outb().
5c58b791 24702
1a477ed6 247032007-10-02 Robert Millan <rmh@aybabtu.com>
24704
24705 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
24706 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24707 Reported by Marcin Kurek.
24708
6b5d80fa 247092007-09-07 Robert Millan <rmh@aybabtu.com>
24710
24711 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
24712 SmartFirmware version updates (as released by Sven Luther), and avoid
24713 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
24714 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
24715 known broken.
24716
5618afbf 247172007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
24718
24719 From Hitoshi Ozeki:
24720 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
24721 when merging two regions.
24722
6139dcd9 247232007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
24724
508e39ee 24725 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
24726 * normal/completion.c (grub_normal_do_completion): Likewise.
24727 Reported by Hitoshi Ozeki.
24728
247292007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24730
6139dcd9 24731 Do not use devices at boot in chainloading.
f19dbdb7 24732
6139dcd9 24733 * loader/i386/pc/chainloader.c (boot_drive): New variable.
24734 (boot_part_addr): Likewise.
24735 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
24736 with BOOT_DRIVE and BOOT_PART_ADDR.
24737 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
24738 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
24739
38da6516 247402007-08-29 Robert Millan <rmh@aybabtu.com>
24741
24742 Patch from Simon Peter <dn.tlp@gmx.net>:
24743 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
24744 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
24745 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
24746 util/i386/pc/grub-setup.c_DEPENDENCIES.
24747 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
24748 util/grub-probe.c_DEPENDENCIES.
24749 * conf/powerpc-ieee1275.rmk: Likewise.
24750
29d0928c 247512007-08-28 Robert Millan <rmh@aybabtu.com>
24752
24753 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
24754 to tell grub-mkdevicemap how to name devices.
24755 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
24756 feature).
24757
24758 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
24759 util/i386/get_disk_name.c.
24760 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
24761 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
24762 util/ieee1275/get_disk_name.c.
24763
24764 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
24765
24766 * DISTLIST: Add util/i386/get_disk_name.c and
24767 util/ieee1275/get_disk_name.c.
24768
24769 * util/grub-mkdevicemap.c: Replace device naming logic with
24770 grub_util_get_disk_name() calls.
24771
5a0d3cca 247722007-08-20 Robert Millan <rmh@aybabtu.com>
24773
24774 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
24775 (so that it works for both plural and singular quantities).
24776
8b72db2f 247772007-08-05 Robert Millan <rmh@aybabtu.com>
24778
24779 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
24780 so that [xz] isn't taken into account when determining order.
24781
352466bf 247822007-08-02 Marco Gerards <marco@gnu.org>
24783
24784 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
24785 `include/multiboot2.h', `include/grub/elfload.h',
24786 `include/multiboot.h', `include/grub/multiboot.h',
24787 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
24788 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
24789 `kern/elf.c', `loader/multiboot_loader.c',
24790 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
24791 `loader/i386/pc/multiboot2.c',
24792 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
24793 `util/i386/pc/grub-mkrescue.in'. Remove
24794 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
24795 `include/grub/i386/pc/util/biosdisk.h' and
24796 `include/grub/powerpc/ieee1275/multiboot.h'.
24797
8f096014 247982007-08-02 Bean <bean123ch@gmail.com>
24799
24800 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
24801 (ntfs_mod_SOURCES): New variable.
24802 (ntfs_mod_CFLAGS): Likewise.
24803 (ntfs_mod_LDFLAGS): Likewise.
24804
24805 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
24806 (grub_probe_SOURCES): Likewise.
24807 (grub_emu_SOURCES): Likewise.
24808
24809 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
24810 (grub_emu_SOURCES): Likewise.
24811
24812 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
24813 (grub_emu_SOURCES): Likewise.
f19dbdb7 24814
8f096014 24815 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
24816
24817 * fs/ntfs.c: New file.
24818
9959f7db 248192007-08-02 Bean <bean123ch@gmail.com>
24820
24821 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
24822
24823 * file.h (grub_file): Likewise.
24824
24825 * fshelp.h (grub_fshelp_read_file): Likewise.
24826
24827 * util/i386/pc/grub-setup.c (setup): Likewise.
24828 (save_first_sector): Likewise.
24829 (save_blocklists): Likewise.
f19dbdb7 24830
9959f7db 24831 * fs/affs.c (grub_affs_read_file): Likewise.
24832
24833 * fs/ext2.c (grub_ext2_read_file): Likewise.
24834
24835 * fs/fat.c (grub_fat_read_data): Likewise.
24836
24837 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
24838
24839 * fs/hfs.c (grub_hfs_read_file): Likewise.
24840
24841 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
24842
24843 * fs/jfs.c (grub_jfs_read_file): Likewise.
24844
24845 * fs/minix.c (grub_minix_read_file): Likewise.
24846
24847 * fs/sfs.c (grub_sfs_read_file): Likewise.
24848
24849 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 24850
9959f7db 24851 * fs/xfs.c (grub_xfs_read_file): Likewise.
24852
24853 * command/blocklist.c (read_blocklist): Likewise.
24854 (print_blocklist): Likewise.
24855
0a203f83 248562007-08-02 Marco Gerards <marco@gnu.org>
24857
24858 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
24859 `util/hostfs.c'.
24860
24861 * disk/host.c: New file.
24862
24863 * util/hostfs.c: Likewise.
24864
24865 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
24866 return `GRUB_ERR_BAD_FS'.
24867 * fs/sfs.c (grub_sfs_mount): Likewise.
24868 * fs/xfs.c (grub_xfs_mount): Likewise.
24869
24870 * include/grub/disk.h (enum grub_disk_dev_id): Add
24871 `GRUB_DISK_DEVICE_HOST_ID'.
24872
24873 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
24874
e5dfe777 248752007-07-24 Jerone Young <jerone@gmail.com>
24876
f19dbdb7 24877 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 24878 modules for compilation.
24879 * conf/powerpc-ieee1275.rmk: Likewise.
24880
24881 * include/multiboot.h: Move multiboot definitions to one file. Rename
24882 many definitions to not get grub specific.
24883 * include/multiboot2.h: Create header with multiboot 2 definitions.
24884 * include/grub/multiboot.h: Header for grub specific function
24885 prototypes and definitions.
24886 * include/grub/multiboot2.h: Likewise.
24887 * include/grub/multiboot_loader.h: Likewise.
24888 * include/grub/i386/pc/multiboot.h: Removed.
24889 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
24890
24891 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
24892 and 2 to allow for one multiboot and module commands.
24893 * loader/multiboot2.c: Add multiboot2 functionality.
24894 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
24895 and definition names.
24896 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
24897 2 functions.
24898 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
24899 ieee1275 specific multiboot2 code.
24900
24901 * kern/i386/pc/startup.S: Change headers and definition names for
24902 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
24903
daf0f0ba 249042007-07-22 Robert Millan <rmh@aybabtu.com>
24905
24906 * geninitheader.sh: Process file specified in first parameter rather
24907 than hardcoding grub_modules_init.lst.
fe6b695a 24908 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 24909 than hardcoding grub_modules_init.h.
24910
24911 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
24912 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
24913 grub_probe_init.[ch] and grub_setup_init.[ch].
24914
24915 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
24916 grub_modules_init.h with grub_emu_init.h.
24917 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
24918 grub_probe_init.[ch] files.
24919 * conf/i386-efi.rmk: Likewise.
24920 * conf/i386-pc.rmk: Likewise.
24921 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
24922 grub_setup_init.[ch] files.
24923
24924 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
24925 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
24926 to initialize modules rather than a list of hardcoded functions.
24927 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
24928 grub_init_all() to initialize modules rather than a list of hardcoded
24929 functions.
24930
54cdc1cc 249312007-07-22 Robert Millan <rmh@aybabtu.com>
24932
24933 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24934 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
24935
ad0686cc 249362007-07-22 Robert Millan <rmh@aybabtu.com>
24937
24938 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
24939 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
24940 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
24941 flag when running on SmartFirmware.
24942 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
24943 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
24944 was set.
24945
24946 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
24947 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
24948 rather than decreasing it.
24949
24950 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
24951 there's not enough space to do it, fail in the same way as when it
24952 can't be done because there are no partitions.
24953
24954 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
24955 when nvsetenv failed.
24956
969c02ec 249572007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
24958
24959 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
24960 because this rule is automatically generated.
24961 (grub-mkrescue): Removed for the same reason as above.
24962
5a79f472 249632007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
24964
24965 Migrate to GNU General Public License Version 3.
f19dbdb7 24966
5a79f472 24967 * COPYING: Replaced with the plain text version of GPLv3.
24968
24969 * config.guess: Updated from gnulib.
24970 * config.sub: Likewise.
24971
24972 * geninit.sh: Output a GPLv3 copyright notice.
24973 * geninitheader.sh: Likewise.
24974 * genmodsrc.sh: Likewise.
24975 * gensymlist.sh.in: Likewise.
24976
24977 * boot/i386/pc/boot.S: Upgraded to GPLv3.
24978 * boot/i386/pc/diskboot.S: Likewise.
24979 * boot/i386/pc/pxeboot.S: Likewise.
24980 * commands/blocklist.c: Likewise.
24981 * commands/boot.c: Likewise.
24982 * commands/cat.c: Likewise.
24983 * commands/cmp.c: Likewise.
24984 * commands/configfile.c: Likewise.
24985 * commands/echo.c: Likewise.
24986 * commands/help.c: Likewise.
24987 * commands/ls.c: Likewise.
24988 * commands/search.c: Likewise.
24989 * commands/terminal.c: Likewise.
24990 * commands/test.c: Likewise.
24991 * commands/videotest.c: Likewise.
24992 * commands/i386/cpuid.c: Likewise.
24993 * commands/i386/pc/halt.c: Likewise.
24994 * commands/i386/pc/play.c: Likewise.
24995 * commands/i386/pc/reboot.c: Likewise.
24996 * commands/i386/pc/vbeinfo.c: Likewise.
24997 * commands/i386/pc/vbetest.c: Likewise.
24998 * commands/ieee1275/halt.c: Likewise.
24999 * commands/ieee1275/reboot.c: Likewise.
25000 * commands/ieee1275/suspend.c: Likewise.
25001 * disk/loopback.c: Likewise.
25002 * disk/lvm.c: Likewise.
25003 * disk/raid.c: Likewise.
25004 * disk/efi/efidisk.c: Likewise.
25005 * disk/i386/pc/biosdisk.c: Likewise.
25006 * disk/ieee1275/ofdisk.c: Likewise.
25007 * font/manager.c: Likewise.
25008 * fs/affs.c: Likewise.
25009 * fs/ext2.c: Likewise.
25010 * fs/fat.c: Likewise.
25011 * fs/fshelp.c: Likewise.
25012 * fs/hfs.c: Likewise.
25013 * fs/hfsplus.c: Likewise.
25014 * fs/iso9660.c: Likewise.
25015 * fs/jfs.c: Likewise.
25016 * fs/minix.c: Likewise.
25017 * fs/sfs.c: Likewise.
25018 * fs/ufs.c: Likewise.
25019 * fs/xfs.c: Likewise.
25020 * hello/hello.c: Likewise.
25021 * include/grub/acorn_filecore.h: Likewise.
25022 * include/grub/arg.h: Likewise.
25023 * include/grub/bitmap.h: Likewise.
25024 * include/grub/boot.h: Likewise.
25025 * include/grub/cache.h: Likewise.
25026 * include/grub/device.h: Likewise.
25027 * include/grub/disk.h: Likewise.
25028 * include/grub/dl.h: Likewise.
25029 * include/grub/elfload.h: Likewise.
25030 * include/grub/env.h: Likewise.
25031 * include/grub/err.h: Likewise.
25032 * include/grub/file.h: Likewise.
25033 * include/grub/font.h: Likewise.
25034 * include/grub/fs.h: Likewise.
25035 * include/grub/fshelp.h: Likewise.
25036 * include/grub/gzio.h: Likewise.
25037 * include/grub/hfs.h: Likewise.
25038 * include/grub/kernel.h: Likewise.
25039 * include/grub/loader.h: Likewise.
25040 * include/grub/lvm.h: Likewise.
25041 * include/grub/misc.h: Likewise.
25042 * include/grub/mm.h: Likewise.
25043 * include/grub/net.h: Likewise.
25044 * include/grub/normal.h: Likewise.
25045 * include/grub/parser.h: Likewise.
25046 * include/grub/partition.h: Likewise.
25047 * include/grub/pc_partition.h: Likewise.
25048 * include/grub/raid.h: Likewise.
25049 * include/grub/rescue.h: Likewise.
25050 * include/grub/script.h: Likewise.
25051 * include/grub/setjmp.h: Likewise.
25052 * include/grub/symbol.h: Likewise.
25053 * include/grub/term.h: Likewise.
25054 * include/grub/terminfo.h: Likewise.
25055 * include/grub/tparm.h: Likewise.
25056 * include/grub/types.h: Likewise.
25057 * include/grub/video.h: Likewise.
25058 * include/grub/efi/api.h: Likewise.
25059 * include/grub/efi/chainloader.h: Likewise.
25060 * include/grub/efi/console.h: Likewise.
25061 * include/grub/efi/console_control.h: Likewise.
25062 * include/grub/efi/disk.h: Likewise.
25063 * include/grub/efi/efi.h: Likewise.
25064 * include/grub/efi/pe32.h: Likewise.
25065 * include/grub/efi/time.h: Likewise.
25066 * include/grub/i386/linux.h: Likewise.
25067 * include/grub/i386/setjmp.h: Likewise.
25068 * include/grub/i386/types.h: Likewise.
25069 * include/grub/i386/efi/kernel.h: Likewise.
25070 * include/grub/i386/efi/loader.h: Likewise.
25071 * include/grub/i386/efi/time.h: Likewise.
25072 * include/grub/i386/pc/biosdisk.h: Likewise.
25073 * include/grub/i386/pc/boot.h: Likewise.
25074 * include/grub/i386/pc/chainloader.h: Likewise.
25075 * include/grub/i386/pc/console.h: Likewise.
25076 * include/grub/i386/pc/init.h: Likewise.
25077 * include/grub/i386/pc/kernel.h: Likewise.
25078 * include/grub/i386/pc/loader.h: Likewise.
25079 * include/grub/i386/pc/memory.h: Likewise.
25080 * include/grub/i386/pc/multiboot.h: Likewise.
25081 * include/grub/i386/pc/serial.h: Likewise.
25082 * include/grub/i386/pc/time.h: Likewise.
25083 * include/grub/i386/pc/vbe.h: Likewise.
25084 * include/grub/i386/pc/vbeblit.h: Likewise.
25085 * include/grub/i386/pc/vbefill.h: Likewise.
25086 * include/grub/i386/pc/vbeutil.h: Likewise.
25087 * include/grub/i386/pc/vga.h: Likewise.
25088 * include/grub/ieee1275/ieee1275.h: Likewise.
25089 * include/grub/ieee1275/ofdisk.h: Likewise.
25090 * include/grub/powerpc/libgcc.h: Likewise.
25091 * include/grub/powerpc/setjmp.h: Likewise.
25092 * include/grub/powerpc/types.h: Likewise.
25093 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
25094 * include/grub/powerpc/ieee1275/console.h: Likewise.
25095 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
25096 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25097 * include/grub/powerpc/ieee1275/loader.h: Likewise.
25098 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
25099 * include/grub/powerpc/ieee1275/time.h: Likewise.
25100 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
25101 * include/grub/sparc64/libgcc.h: Likewise.
25102 * include/grub/sparc64/setjmp.h: Likewise.
25103 * include/grub/sparc64/types.h: Likewise.
25104 * include/grub/sparc64/ieee1275/console.h: Likewise.
25105 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25106 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25107 * include/grub/sparc64/ieee1275/time.h: Likewise.
25108 * include/grub/util/biosdisk.h: Likewise.
25109 * include/grub/util/getroot.h: Likewise.
25110 * include/grub/util/lvm.h: Likewise.
25111 * include/grub/util/misc.h: Likewise.
25112 * include/grub/util/raid.h: Likewise.
25113 * include/grub/util/resolve.h: Likewise.
25114 * io/gzio.c: Likewise.
25115 * kern/device.c: Likewise.
25116 * kern/disk.c: Likewise.
25117 * kern/dl.c: Likewise.
25118 * kern/elf.c: Likewise.
25119 * kern/env.c: Likewise.
25120 * kern/err.c: Likewise.
25121 * kern/file.c: Likewise.
25122 * kern/fs.c: Likewise.
25123 * kern/loader.c: Likewise.
25124 * kern/main.c: Likewise.
25125 * kern/misc.c: Likewise.
25126 * kern/mm.c: Likewise.
25127 * kern/parser.c: Likewise.
25128 * kern/partition.c: Likewise.
25129 * kern/rescue.c: Likewise.
25130 * kern/term.c: Likewise.
25131 * kern/efi/efi.c: Likewise.
25132 * kern/efi/init.c: Likewise.
25133 * kern/efi/mm.c: Likewise.
25134 * kern/i386/dl.c: Likewise.
25135 * kern/i386/efi/init.c: Likewise.
25136 * kern/i386/efi/startup.S: Likewise.
25137 * kern/i386/pc/init.c: Likewise.
25138 * kern/i386/pc/lzo1x.S: Likewise.
25139 * kern/i386/pc/startup.S: Likewise.
25140 * kern/ieee1275/ieee1275.c: Likewise.
25141 * kern/powerpc/cache.S: Likewise.
25142 * kern/powerpc/dl.c: Likewise.
25143 * kern/powerpc/ieee1275/cmain.c: Likewise.
25144 * kern/powerpc/ieee1275/crt0.S: Likewise.
25145 * kern/powerpc/ieee1275/init.c: Likewise.
25146 * kern/powerpc/ieee1275/openfw.c: Likewise.
25147 * kern/sparc64/cache.S: Likewise.
25148 * kern/sparc64/dl.c: Likewise.
25149 * kern/sparc64/ieee1275/init.c: Likewise.
25150 * kern/sparc64/ieee1275/openfw.c: Likewise.
25151 * loader/efi/chainloader.c: Likewise.
25152 * loader/efi/chainloader_normal.c: Likewise.
25153 * loader/i386/efi/linux.c: Likewise.
25154 * loader/i386/efi/linux_normal.c: Likewise.
25155 * loader/i386/pc/chainloader.c: Likewise.
25156 * loader/i386/pc/chainloader_normal.c: Likewise.
25157 * loader/i386/pc/linux.c: Likewise.
25158 * loader/i386/pc/linux_normal.c: Likewise.
25159 * loader/i386/pc/multiboot.c: Likewise.
25160 * loader/i386/pc/multiboot_normal.c: Likewise.
25161 * loader/powerpc/ieee1275/linux.c: Likewise.
25162 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25163 * normal/arg.c: Likewise.
25164 * normal/cmdline.c: Likewise.
25165 * normal/command.c: Likewise.
25166 * normal/completion.c: Likewise.
25167 * normal/execute.c: Likewise.
25168 * normal/function.c: Likewise.
25169 * normal/lexer.c: Likewise.
25170 * normal/main.c: Likewise.
25171 * normal/menu.c: Likewise.
25172 * normal/menu_entry.c: Likewise.
25173 * normal/misc.c: Likewise.
25174 * normal/parser.y: Likewise.
25175 * normal/script.c: Likewise.
25176 * normal/i386/setjmp.S: Likewise.
25177 * normal/powerpc/setjmp.S: Likewise.
25178 * normal/sparc64/setjmp.S: Likewise.
25179 * partmap/acorn.c: Likewise.
25180 * partmap/amiga.c: Likewise.
25181 * partmap/apple.c: Likewise.
25182 * partmap/gpt.c: Likewise.
25183 * partmap/pc.c: Likewise.
25184 * partmap/sun.c: Likewise.
25185 * term/gfxterm.c: Likewise.
25186 * term/terminfo.c: Likewise.
25187 * term/efi/console.c: Likewise.
25188 * term/i386/pc/console.c: Likewise.
25189 * term/i386/pc/serial.c: Likewise.
25190 * term/i386/pc/vesafb.c: Likewise.
25191 * term/i386/pc/vga.c: Likewise.
25192 * term/ieee1275/ofconsole.c: Likewise.
25193 * util/biosdisk.c: Likewise.
25194 * util/console.c: Likewise.
25195 * util/genmoddep.c: Likewise.
25196 * util/getroot.c: Likewise.
25197 * util/grub-emu.c: Likewise.
25198 * util/grub-mkdevicemap.c: Likewise.
25199 * util/grub-probe.c: Likewise.
25200 * util/lvm.c: Likewise.
25201 * util/misc.c: Likewise.
25202 * util/raid.c: Likewise.
25203 * util/resolve.c: Likewise.
25204 * util/update-grub.in: Likewise.
25205 * util/update-grub_lib.in: Likewise.
25206 * util/grub.d/00_header.in: Likewise.
25207 * util/grub.d/10_hurd.in: Likewise.
25208 * util/grub.d/10_linux.in: Likewise.
25209 * util/i386/efi/grub-install.in: Likewise.
25210 * util/i386/efi/grub-mkimage.c: Likewise.
25211 * util/i386/pc/grub-install.in: Likewise.
25212 * util/i386/pc/grub-mkimage.c: Likewise.
25213 * util/i386/pc/grub-mkrescue.in: Likewise.
25214 * util/i386/pc/grub-setup.c: Likewise.
25215 * util/i386/pc/misc.c: Likewise.
25216 * util/powerpc/ieee1275/grub-install.in: Likewise.
25217 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
25218 * util/powerpc/ieee1275/misc.c: Likewise.
25219 * video/bitmap.c: Likewise.
25220 * video/video.c: Likewise.
25221 * video/i386/pc/vbe.c: Likewise.
25222 * video/i386/pc/vbeblit.c: Likewise.
25223 * video/i386/pc/vbefill.c: Likewise.
25224 * video/i386/pc/vbeutil.c: Likewise.
25225 * video/readers/tga.c: Likewise.
25226
3572d015 252272007-07-02 Robert Millan <rmh@aybabtu.com>
25228
25229 * conf/i386-efi.rmk: Replace obsolete reference to
25230 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
25231 with util/getroot.c.
25232 * conf/powerpc-ieee1275.rmk: Likewise.
25233 * conf/sparc64-ieee1275.rmk: Likewise.
25234
25235 * util/grub-emu.c (main): Fix unchecked pointer handling.
25236
2c2a681b 252372007-07-02 Robert Millan <rmh@aybabtu.com>
25238
25239 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
25240 invocation to fail, in order to support partition-less media.
25241
25242 * util/i386/pc/grub-install.in: Likewise.
25243
25244 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
25245 which fs or partmap modules are needed (akin to its sister scripts).
25246
25247 Also use grub-probe to get rid of unportable /proc/mounts check.
25248
25249 Print the same informational message that the other scripts do, before
fe6b695a 25250 exiting.
2c2a681b 25251
6193defe 252522007-06-23 Robert Millan <rmh@aybabtu.com>
25253
fe6b695a 25254 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 25255 a font file can be found and, if so, echo the GRUB path to it.
25256
25257 * util/update-grub.in: Handle multiple terminals depending on user
25258 input, platform availability and font file presence. Propagate
25259 variables of our findings to /etc/grub.d/ children.
25260
25261 * util/grub.d/00_header.in: Handle multiple terminals, based on
25262 environment setup by update-grub.
25263
eface1dc 252642007-06-23 Robert Millan <rmh@aybabtu.com>
25265
ba50d28f 25266 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 25267
bf697e28 252682007-06-21 Robert Millan <rmh@aybabtu.com>
25269
25270 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
25271 indicate end of data section in kernel image.
25272 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
25273 GRUB_KERNEL_MACHINE_DATA_END.
25274
25275 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
25276 space for it.
25277 * kern/i386/efi/startup.S: Likewise.
25278
25279 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
25280 during image generation. Implement --prefix option to override this
25281 patch.
25282 * util/i386/efi/grub-mkimage.c: Likewise.
25283
25284 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
25285 code to make path relative to its root into a separate function.
25286
25287 * util/i386/pc/grub-install.in: Use newly provided
25288 make_system_path_relative_to_its_root() to convert ${grubdir}, then
25289 pass the result to grub-install --prefix.
25290
baa574b4 252912007-06-13 Robert Millan <rmh@aybabtu.com>
25292
25293 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
25294 DEFAULT_DEVICE_MAP.
25295 * util/grub-emu.c: Use above definitions from misc.h instead of
25296 defining them.
25297 * util/grub-mkdevicemap.c: Likewise.
25298 * util/i386/pc/grub-setup.c: Likewise.
25299 * util/grub-probe.c: Likewise.
25300 (probe): Abort with grub_util_error() when either
25301 grub_guess_root_device or grub_util_get_grub_dev fails.
25302
0215dcbf 253032007-06-12 Robert Millan <rmh@aybabtu.com>
25304
25305 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
25306 "pager" assignment.
25307 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
25308 "pcdata".
25309 * util/grub-probe.c (probe): Likewise for "drive_name".
25310
8af2ab7b 253112007-06-11 Robert Millan <rmh@aybabtu.com>
25312
25313 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
25314 not just the cdrom one.
25315
59d31694 253162007-06-11 Robert Millan <rmh@aybabtu.com>
25317
25318 * util/i386/pc/grub-mkrescue.in: Add "set -e".
25319 Add --pkglibdir=DIR option to override pkglibdir.
25320 Mention --image-type=TYPE in help output.
25321 Fix --grub-mkimage (it was a no-op).
fe6b695a 25322 Abort gracefully when no parameter is given.
59d31694 25323
7ee367e4 253242007-06-11 Robert Millan <rmh@aybabtu.com>
25325
25326 * util/i386/pc/grub-mkrescue.in: New file.
25327 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
25328 * Makefile.in: Handle bin_SCRIPTS.
25329
29b0ed46 253302007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
25331
25332 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
25333 list of video modes.
25334
c0f90770 253352007-06-06 Robert Millan <rmh@aybabtu.com>
25336
25337 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
25338 file doesn't exist, or if it is in a filesystem grub can't read.
25339
25340 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
25341 not abort if GRUB_DRIVE could not be defined. Rearrange generated
25342 header comment to fit in 80 columns when the variables are resolved.
25343
25344 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
25345 could be identified by update-grub. Remove redundant check for
fe6b695a 25346 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 25347 handles that).
25348
fb36dc26 253492007-06-04 Robert Millan <rmh@aybabtu.com>
25350
25351 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
25352
25353 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
25354
25355 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
25356
0c68c93e 253572007-06-04 Robert Millan <rmh@aybabtu.com>
25358
25359 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
25360
25361 * include/grub/partition.h: Declare grub_apple_partition_map_init and
25362 grub_apple_partition_map_fini.
25363
25364 * util/biosdisk.c
25365 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
25366 to access >2 TiB disks).
25367
25368 Print disk->total_sectors with %llu instead of %lu, since this
25369 variable is always 64-bit (prevents wrong disk size from being displayed
25370 on either >2 TiB disk or big-endian CPU).
25371
25372 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
25373 into a generic case that supports all (sane) partition maps.
25374
25375 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
25376 breaks big-endian.
25377
25378 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
25379 and grub_apple_partition_map_fini() after that.
25380
0f23eb74 253812007-06-01 Robert Millan <rmh@aybabtu.com>
25382
25383 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
25384
25385 * util/grub.d/00_header.in: Only enable gfxterm when
25386 convert_system_path_to_grub_path() succeeds.
25387
42c71976 253882007-05-20 Robert Millan <rmh@aybabtu.com>
25389
25390 * util/update-grub_lib.in: New file.
25391 * DISTLIST: Add update-grub_lib.in.
25392 * conf/common.rmk: Generate update-grub_lib and install it in
25393 $(lib_DATA).
25394 * Makefile.in: Add install routine for $(lib_DATA).
25395
25396 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
25397 function provided by update-grub_lib to support arbitrary paths of
25398 unifont.pff.
25399 * util/update-grub.in: Use convert_system_path_to_grub_path() to
25400 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
25401
5beb2291 254022007-05-19 Robert Millan <rmh@aybabtu.com>
25403
25404 * commands/i386/cpuid.c: New module.
25405 * DISTLIST: Add it.
25406 * conf/i386-efi.rmk: Enable cpuid.mod.
25407 * conf/i386-pc.rmk: Likewise.
25408
7262eca1 254092007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
25410
25411 * kern/disk.c (grub_disk_read): Check return value of
25412 grub_realloc().
25413
260ba823 254142007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
25415
25416 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
25417 arrays.
25418 * disk/raid.c (grub_raid_open): Likewise.
25419
1ecb6cf2 254202007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
25421
25422 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
25423 stack instead of on the heap.
25424
25425 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
25426 before doing a read on it.
25427
25428 * configure.ac: Only use -fno-stack-protector for the target
25429 environment.
f19dbdb7 25430
21c8cbb1 254312007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
25432
25433 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
25434 __attribute_ ((unused)) to mode_type argument.
25435
25436 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 25437
21c8cbb1 25438 * kern/misc.c (memcmp): Fix prototype.
25439
25440 * include/grub/partition.h [GRUB_UTIL]
25441 (grub_gpt_partition_map_init): Add prototype.
25442 (grub_gpt_partition_map_fini): Likewise.
25443
25444 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
25445 at the right place.
25446
25447 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
25448 (grub_fat_read_data): Likewise.
25449 (grub_fat_find_dir): Likewise.
25450
25451 * font/manager.c (find_glyph): Make table a const.
25452 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 25453
849d55d3 254542007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
25455
25456 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
25457 code, first search for device in /dev/mapper, then in /dev.
25458 (grub_util_get_grub_dev): New function.
25459 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
25460 prototype.
25461 * util/grub-probe.c (probe): Remove check for RAID, call
25462 grub_util_get_grub_dev() instead of
25463 grub_util_biosdisk_get_grub_dev().
25464 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
25465 grub_util_biosdisk_get_grub_dev().
25466 * util/i386/pc/grub-setup.c (main): Likewise.
25467
8fff7c2f 254682007-05-16 Robert Millan <rmh@aybabtu.com>
25469
25470 * DISTLIST: Update for the latest changes.
25471 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
25472 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
25473 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
25474 grub/util/biosdisk.h.
25475 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
25476 grub/util/biosdisk.h.
25477
48e12b52 254782007-05-16 Robert Millan <rmh@aybabtu.com>
25479
25480 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
25481
46b9d128 254822007-05-16 Robert Millan <rmh@aybabtu.com>
25483
25484 * util/i386/efi/grub-install.in: New.
25485 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
25486 newly added grub-install.
25487 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
25488 include.
25489 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
25490 grub/util/biosdisk.h.
25491 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
25492 grub/util/biosdisk.h.
25493
2d1a40a9 254942007-05-16 Robert Millan <rmh@aybabtu.com>
25495
25496 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
25497 * include/grub/util/biosdisk.h: ... here.
25498 * util/i386/pc/biosdisk.c: Moved to ...
25499 * util/biosdisk.c: ... here.
25500 * util/i386/pc/getroot.c: Moved to ...
25501 * util/getroot.c: ... here.
25502 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
25503 * util/grub-mkdevicemap.c: ... here.
25504 * util/i386/pc/grub-probe.c: Moved to ...
25505 * util/grub-probe.c: ... here.
25506
9e26e3bc 255072007-05-15 Robert Millan <rmh@aybabtu.com>
25508
25509 * util/update-grub.in: Remove duplicated line in grub.cfg header
25510 message.
25511
57f96397 255122007-05-13 Robert Millan <rmh@aybabtu.com>
25513
25514 * util/update-grub.in: Fix a few assumptions about the devices holding
25515 /, /boot and /boot/grub being the same.
25516 * util/grub.d/00_header.in: Likewise.
25517 * util/grub.d/10_hurd.in: Likewise.
25518 * util/grub.d/10_linux.in: Likewise.
25519
25520 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
25521 patterns. Use that to define the `.old' suffix as older than `'.
25522
25523 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
25524
25525 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
25526 the grub.cfg header message.
25527
2e610d62 255282007-05-11 Robert Millan <rmh@aybabtu.com>
25529
25530 * util/update-grub.in: Create device.map if it doesn't already exist,
25531 before attempting to run grub-probe.
25532 Check for grub-probe and grub-mkdevicemap with the same code
25533 grub-install is using.
25534 Remove test mode.
25535
3f6a10ef 255362007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
25537
25538 * Makefile.in: Add the datarootdir autoconf variable.
25539
02e7b75e 255402007-05-09 Robert Millan <rmh@aybabtu.com>
25541
25542 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 25543 fail gracefully if dev->disk->partition == NULL.
02e7b75e 25544
75f396cc 255452007-05-07 Robert Millan <rmh@aybabtu.com>
25546
25547 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
25548 determine partition map module.
25549 * util/i386/pc/grub-install.in: Use this feature to decide which
25550 partition module to load, instead of hardcoding pc and gpt.
25551
da65cb36 255522007-05-07 Robert Millan <rmh@aybabtu.com>
25553
25554 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
25555 source directory differs from build directory.
25556
b57d6a91 255572007-05-05 Robert Millan <rmh@aybabtu.com>
25558
25559 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
25560 initialisation.
25561
509d00f1 255622007-05-05 Robert Millan <rmh@aybabtu.com>
25563
25564 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
25565
c48f23ef 255662007-05-05 Robert Millan <rmh@aybabtu.com>
25567
25568 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
25569 command-line arguments via ${GRUB_CMDLINE_LINUX}.
25570
20b97658 255712007-05-05 Robert Millan <rmh@aybabtu.com>
25572
25573 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
25574 (grub_probe_SOURCES): Likewise.
25575 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
25576 GPT and initialize dos_part and bsd_part accordingly.
25577 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
25578 install_bsd_part.
25579 (main): Activate gpt module for use during partition identification,
25580 and deactivate it afterwards.
25581 * util/i386/pc/grub-install.in: Add gpt module to core.img.
25582 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
25583 partition identification, and deactivate it afterwards.
25584
99123174 255852007-05-05 Robert Millan <rmh@aybabtu.com>
25586
25587 * term/i386/pc/console.c (grub_console_fini): Call
25588 grub_term_set_current() before grub_term_unregister().
25589
ebd97f6e 255902007-05-04 Robert Millan <rmh@aybabtu.com>
25591
25592 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
25593 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
25594 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
25595 and update-grub_DATA.
25596 * conf/common.rmk: Build and install update-grub components.
25597 * conf/common.mk: Regenerate.
25598 * util/update-grub.in: New. Core of update-grub.
25599 * util/grub.d/00_header.in: New. Generates grub.cfg header.
25600 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
25601 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
25602 * util/grub.d/README: New. Document grub.d directory layout.
25603
b06a264d 256042007-05-01 Robert Millan <rmh@aybabtu.com>
25605
25606 * util/grub-emu.c: Move initialization functions
25607 grub_util_biosdisk_init() and grub_init_all() before
25608 grub_util_biosdisk_get_grub_dev(), which relies on them.
25609
41f0050e 256102007-04-19 Robert Millan <rmh@aybabtu.com>
25611
25612 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
25613 it is used later.
25614
04582bb3 256152007-04-18 Jerone Young <jerone@gmail.com>
25616
f19dbdb7 25617 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 25618 stanza.
25619
08db4632 256202007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 25621
08db4632 25622 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
25623 continue on and look for device node with real device name.
25624
801b76be 256252007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 25626
fe6b695a 25627 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 25628 ability.
25629 * Makefile.in: Add autoconf package transformation code.
25630 * util/i386/pc/grub-install.in: Likewise.
25631 * util/powerpc/ieee1275/grub-install.in: Likewise.
25632
6795c4e1 256332007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
25634
25635 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
25636 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
25637 (EXT2_REVISION): Likewise.
25638 (EXT2_INODE_SIZE): Likewise.
25639 (struct grub_ext2_block_group): Added a missing member
25640 "used_dirs".
25641 (grub_ext2_read_inode): Divide by the inode size in a superblock
25642 instead of 128 to obtain INODES_PER_BLOCK.
25643 Use the macro EXT2_INODE_SIZE instead of directly using
25644 SBLOCK->INODE_SIZE.
25645
d70af616 256462007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
25647
25648 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
25649 superblock instead of the structure size to compute an
25650 offset. This fixes the problem that GRUB could not read a
25651 filesystem when inode size is different from 128-byte.
25652
3b801603 256532007-03-05 Marco Gerards <marco@gnu.org>
25654
25655 * normal/main.c (read_config_file): When "menu" is not set, create
25656 an initial context.
25657
4785bfe4 256582007-02-21 Hollis Blanchard <hollis@penguinppc.org>
25659
25660 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
25661 (HEAP_LIMIT): New macro.
25662 (grub_claim_heap): Claim memory up to `heaplimit'.
25663
a0cbb023 256642007-02-21 Hollis Blanchard <hollis@penguinppc.org>
25665
25666 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
25667 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
25668 (_start): Likewise.
25669 (grub_arch_modules_addr): Return address after `_end'.
25670 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
25671 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
25672 (add_segments): Calculate `_end' from phdr size and location.
25673 (ALIGN_UP): Moved to ...
25674 * include/grub/misc.h: here.
25675 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
25676 New macro.
25677 (GRUB_IEEE1275_MODULE_BASE): Removed.
25678
fd7d8eba 256792007-02-20 Hollis Blanchard <hollis@penguinppc.org>
25680
25681 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
25682 loop boundary.
25683
9b09e6fc 256842007-02-20 Hollis Blanchard <hollis@penguinppc.org>
25685
25686 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
25687 All users updated.
25688 (grub_elf64_load_hook_t): Likewise.
25689 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
25690 debug output.
25691
3ce27299 256922007-02-20 Hollis Blanchard <hollis@penguinppc.org>
25693
25694 * kern/mm.c: Update copyright.
25695 (grub_mm_debug): Correct syntax error.
25696 (grub_mm_dump_free): New function.
25697 (grub_debug_free): Call `grub_free'.
25698 * include/grub/mm.h: Update copyright.
25699 (grub_mm_dump_free): Add declaration.
25700
077d5fee 257012007-02-12 Hollis Blanchard <hollis@penguinppc.org>
25702
25703 * include/grub/ieee1275/ieee1275.h: Update copyright.
25704 * kern/powerpc/ieee1275/init.c: Likewise.
25705 * kern/powerpc/ieee1275/openfw.c: Likewise.
25706
25707 * loader/powerpc/ieee1275/linux.c: Likewise.
25708 * include/grub/elfload.h: Likewise.
25709 * kern/elf.c: Likewise.
25710 (grub_elf32_load): Pass `base' and `size' parameters. Update all
25711 callers.
25712 (grub_elf64_load): Likewise.
25713 (grub_elf32_load_segment): Move to a nested function.
25714 (grub_elf64_load_segment): Likewise.
25715
dc946850 257162007-02-12 Hollis Blanchard <hollis@penguinppc.org>
25717
25718 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
25719 prototype.
25720 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
25721 (grub_heap_len): Likewise.
25722 (HEAP_SIZE): New macro.
25723 (grub_claim_heap): New function.
25724 (grub_machine_init): Don't claim heap directly. Call
25725 `grub_claim_heap'.
25726 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
25727 (grub_available_iterate): New function.
25728
baa2a121 257292007-02-03 Thomas Schwinge <tschwinge@gnu.org>
25730
25731 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
25732 * configure.ac: Use it for testing the HOST and TARGET compilers.
25733
4fe9862e 257342006-12-13 Thomas Schwinge <tschwinge@gnu.org>
25735
25736 * Makefile.in (enable_grub_emu): New variable.
25737 * configure.ac (--enable-grub-emu): New option.
25738 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
25739 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
25740 * conf/i386-pc.rmk: Likewise.
25741 * conf/powerpc-ieee1275.rmk: Likewise.
25742 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
25743
a8aa5762 257442006-12-12 Marco Gerards <marco@gnu.org>
25745
25746 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
25747
25748 * kern/env.c (grub_env_unset): Don't free the member `value' when
25749 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
25750 pointer.
25751
25752 * normal/main.c (current_menu): Removed.
25753 (free_menu): Unset the `menu' environment variable.
25754 (grub_normal_menu_addentry): Make use of the environment variable
25755 `menu', instead of using the global `current_menu'. Allocate
25756 memory for the sourcecode of this entry.
25757 (read_config_file): New argument `nested', changed all callers.
25758 Only in the case of a new context, initialize a new menu. Set the
25759 `menu' environment variable.
25760 (grub_normal_execute): Don't set and unset the environment
25761 variable `menu' here anymore. Only free the menu when leaving the
25762 context.
25763
25764 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
25765 leak.
25766
957b3a3e 257672006-12-11 Marco Gerards <marco@gnu.org>
25768
25769 * normal/menu_entry.c (run): Fix off by one bug so the last line
25770 is executed. Move the loader check to outside the loop.
25771
ef875714 257722006-12-08 Hollis Blanchard <hollis@penguinppc.org>
25773
25774 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
25775
4e739985 257762006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
25777
25778 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
25779 the number of sectors. Reported by Andrey Shuvikov
25780 <mr_hyro@yahoo.com>.
f19dbdb7 25781
790707f2 257822006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
25783
25784 * kern/disk.c (grub_disk_read): When there is a read error, always
25785 try to read only the necessary data.
f19dbdb7 25786
790707f2 25787 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
25788 disk/raid.c.
25789 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
25790 prototype.
25791 [GRUB_UTIL] (grub_raid_fini): Likewise.
25792 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 25793 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 25794 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
25795 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
25796 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
25797 and grub_raid_fini().
f19dbdb7 25798
03e58196 257992006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
25800
25801 * include/grub/types.h (__unused): Rename to UNUSED.
25802 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
25803 (grub_elf64_size): Likewise.
f19dbdb7 25804
ae4f23bf 258052006-11-03 Hollis Blanchard <hollis@penguinppc.org>
25806
25807 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
25808 grub_error_push and grub_error_pop in the error-handling path.
25809 (grub_elf32_load_segment): Only call grub_file_read with non-zero
25810 length.
25811
2166cc83 258122006-11-03 Hollis Blanchard <hollis@penguinppc.org>
25813
25814 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
25815 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25816 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25817 (kernel_elf_SOURCES): Likewise.
25818 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
25819 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
25820 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
25821 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
25822 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
25823 (elf_mod_SOURCES): New variable.
25824 (elf_mod_CFLAGS): Likewise.
25825 (elf_mod_LDFLAGS): Likewise.
25826 * include/grub/types.h (__unused): New macro.
25827 * include/grub/elfload.h: New file.
25828 * kern/elf.c: Likewise.
25829 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
25830 (ELF32_LOADMASK): New macro.
25831 (ELF64_LOADMASK): Likewise.
25832 (vmlinux): Removed.
25833 (grub_linux_load32): New function.
25834 (grub_linux_load64): Likewise.
25835 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
25836 Use grub_elf_t instead of grub_file_t.
25837
a09d5aa5 258382006-11-02 Hollis Blanchard <hollis@penguinppc.org>
25839
25840 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
25841 `catch_result' to struct set_color_args.
25842
d976fc51 258432006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
25844
25845 * normal/menu.c: Include grub/script.h.
25846 * normal/menu_entry.c: Likewise.
25847 * include/grub/normal.h: Do not include grub/script.h.
25848
67507549 258492006-10-27 Hollis Blanchard <hollis@penguinppc.org>
25850
25851 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
25852
69203a99 258532006-10-27 Hollis Blanchard <hollis@penguinppc.org>
25854
25855 * kern/disk.c (grub_disk_open): Print debug messages when opening a
25856 disk.
25857 (grub_disk_close): Print debug messages when closing a disk.
25858 (grub_disk_read): Print debug messages when disk read fails.
25859 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
25860 filesystem type.
25861 * kern/partition.c: Include misc.h.
25862 (grub_partition_iterate): Print debug messages when detecting
25863 partition type.
25864
e2b8278c 258652006-10-27 Hollis Blanchard <hollis@penguinppc.org>
25866
25867 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
25868 is negative.
25869 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
25870
97b2f2ff 258712006-10-26 Hollis Blanchard <hollis@penguinppc.org>
25872
25873 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
25874 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
25875
6555d655 258762006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
25877
25878 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
25879 instead of sizeof(lv). Patch by Michael Guntsche.
25880
4d42b77f 258812006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
25882
25883 * disk/lvm.c: Rename VGS to VG_LIST.
25884 (grub_lvm_iterate): Change VGS->LV to VG-LV.
25885 (grub_lvm_open): Likewise.
25886 Thanks to Michael Guntsche for finding this bug.
25887
5d74d927 258882006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25889
25890 * configure.ac (AC_INIT): Bumped to 1.95.
25891
a1bb27e4 258922006-10-14 Robert Millan <rmh@aybabtu.com>
25893
25894 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
25895 with "/dev/.static/dev/md".
25896
e0994b8b 258972006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
25898
25899 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
25900 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
25901 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
25902 DRIVE_NAME are always freed.
25903
25904 * util/i386/pc/biosdisk.c (make_device_name): Add one into
25905 DOS_PART, as a DOS partition is counted from one instead of zero
25906 now. Reported by Robert Millan.
25907
ddd5cee9 259082006-10-14 Robert Millan <rmh@aybabtu.com>
25909
25910 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
25911 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
25912 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
25913 string returned by grub_guess_root_device.
25914 * util/i386/pc/grub-setup.c: Likewise.
25915 * util/i386/pc/grub-probefs.c: Likewise.
25916
25917 * util/i386/pc/grub-probefs.c: Rename to ...
25918 * util/i386/pc/grub-probe.c: ... this.
25919 * DISTLIST: Remove grub-probefs, add grub-probe.
25920 * conf/i386-efi.rmk: Likewise.
25921 * conf/i386-pc.rmk: Likewise.
25922 * util/i386/pc/grub-install.in: Likewise.
25923
25924 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
25925 choose which information we want to print.
25926
2b002173 259272006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
25928
25929 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
25930 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
25931 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
25932 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
25933 video/readers/tga.c and video/i386/pc/vbeutil.c.
25934
259352006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
25936
25937 Added support for RAID and LVM.
f19dbdb7 25938
2b002173 25939 * disk/lvm.c: New file.
25940 * disk/raid.c: Likewise.
25941 * include/grub/lvm.h: Likewise.
f19dbdb7 25942 * include/grub/raid.h: Likewise.
2b002173 25943 * include/grub/util/lvm.h: Likewise.
25944 * include/grub/util/raid.h: Likewise.
25945 * util/lvm.c: Likewise.
25946 * util/raid.c: Likewise.
25947
25948 * include/grub/disk.h (grub_disk_dev_id): Add
25949 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
25950 (grub_disk_get_size): New prototype.
25951 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
25952 returns a partition.
25953 (grub_disk_get_size): New function.
f19dbdb7 25954
2b002173 25955 * kern/i386/pc/init.c (make_install_device): Copy the prefix
25956 verbatim if grub_install_dos_part is -2.
25957
25958 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
25959 and LVM devices.
25960
25961 * util/i386/pc/grub-setup.c (setup): New argument
25962 MUST_EMBED. Force embedding of GRUB when the argument is
25963 true. Close FILE before returning.
25964 (main): Add support for RAID and LVM.
f19dbdb7 25965
2b002173 25966 * conf/common.rmk: Add RAID and LVM modules.
25967 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
25968 util/lvm.c.
25969 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
25970
25971 * kern/misc.c (grub_strstr): New function.
25972 * include/grub/misc.h (grub_strstr): New prototype.
25973
050548d0 259742006-10-10 Tristan Gingold <tristan.gingold@bull.net>
25975
25976 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
25977
da849d2d 259782006-10-05 Tristan Gingold <tristan.gingold@bull.net>
25979
25980 * kern/misc.c (grub_strtoull): Guess the base only if not
25981 specified.
25982
97b2f2ff 259832006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 25984
25985 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
25986 PowerMac support.
25987
97b2f2ff 259882006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 25989
25990 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
25991
25992 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
25993 Remove `flags' argument. All callers changed.
25994 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
25995 (IEEE1275_IHANDLE_INVALID): New variable.
25996 (IEEE1275_CELL_INVALID): New variable.
25997 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
25998 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
25999 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
26000 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
26001 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
26002 codes from Open Firmware. All callers updated.
26003 (grub_ieee1275_next_property): Directly return Open Firmware return
26004 code.
26005 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
26006 Standardize error checking from `grub_ieee1275_get_property'.
26007 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
26008 `devalias' to `aliases'. Correct comments. Consolidate error paths.
26009
97b2f2ff 260102006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 26011
26012 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
26013 `instance_to_package_args' to `instance_to_path_args'.
26014
26015 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
26016 `grub_ieee1275_chosen'.
26017
26018 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
26019 `grub_ieee1275_interpret'.
26020
97b2f2ff 260212006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 26022
26023 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
26024
97b2f2ff 260252006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 26026
26027 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
26028 (__cmpdi): Likewise.
26029
26030 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
26031 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
26032 `grub_ssize_t'.
26033
02bb8acc 26034 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 26035
26036 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
26037 to type `grub_ssize_t'.
26038 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
26039
7f9a8531 260402006-09-22 Marco Gerards <marco@gnu.org>
26041
26042 * normal/script.c (grub_script_create_cmdmenu): Skip leading
26043 newlines.
26044
b5ef1102 260452006-09-22 Marco Gerards <marco@gnu.org>
26046
26047 * commands/echo.c: New file.
26048
26049 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
26050
26051 * conf/common.rmk (echo_mod_SOURCES): New variable.
26052 (echo_mod_CFLAGS): Likewise.
26053 (echo_mod_LDFLAGS): Likewise.
26054
2cff3677 260552006-09-22 Marco Gerards <marco@gnu.org>
26056
26057 * normal/main.c (get_line): Malloc memory instead of using
26058 preallocated memory. Removed the arguments `cmdline' and
26059 `max_len'. Updated all callers.
26060
6ba4688b 260612006-09-22 Marco Gerards <marco@gnu.org>
26062
26063 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
26064 (normal_mod_DEPENDENCIES): Likewise.
26065
26066 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
26067 (normal_mod_DEPENDENCIES): Likewise.
26068
26069 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
26070
e02ac02c 260712006-09-22 Johan Rydberg <jrydberg@gnu.org>
26072
26073 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
26074 programs.
26075 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
26076 (normal_mod_DEPENDENCIES): Likewise.
26077 * conf/i386-pc.mk: Regenerate.
26078 * conf/i386-efi.mk: Likewise
26079 * conf/common.mk: Likewise.
26080 * conf/powerpc-ieee1275.mk: Likewise.
26081 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 26082
8d252e44 260832006-09-22 Robert Millan <rmh@aybabtu.com>
26084
26085 Sync with i386 version.
26086 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
26087 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
26088
209bf7ac 260892006-09-21 Robert Millan <rmh@aybabtu.com>
26090
26091 Import from GRUB Legacy (lib/device.c):
26092 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
26093 (init_device_map) [__linux__]: Add support for I2O devices.
26094
6b146090 260952006-09-14 Marco Gerards <marco@gnu.org>
26096
26097 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
26098 `-melf_i386'.
26099
e38600a8 261002006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 26101
26102 * util/i386/pc/grub-install.in: Skip menu.lst when removing
26103 /boot/grub/*.lst.
78fa1790 26104
2952da5d 26105 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 26106
2952da5d 26107 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
26108 before adding it to device.map.
26109
01b82a64 261102006-08-15 Johan Rydberg <jrydberg@gnu.org>
26111
fe6b695a 26112 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 26113 compiles a file; using the -MD option.
26114 * conf/common.mk: Regenerate.
26115 * conf/i386-pc.mk: Likewise.
26116 * conf/i386-efi.mk: Likewise.
26117 * conf/powerpc-ieee1275.mk: Likewise.
26118 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 26119
1064790d 261202006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
26121
26122 Move the prototypes of grub_setjmp and grub_longjmp to
26123 cpu/setjmp.h, so that each architecture may specify different
26124 attributes.
f19dbdb7 26125
1064790d 26126 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
26127 (grub_longjmp): Likewise.
26128 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
26129 (grub_longjmp): Likewise.
26130 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
26131 (grub_longjmp): Likewise.
26132
26133 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
26134 [!GRUB_UTIL] (grub_longjmp): Removed.
26135
29dda3ed 261362006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
26137
26138 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
26139 "color!" method does not return any value.
26140
ad2a06ed 261412006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26142
26143 * include/grub/bitmap.h: New file.
26144
26145 * include/grub/i386/pc/vbeutil.h: Likewise.
26146
26147 * video/bitmap.c: Likewise.
26148
26149 * video/readers/tga.c: Likewise.
26150
26151 * video/i386/pc/vbeutil.c: Likewise.
26152
26153 * commands/videotest.c: Code cleanup and updated to reflect to new
26154 video API.
26155
26156 * term/gfxterm.c: Likewise.
26157
26158 * video/video.c: Likewise.
26159
26160 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
26161 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
26162 (bitmap_mod_SOURCES): New entry.
26163 (bitmap_mod_CFLAGS): Likewise.
26164 (bitmap_mod_LDFLAGS): Likewise.
26165 (tga_mod_SOURCES): Likewise.
26166 (tga_mod_CFLAGS): Likewise.
26167 (tga_mod_LDFLAGS): Likewise.
26168
26169 * include/grub/video.h (grub_video_blit_operators): New enum type.
26170 (grub_video_render_target): Changed as forward declaration and moved
26171 actual definition to be video driver specific.
26172 (grub_video_adapter.blit_bitmap): Added blitting operator.
26173 (grub_video_adapter.blit_render_target): Likewise.
26174 (grub_video_blit_bitmap): Likewise.
26175 (grub_video_blit_render_target): Likewise.
26176
26177 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
26178 driver specific render target definition.
26179 (grub_video_vbe_map_rgba): Added driver internal helper.
26180 (grub_video_vbe_unmap_color): Updated to use
26181 grub_video_i386_vbeblit_info.
26182 (grub_video_vbe_get_video_ptr): Likewise.
26183
26184 * include/grub/i386/pc/vbeblit.h
26185 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
26186 grub_video_i386_vbeblit_info.
26187 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26188 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26189 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26190 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26191 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26192 (grub_video_i386_vbeblit_index_index): Likewise.
26193 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
26194 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26195 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26196 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
26197 operator.
26198 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
26199 operator.
26200
26201 * video/i386/pc/vbeblit.c: Updated to reflect changes on
26202 include/grub/i386/pc/vbeblit.h.
26203
26204 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
26205 Updated to use grub_video_i386_vbeblit_info.
26206 (grub_video_i386_vbefill_R8G8B8): Likewise.
26207 (grub_video_i386_vbefill_index): Likewise.
26208 (grub_video_i386_vbefill): Added generic filler.
26209
26210 * video/i386/pc/vbefill.c: Updated to reflect changes on
26211 include/grub/i386/pc/vbefill.h.
26212
26213 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
26214 grub_video_i386_vbeblit_info.
26215 (grub_video_vbe_unmap_color): Likewise.
26216 (grub_video_vbe_blit_glyph): Likewise.
26217 (grub_video_vbe_scroll): Likewise.
26218 (grub_video_vbe_draw_pixel): Removed function.
26219 (grub_video_vbe_get_pixel): Likewise.
26220 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
26221 updated code to use it.
26222 (common_blitter): Added common blitter for render target and bitmap.
26223 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
26224 (grub_video_vbe_blit_render_target): Likewise.
26225
bc8c036d 262262006-07-30 Johan Rydberg <jrydberg@gnu.org>
26227
26228 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
26229 is in text mode if there is no console control protocol instance
26230 available.
26231
684a8eff 262322006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26233
26234 * include/grub/video.h: Code cleanup.
26235
26236 * include/grub/i386/pc/vbe.h: Likewise.
26237
26238 * video/i386/pc/vbe.c: Likewise.
26239
26240 * video/i386/pc/vbeblit.c: Likewise.
26241
26242 * video/i386/pc/vbefill.c: Likewise.
26243
26244 * video/video.c: Likewise. Also added more comments.
26245
5915059b 262462006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26247
26248 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
26249 (struct grub_biosdisk_dap): Likewise.
26250
26251 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
26252 linkage settings for all functions.
26253
90ce5d56 262542006-07-12 Marco Gerards <marco@gnu.org>
26255
26256 * configure.ac (--enable-mm-debug): Fix typo.
26257
26258 * genkernsyms.sh.in: Use proper quoting for `CC'.
26259
43e7f879 262602006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
26261
26262 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
26263 (normal_mod_ASFLAGS): Remove "-m32".
26264
4889bdec 262652006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
26266
26267 * util/misc.c: Include config.h.
26268 [!HAVE_MEMALIGN]: Do not include malloc.h.
26269 (grub_memalign): Use posix_memalign, if present. Then, use
26270 memalign, if present. Otherwise, emit an error.
26271
26272 * util/grub-emu.c: Do not include malloc.h.
26273
26274 * include/grub/util/misc.h: Include unistd.h. This is required for
26275 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
26276 D. Eades III <hde@foobar-qux.org>.
26277
26278 * configure.ac (AC_GNU_SOURCE): Added.
26279 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
26280 type.
26281
fd39d4da 262822006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
26283
26284 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
26285 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
26286
b786f3b5 262872006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
26288
26289 * include/grub/types.h (grub_host_addr_t): Rename to
26290 grub_target_addr_t.
26291 (grub_host_off_t): Rename to grub_target_off_t.
26292 (grub_host_size_t): Rename to grub_target_size_t.
26293 (grub_host_ssize_t): Rename to grub_target_ssize_t.
26294 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
26295
26296 * include/grub/kernel.h (struct grub_module_header): Change type
26297 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
26298 (grub_module_info): Likewise.
f19dbdb7 26299
051988bb 263002006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
26301
26302 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
26303 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
26304 Velazquez <jesus.velazquez@gmail.com>.
26305
deae281b 263062006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
26307
26308 Count partitions from 1 instead of 0 in the string representation
26309 of partitions. Still use 0-based internally.
f19dbdb7 26310
deae281b 26311 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
26312 (sun_partition_map_iterate): Use grub_partition_t instead of
26313 struct grub_partition *. Cast DESC->START_CYLINDER to
26314 grub_uint64_t after converting the endian.
26315 (sun_partition_map_probe): Subtract 1 for PARTNUM.
26316 (sun_partition_map_get_name): Add 1 to P->INDEX.
26317
26318 * partmap/pc.c (grub_partition_parse): Subtract 1 for
26319 PCDATA->DOS_PART.
26320 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
26321
26322 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
26323 zero instead of one.
26324 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
26325 (gpt_partition_map_get_name): Add 1 into P->INDEX.
26326
26327 * partmap/apple.c (apple_partition_map_iterate): Change the type
26328 of POS to unsigned.
26329 (apple_partition_map_probe): Subtract 1 for PARTNUM.
26330 (apple_partition_map_get_name): Add 1 into P->INDEX.
26331
26332 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
26333 of POS to unsigned.
26334 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
26335 calculate the offset of a partition.
26336 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
26337 (amiga_partition_map_get_name): Add 1 into P->INDEX.
26338
26339 * partmap/acorn.c (acorn_partition_map_find): Change the type of
26340 SECTOR to grub_disk_addr_t.
26341 (acorn_partition_map_iterate): Likewise.
26342 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
26343 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
26344 top.
26345 (acorn_partition_map_get_name): Add 1 into P->INDEX.
26346
26347 * kern/i386/pc/init.c (make_install_device): Add 1 into
26348 GRUB_INSTALL_DOS_PART.
26349
26350 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
26351 conditional.
26352
524a1e6a 263532006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
26354
26355 Clean up the code to support 64-bit addressing in disks and
26356 files. This change is not enough for filesystems yet.
f19dbdb7 26357
524a1e6a 26358 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
26359 type of "start" to grub_uint64_t.
26360 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
26361 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
26362 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
26363 convert addresses.
26364
26365 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
26366 to grub_disk_addr_t.
26367
26368 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
26369 string.
26370
26371 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26372
26373 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
26374 to char *.
26375
26376 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
26377
26378 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
26379
26380 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
26381
26382 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
26383 to grub_off_t, to detect an error from grub_file_seek.
26384 (grub_multiboot_load_elf32): Likewise.
26385
26386 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
26387 maximum unsigned long value when an overflow is detected.
26388 (grub_strtoull): New function.
26389 (grub_divmod64): Likewise.
26390 (grub_lltoa): use grub_divmod64.
26391
26392 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
26393 grub_disk_addr_t.
26394 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
26395 the pointer to next character. Use grub_strtoull instead of
26396 grub_strtoul.
26397 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
26398 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
26399 respectively.
26400
fe6b695a 26401 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 26402 return value is signed.
26403 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
26404 test if OFFSET is less than zero, as OFFSET is unsigned now.
26405
26406 * kern/disk.c (struct grub_disk_cache): Change the type of
26407 "sector" to grub_disk_addr_t.
26408 (grub_disk_cache_get_index): Change the type of SECTOR to
26409 grub_disk_addr_t. Calculate the hash with SECTOR casted to
26410 unsigned after shifting.
26411 (grub_disk_cache_invalidate): Change the type of SECTOR to
26412 grub_disk_addr_t.
26413 (grub_disk_cache_unlock): Likewise.
26414 (grub_disk_cache_store): Likewise.
26415 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
26416 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
26417 grub_disk_addr_t and grub_uint64_t, respectively.
26418 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
26419 body, as the value of OFFSET is tweaked by
26420 grub_disk_check_range. Change the types of START_SECTOR, LEN and
26421 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
26422 respectively.
26423 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
26424 body, as the value of OFFSET is tweaked by
26425 grub_disk_check_range. Change the types of LEN and N to
26426 grub_size_t.
26427
26428 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
26429 and "saved_offset" to grub_off_t.
26430 (test_header): Cast BUF to char *.
26431 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
26432 to char *.
26433 (grub_gzio_read): Change the types of OFFSET and SIZE to
26434 grub_off_t and grub_size_t, respectively.
26435
26436 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
26437 Removed.
26438 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
26439 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
26440 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
26441 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
26442 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
26443
26444 * include/grub/types.h (grub_off_t): Unconditionally set to
26445 grub_uint64_t.
26446 (grub_disk_addr_t): Changed to grub_uint64_t.
26447
26448 * include/grub/partition.h (struct grub_partition): Change the
26449 types of "start", "len" and "offset" to grub_disk_addr_t,
26450 grub_uint64_t and grub_disk_addr_t, respectively.
26451 (grub_partition_get_start): Return grub_disk_addr_t.
26452 (grub_partition_get_len): Return grub_uint64_t.
26453
26454 * include/grub/misc.h (grub_strtoull): New prototype.
26455 (grub_divmod64): Likewise.
26456
26457 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
26458 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
26459 grub_off_t, respectively.
26460 All callers and references changed.
26461
26462 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
26463 grub_size_t in "read".
26464 All callers and references changed.
26465
26466 * include/grub/file.h (struct grub_file): Change the types of
26467 "offset" and "size" to grub_off_t and grub_off_t,
26468 respectively. Change the type of SECTOR to grub_disk_addr_t in
26469 "read_hook".
26470 (grub_file_read): Change the type of LEN to grub_size_t.
26471 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
26472 grub_off_t.
26473 (grub_file_size): Return grub_off_t.
26474 (grub_file_tell): Likewise.
26475 All callers and references changed.
26476
26477 * include/grub/disk.h (struct grub_disk_dev): Change the types of
26478 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
26479 "write".
26480 (struct grub_disk): Change the type of "total_sectors" to
26481 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 26482 "read_hook".
524a1e6a 26483 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
26484 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
26485 (grub_disk_write): Likewise.
26486 All callers and references changed.
26487
26488 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
26489 char * for grub_strncmp to silence gcc.
26490 (grub_iso9660_mount): Likewise.
26491 (grub_iso9660_mount): Likewise.
26492 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
26493 return statement.
26494 (grub_iso9660_iterate_dir): Likewise.
26495 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
26496
26497 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
26498 LEN to grub_disk_addr_t and grub_size_t, respectively.
26499
26500 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
26501
26502 * fs/jfs.c (grub_jfs_read_file): Likewise.
26503
26504 * fs/minix.c (grub_jfs_read_file): Likewise.
26505
26506 * fs/sfs.c (grub_jfs_read_file): Likewise.
26507
26508 * fs/ufs.c (grub_jfs_read_file): Likewise.
26509
26510 * fs/xfs.c (grub_jfs_read_file): Likewise.
26511
26512 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
26513 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
26514 respectively.
26515
26516 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
26517 BLKNR to -1 instead of returning GRUB_ERRNO.
26518 (grub_ext2_read_file): Change the types of SECTOR and
26519 LEN to grub_disk_addr_t and grub_size_t, respectively.
26520
26521 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
26522 LEN to grub_disk_addr_t and grub_size_t, respectively.
26523
26524 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
26525 grub_file_read.
26526
26527 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
26528 string. Do not cast SECTOR explicitly.
26529
26530 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
26531 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
26532 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
26533 grub_disk_addr_t and grub_size_t, respectively. If the sector is
26534 over 2TB and LBA mode is not supported, raise an error.
26535 (get_safe_sectors): New function.
26536 (grub_biosdisk_read): Use get_safe_sectors.
26537 (grub_biosdisk_write): Likewise.
26538
26539 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
26540 (grub_efidisk_write): Likewise.
26541
26542 * disk/loopback.c (delete_loopback): Cosmetic changes.
26543 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
26544 correctly.
26545 (grub_loopback_open): Likewise.
26546 (grub_loopback_read): Likewise. Also, change the type of POS to
26547 grub_off_t, and fix the usage of grub_memset.
26548
26549 * commands/i386/pc/play.c: Include grub/machine/time.h.
26550
26551 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
26552 print FILE->SIZE.
26553
26554 * commands/configfile.c: Include grub/env.h.
26555
26556 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
26557 GRUB_ERRNO directly instead. Change the type of POS to
26558 grub_off_t. Follow the coding standard.
26559
26560 * commands/blocklist.c: Include grub/partition.h.
26561 (grub_cmd_blocklist): Return an error if the underlying device is
26562 not a disk. Take the starting sector of a partition into account,
26563 if a partition is used.
26564
26565 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
26566 a length field.
26567 (lba_mode): Support 64-bit addresses.
26568 (chs_mode): Likewise.
26569 (copy_buffer): Adapted to the new offsets of a length field and a
26570 segment field.
26571 (blocklist_default_start): Allocate 64-bit space.
26572
26573 * boot/i386/pc/boot.S (force_lba): Removed.
26574 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 26575 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 26576 space.
26577 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
26578 is useless.
26579 (lba_mode): Refactored to support a 64-bit address. More size
26580 optimization.
26581 (setup_sectors): Likewise.
26582
53af98ad 265832006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
26584
26585 * DISTLIST: Added include/grub/i386/linux.h. Removed
26586 include/grub/i386/pc/linux.h
26587
26588 * configure.ac (AC_INIT): Bumped to 1.94.
26589
26590 * config.guess: Updated from gnulib.
26591 * config.sub: Likewise.
26592 * install-sh: Likewise.
26593 * mkinstalldirs: Likewise.
26594
b4c1940a 265952006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
26596
26597 * conf/common.rmk (grub_modules_init.lst): Depended on
26598 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
26599 MODSRCFILES.
26600
26601 * genmk.rb (PModule::rule): Reverted the previous change.
26602
cfca1cfd 266032006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
26604
26605 * conf/common.rmk (grub_modules_init.lst): Depends on
26606 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
26607 that the target does not exist before producing.
26608 (grub_modules_init.h): Remove the target before generating.
26609 (grub_emu_init.c): Likewise.
26610
26611 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
26612
aa6d7826 266132006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
26614
26615 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
26616 for the target-specific tests. Make sure that we also have the
26617 up-to-date target variables for those tests.
26618
26c607b9 266192006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
26620
26621 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
26622 (PModule::rule): Likewise.
26623
0162321a 266242006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
26625
26626 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
26627 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
26628 target-specific flags should be prefixed.
26629 (PModule::rule): Likewise.
26630
6c826348 266312006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
26632
26633 * configure.ac (CMP): Check if cmp is available explicitly.
26634
b977bf01 266352006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
26636
26637 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
26638 (target_cpu): New variable.
26639 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 26640
b977bf01 26641 * util/i386/pc/grub-install.in (host_cpu): Removed.
26642 (target_cpu): New variable.
26643 (pkglibdir): Use target_cpu instead of host_cpu.
26644
26645 * util/genmoddep.c: Removed.
f19dbdb7 26646
b977bf01 26647 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
26648 instead of GRUB_HOST_SIZEOF_VOID_P.
26649 * kern/dl.c: Likewise.
26650
26651 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
26652 ...
26653 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
26654 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
26655 (GRUB_TARGET_SIZEOF_LONG): ... this.
26656 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
26657 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
26658 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
26659 to ...
26660 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
26661 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
26662 (GRUB_TARGET_SIZEOF_LONG): ... this.
26663 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
26664 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
26665 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
26666 to ...
26667 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
26668 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
26669 (GRUB_TARGET_SIZEOF_LONG): ... this.
26670 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
26671 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
26672
26673 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
26674 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
26675 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
26676 instead of GRUB_HOST_SIZEOF_LONG.
26677 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
26678 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
26679 GRUB_CPU_WORDS_BIGENDIAN.
26680 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
26681 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
26682 grub_host_ssize_t.
26683
26684 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
26685 (genmoddep_SOURCES): Likewise.
26686 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
26687 (genmoddep_SOURCES): Likewise.
26688 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
26689 (genmoddep_SOURCES): Likewise.
26690 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
26691 Likewise.
26692 (genmoddep_SOURCES): Likewise.
26693
26694 * genmoddep.awk: New file.
26695
26696 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
26697 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
26698 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
26699 (PModule::rule): Likewise.
26700 (Program::rule): Likewise.
26701 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
26702 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
26703 respectively.
26704
26705 * configure.ac: Rewritten intensively to use host and target
26706 instead of build and host, respectively.
26707
26708 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
26709 (host_cpu): Removed.
26710 (target_cpu): New variable.
26711 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
26712 (BUILD_CC): Removed.
26713 (BUILD_CFLAGS): Likewise.
26714 (BUILD_CPPFLAGS): Likewise.
26715 (TARGET_CC): New variable.
26716 (TARGET_CFLAGS): Likewise.
26717 (TARGET_CPPFLAGS): Likewise.
26718 (TARGET_LDFLAGS): Likewise.
26719 (AWK): Likewise.
26720 (include): Use target_cpu instead of host_cpu.
26721 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 26722
b977bf01 26723 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
26724
f09771a1 267252006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
26726
26727 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
26728 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
26729 field 'false' to 'exec_on_false'.
26730 (grub_script_create_cmdif): Renamed argument names to reflect above
26731 changes.
26732
26733 * normal/execute.c (grub_script_execute_cmdif): Likewise.
26734
26735 * normal/script.c (grub_script_create_cmdif): Likewise.
26736
118f4fb3 267372006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
26738
26739 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
26740 top.
26741 (grub_hfsplus_btree_recptr): Likewise.
26742 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
26743 FILEBLOCK both to pass a block number and store next block
26744 number.
26745 (grub_hfsplus_read_block): Rewritten heavily to support an extent
26746 overflow file correctly. Specify errors appropriately, because
26747 fshelp expects that GRUB_ERRNO is set when fails. Reuse
26748 grub_hfsplus_btree_recptr to get the pointer to a found key.
26749 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
26750 is found.
26751
26752 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
26753 linux.mod.
26754 (_linux_mod_SOURCES): New variable.
26755 (_linux_mod_CFLAGS): Likewise.
26756 (_linux_mod_LDFLAGS): Likewise.
26757 (linux_mod_SOURCES): Likewise.
26758 (linux_mod_CFLAGS): Likewise.
26759 (linux_mod_LDFLAGS): Likewise.
26760
26761 * DISTLIST: Added loader/i386/efi/linux.c,
26762 loader/i386/efi/linux_normal.c and
26763 include/grub/i386/efi/loader.h.
26764
26765 * loader/i386/efi/linux.c: New file.
26766 * loader/i386/efi/linux_normal.c: Likewise.
26767 * include/grub/i386/efi/loader.h: Likewise.
26768
89a7d726 267692006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
26770
26771 * commands/blocklist.c: New file.
26772
26773 * DISTLIST: Added commands/blocklist.c.
26774
26775 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 26776 color for the background, and a darker color for the foreground.
89a7d726 26777 (grub_console_checkkey): Return READ_KEY.
26778 (grub_console_cls): Set the background to
26779 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
26780
26781 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
26782
26783 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
26784 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
26785
26786 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
26787 prototype.
26788
26789 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
26790 BG. The spec is wrong again.
26791
26792 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
26793 prototype.
26794 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
26795
26796 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26797 commands/blocklist.c.
26798 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 26799
89a7d726 26800 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
26801 (blocklist_mod_SOURCES): New variable.
26802 (blocklist_mod_CFLAGS): Likewise.
26803 (blocklist_mod_LDFLAGS): Likewise.
26804
75c8f258 268052006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
26806
26807 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
26808 duplication.
26809 (lba_mode): Use %eax more intensively to reduce the code size.
26810
da2eb181 268112006-05-20 Marco Gerards <marco@gnu.org>
26812
26813 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
26814
26815 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
26816 for `menuentry'.
26817 (script): Accept leading newlines.
26818 (newlines): New rule to describe 0 or more newlines.
26819 (commands): Accept `command' with trailing newline. Fixed the
26820 order in which arguments were passed to `grub_script_add_cmd'.
26821 Accept commands separated by newlines.
26822 (function): Changed to accept newlines.
26823 (menuentry) Rewritten.
26824
26825 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
26826 front of the list, instead of to the end.
26827
577b4050 268282006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
26829
26830 * util/i386/pc/grub-install.in (bindir): New variable.
26831 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
26832 Shaver <lbgwjl@gmail.com>.
26833
0d6e1189 268342006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
26835
26836 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
26837 grub/machine/linux.h
26838 * loader/i386/pc/linux.c: Likewise.
26839
26840 * include/grub/i386/pc/linux.h: Moved to ...
26841 * include/grub/i386/linux.h: ... here.
26842
26843 * include/grub/i386/linux.h (struct linux_kernel_params): New
26844 struct.
f19dbdb7 26845
31b86e9f 268462006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
26847
26848 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
26849 checking.
26850 (grub_video_vbe_blit_glyph): Likewise.
26851 (grub_video_vbe_blit_bitmap): Likewise.
26852 (grub_video_vbe_blit_render_target): Likewise.
26853
83b984de 268542006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
26855
26856 * configure.ac (--with-platform): Properly quote the square
26857 brackets.
26858
5f0413bd 268592006-05-08 Marco Gerards <marco@gnu.org>
26860
26861 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
26862 this...
26863 (kernel_elf_HEADERS): ...to this. Updated all users.
26864 (grubof_symlist.c): Renamed from this...
26865 (kernel_elf_symlist.c): ...to this. Updated all users.
26866 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
26867 (grubof_SOURCES): Renamed from this...
26868 (kernel_elf_SOURCES): ...to this.
26869 (grubof_HEADERS): Renamed from this...
26870 (kernel_elf_HEADERS): ...to this.
26871 (grubof_CFLAGS): Renamed from this...
26872 (kernel_elf_CFLAGS): ...to this.
26873 (grubof_ASFLAGS): Renamed from this...
26874 (kernel_elf_ASFLAGS): ...to this.
26875 (grubof_LDFLAGS): Renamed from this...
26876 (kernel_elf_LDFLAGS): ...to this.
26877
26878 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
26879 this...
26880 (kernel_elf_HEADERS): ...to this. Updated all users.
26881 (grubof_symlist.c): Renamed from this...
26882 (kernel_elf_symlist.c): ...to this. Updated all users.
26883 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
26884 (grubof_SOURCES): Renamed from this...
26885 (kernel_elf_SOURCES): ...to this.
26886 (grubof_HEADERS): Renamed from this...
26887 (kernel_elf_HEADERS): ...to this.
26888 (grubof_CFLAGS): Renamed from this...
26889 (kernel_elf_CFLAGS): ...to this.
26890 (grubof_ASFLAGS): Renamed from this...
26891 (kernel_elf_ASFLAGS): ...to this.
26892 (grubof_LDFLAGS): Renamed from this...
26893 (kernel_elf_LDFLAGS): ...to this.
26894
26895 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
26896 `kernel.elf' instead of `grubof'.
26897
05568c2e 268982006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
26899
26900 Add --with-platform to configure. Use pkglibdir instead of
26901 pkgdatadir. This is reported by Roger Leigh.
26902
26903 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
26904 (host_vendor): Likewise.
26905 (host_os): Likewise.
26906 (pkgdatadir): Likewise.
26907 (platform): New variable.
26908 (pkglibdir): Likewise.
26909 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 26910
05568c2e 26911 * util/i386/pc/grub-install.in (datadir): Removed.
26912 (host_vendor): Likewise.
26913 (host_os): Likewise.
26914 (pkgdatadir): Likewise.
26915 (platform): New variable.
26916 (pkglibdir): Likewise.
26917 Use PKGLIBDIR instead of PKGDATADIR.
26918
26919 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
26920 instead of GRUB_DATADIR.
26921 (main): Likewise.
26922 * util/i386/pc/grub-mkimage.c (usage): Likewise.
26923 (main): Likewise.
26924 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26925 (main): Likewise.
26926
26927 * configure.ac (--with-platform): New option.
26928 Use PLATFORM instead of HOST_VENDOR to specify a platform.
26929
26930 * Makefile.in: Include a makefile based on PLATFORM instead of
26931 HOST_VENDOR.
26932 (pkgdatadir): Not appended by the machine type.
26933 (pkglibdir): Appended by the machine type.
26934 (host_vendor): Removed.
26935 (platform): New variable.
26936 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
26937 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
26938 (uninstall): Likewise.
26939
4e93851c 269402006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
26941
26942 Use the environment context in the menu. Remove the commands
26943 "default" and "timeout", and use variables instead.
f19dbdb7 26944
4e93851c 26945 * normal/menu.c: Include grub/env.h.
26946 (print_entry): Cast TITLE to silence gcc.
26947 (get_timeout): New function.
26948 (set_timeout): Likewise.
26949 (get_entry_number): Likewise.
26950 (run_menu): Use a default entry, a fallback entry and a timeout
26951 in the environment variables "default", "fallback" and
26952 "timeout". Also, tweak the default entry if it is not within the
26953 current menu entries.
26954 (grub_menu_run): Use a fallback entry in the environment variable
26955 "fallback".
26956
26957 * normal/main.c (read_config_file): Do not initialize
26958 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
26959 NEWMENU->TIMEOUT.
26960 (grub_normal_execute): Use a data slot to store the menu.
26961
26962 * include/grub/normal.h (struct grub_menu): Removed default_entry,
26963 fallback_entry and timeout.
26964 (struct grub_menu_list): Removed.
26965 (grub_menu_list_t): Likewise.
26966 (struct grub_context): Likewise.
26967 (grub_context_t): Likewise.
26968 (grub_context_get): Likewise.
26969 (grub_context_get_current_menu): Likewise.
26970 (grub_context_push_menu): Likewise.
26971 (grub_context_pop_menu): Likewise.
26972 (grub_default_init): Likewise.
26973 (grub_default_fini): Likewise.
26974 (grub_timeout_init): Likewise.
26975 (grub_timeout_fini): Likewise.
26976
26977 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
26978 and timeout.mod.
26979 (normal_mod_SOURCES): Removed normal/context.c.
26980
26981 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
26982 commands/default.c, commands/timeout.c and normal/context.c.
26983 (normal_mod_SOURCES): Removed normal/context.c.
26984
26985 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
26986 commands/timeout.c and normal/context.c.
26987 (normal_mod_SOURCES): Removed normal/context.c.
26988
26989 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
26990 commands/default.c, commands/timeout.c and normal/context.c.
26991 (normal_mod_SOURCES): Removed normal/context.c.
26992
26993 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
26994 timeout.mod.
26995 (default_mod_SOURCES): Removed.
26996 (default_mod_CFLAGS): Likewise.
26997 (default_mod_LDFLAGS): Likewise.
26998 (timeout_mod_SOURCES): Removed.
26999 (timeout_mod_CFLAGS): Likewise.
27000 (timeout_mod_LDFLAGS): Likewise.
27001
27002 * DISTLIST: Removed commands/default.c, commands/timeout.c and
27003 normal/context.c.
27004
27005 * commands/default.c: Removed.
27006 * commands/timeout.c: Likewise.
27007 * normal/context.c: Likewise.
27008
1eb9cc1d 270092006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
27010
27011 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
27012
385bd9c1 270132006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
27014
27015 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
27016 "next" to "prev" for readability.
27017 (struct grub_env_sorted_var): New struct.
27018 (grub_env_context): Renamed to ...
27019 (initial_context): ... this.
27020 (grub_env_var_context): Renamed to ...
27021 (current_context): ... this.
27022 (grub_env_find): Look only at CURRENT_CONTEXT.
27023 (grub_env_context_open): Rewritten to copy exported variables from
27024 previous context.
27025 (grub_env_context_close): Rewritten according to the new
27026 scheme. Also, add an assertion to prevent the initial context from
27027 removed.
27028 (grub_env_insert): Removed the code for the sorted list.
27029 (grub_env_remove): Likewise.
27030 (grub_env_export): Simply mark the variable with
27031 GRUB_ENV_VAR_GLOBAL.
27032 (grub_env_set): A cosmetic change for naming consistency.
27033 (grub_env_get): Likewise.
27034 (grub_env_unset): Likewise.
27035 (grub_env_iterate): Rewritten to sort variables within this
27036 function.
27037 (grub_register_variable_hook): Fixed for naming consistency. Call
27038 grub_env_find again, only if NAME is not found at the first time.
27039 (mangle_data_slot_name): New function.
27040 (grub_env_set_data_slot): Likewise.
27041 (grub_env_get_data_slot): Likewise.
27042 (grub_env_unset_data_slot): Likewise.
27043
27044 * include/grub/env.h (grub_env_var_type): New enum.
27045 (GRUB_ENV_VAR_LOCAL): New constant.
27046 (GRUB_ENV_VAR_GLOBAL): Likewise.
27047 (GRUB_ENV_VAR_DATA): Likewise.
27048 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
27049 "type".
27050 (grub_env_set): Replace VAR with NAME for consistency.
27051 (grub_register_variable_hook): Likewise.
27052 (grub_env_export): Specify the name of the argument.
27053 (grub_env_set_data_slot): New prototype.
27054 (grub_env_get_data_slot): Likewise.
27055 (grub_env_unset_data_slot): Likewise.
27056
7f362539 270572006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27058
27059 Extend the loader so that GRUB can accept a loader which comes
27060 back to GRUB when a loaded image exits. Also, this change adds
27061 support for a chainloader on EFI.
f19dbdb7 27062
7f362539 27063 * term/efi/console.c: Include grub/misc.h.
27064 (grub_console_checkkey): Display a scan code on the top for
27065 debugging. This will be removed once the EFI port gets stable.
27066 Correct the scan code mapping.
27067
27068 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
27069 allocate memory from larger regions, in order to reduce the number
27070 of allocated regions. Otherwise, the MacOSX loader panics.
27071 (filter_memory_map): Avoid less than 1MB for compatibility with
27072 other loaders.
27073 (add_memory_regions): Allocate from the tail of a region, if
27074 possible, to avoid allocating a region near to 1MB, for the MacOSX
27075 loader.
27076
27077 * kern/efi/init.c (grub_efi_set_prefix): Specify
27078 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
27079
27080 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
27081 argument IMAGE_HANDLE and specify it to get a loaded image.
27082 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
27083 grub_efi_get_loaded_image.
fe6b695a 27084 (grub_efi_get_filename): Divide the length by the size of
7f362539 27085 grub_efi_char16_t.
27086 (grub_efi_get_device_path): New function.
27087 (grub_efi_print_device_path): Print End Device Path nodes. Divide
27088 the length by the size of grub_efi_char16_t for a file path device
27089 path node.
27090
27091 * kern/loader.c (grub_loader_noreturn): New variable.
27092 (grub_loader_set): Accept a new argument NORETURN. Set
27093 GRUB_LOADER_NORETURN to NORETURN.
27094 All callers changed.
27095 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
27096 grub_machine_fini.
27097
27098 * include/grub/efi/efi.h (grub_efi_get_device_path): New
27099 prototype.
27100 (grub_efi_get_loaded_image): Take an argument to specify an image
27101 handle.
27102
27103 * include/grub/loader.h (grub_loader_set): Added one more argument
27104 NORETURN.
27105
27106 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
27107 instead of grub_efi_open_protocol.
27108 (grub_efidisk_get_device_name): Likewise.
27109 (grub_efidisk_close): Print a newline.
27110 (grub_efidisk_get_device_handle): Fixed to use
27111 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
27112 GRUB_EFI_DEVICE_PATH_TYPE.
27113
27114 * disk/efi/efidisk.c (device_path_guid): Moved to ...
27115 * kern/efi/efi.c (device_path_guid): ... here.
27116
27117 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
27118 chain.mod.
27119 (kernel_mod_HEADERS): Added efi/disk.h.
27120 (_chain_mod_SOURCES): New variable.
27121 (_chain_mod_CFLAGS): Likewise.
27122 (_chain_mod_LDFLAGS): Likewise.
27123 (chain_mod_SOURCES): Likewise.
27124 (chain_mod_CFLAGS): Likewise.
27125 (chain_mod_LDFLAGS): Likewise.
27126
27127 * DISTLIST: Added include/grub/efi/chainloader.h,
27128 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
27129
27130 * include/grub/efi/chainloader.h: New file.
27131 * loader/efi/chainloader.c: Likewise.
27132 * loader/efi/chainloader_normal.c: Likewise.
27133
c0111d6e 271342006-04-30 Marco Gerards <marco@gnu.org>
27135
27136 * commands/configfile.c (grub_cmd_source): New function.
27137 (GRUB_MOD_INIT): Register the commands `source' and `.'.
27138 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
27139
df5341da 271402006-04-30 Marco Gerards <marco@gnu.org>
27141
27142 * normal/execute.c (grub_script_execute_cmd): Change the return
27143 type to `grub_err_t'. Correctly return the error.
27144 (grub_script_execute_cmdline): In case a command line is not a
27145 command or a function, try to interpret it as an assignment.
27146
f85934bd 271472006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27148
27149 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
27150 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
27151 skip a node whose name is obviously invalid as UTF-16,
27152 i.e. contains a NUL character. Stop the iteration when the last
27153 directory entry is found. Instead of using the return value of
27154 grub_hfsplus_btree_iterate_node, store the value in RET and use
27155 it, because the iterator can be stopped by the last directory
27156 entry.
27157
8f8a2cf8 271582006-04-30 Marco Gerards <marco@gnu.org>
27159
27160 * include/grub/env.h (grub_env_export): New prototype. Reported
27161 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
27162
a27e84ce 271632006-04-30 Marco Gerards <marco@gnu.org>
27164
27165 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
27166 size of the extents in a catalog file record.
27167
eaef0553 271682006-04-29 Marco Gerards <marco@gnu.org>
27169
27170 * commands/configfile.c (grub_cmd_configfile): Execute the
27171 configfile within its own context.
27172
27173 * include/grub/env.h (grub_env_context_open): New prototype.
27174 (grub_env_context_close): Likewise.
27175
27176 * kern/env.c (grub_env): Removed.
27177 (grub_env_sorted): Likewise.
27178 (grub_env_context): New variable.
27179 (grub_env_var_context): Likewise.
27180 (grub_env_find): Search both the active context and the global
27181 context.
27182 (grub_env_context_open): New function.
27183 (grub_env_context_close): Likewise.
27184 (grub_env_insert): Likewise.
27185 (grub_env_remove): Likewise.
27186 (grub_env_export): Likewise.
27187 (grub_env_set): Changed to use helper functions to avoid code
27188 duplication.
27189 (grub_env_iterate): Rewritten so both the current context and the
27190 global context are being used.
27191
27192 * normal/command.c (export_command): New function.
27193 (grub_command_init): Register the `export' function.
27194
7b455f4d 271952006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
27196
27197 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
27198 explicitly to suppress gcc's warnings.
27199 * fs/fat.c (grub_fat_find_dir): Likewise.
27200 (grub_fat_label): Likewise.
27201 * fs/xfs.c (grub_xfs_read_inode): Likewise.
27202 (grub_xfs_mount): Likewise.
27203 (grub_xfs_label): Likewise.
27204 * fs/affs.c (grub_affs_mount): Likewise.
27205 (grub_affs_label): Likewise.
27206 (grub_affs_iterate_dir): Likewise.
27207 * fs/sfs.c (grub_sfs_mount): Likewise.
27208 (grub_sfs_iterate_dir): Likewise.
27209 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
27210 * fs/hfs.c (grub_hfs_mount): Likewise.
27211 (grub_hfs_cmp_catkeys): Likewise.
27212 (grub_hfs_find_dir): Likewise.
27213 (grub_hfs_dir): Likewise.
27214 (grub_hfs_label): Likewise.
27215 * fs/jfs.c (grub_jfs_mount): Likewise.
27216 (grub_jfs_opendir): Likewise.
27217 (grub_jfs_getent): Likewise.
27218 (grub_jfs_lookup_symlink): Likewise.
27219 (grub_jfs_label): Likewise.
27220 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
27221 (grub_hfsplus_iterate_dir): Likewise.
27222 (grub_hfsplus_btree_iterate_node): Made static.
27223
27224 * util/grub-emu.c (prefix): New variable.
27225 (grub_machine_set_prefix): New function.
27226 (main): Do not set the environment variable "prefix" here. Only
27227 set PREFIX, which is used later by grub_machine_set_prefix.
27228
27229 * include/grub/video.h: Do not include grub/symbol.h.
27230 (grub_video_register): Not exported. This symbol is not defined in
27231 the kernel.
27232 (grub_video_unregister): Likewise.
27233 (grub_video_iterate): Likewise.
27234 (grub_video_setup): Likewise.
27235 (grub_video_restore): Likewise.
27236 (grub_video_get_info): Likewise.
27237 (grub_video_get_blit_format): Likewise.
27238 (grub_video_set_palette): Likewise.
27239 (grub_video_get_palette): Likewise.
27240 (grub_video_set_viewport): Likewise.
27241 (grub_video_get_viewport): Likewise.
27242 (grub_video_map_color): Likewise.
27243 (grub_video_map_rgb): Likewise.
27244 (grub_video_map_rgba): Likewise.
27245 (grub_video_fill_rect): Likewise.
27246 (grub_video_blit_glyph): Likewise.
27247 (grub_video_blit_bitmap): Likewise.
27248 (grub_video_blit_render_target): Likewise.
27249 (grub_video_scroll): Likewise.
27250 (grub_video_swap_buffers): Likewise.
27251 (grub_video_create_render_target): Likewise.
27252 (grub_video_delete_render_target): Likewise.
27253 (grub_video_set_active_render_target): Likewise.
27254
27255 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
27256 Undefined.
27257 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
27258
27259 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
27260 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27261 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27262 instead of $(srcdir)/genkernsyms.sh.
27263
27264 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
27265 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27266 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27267 instead of $(srcdir)/genkernsyms.sh.
27268
27269 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
27270 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27271 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27272 instead of $(srcdir)/genkernsyms.sh.
27273
27274 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
27275 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27276 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27277 instead of $(srcdir)/genkernsyms.sh.
27278
27279 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
27280 genkernsyms.sh.
27281
27282 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
27283 genkernsyms.sh.
27284 (gensymlist.sh): New target.
27285 (genkernsyms.sh): Likewise.
27286
27287 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
27288 genkernsyms.sh.in and gensymlist.sh.in.
27289
27290 * genkernsyms.sh: Removed.
27291 * gensymlist.sh: Likewise.
f19dbdb7 27292
7b455f4d 27293 * genkernsyms.sh.in: New file.
27294 * gensymlist.sh.in: Likewise.
27295
1885bb27 272962006-04-25 Hollis Blanchard <hollis@penguinppc.org>
27297
27298 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
27299 clobber "prefix", since we may have already set it manually.
27300
71538dff 273012006-04-25 Hollis Blanchard <hollis@penguinppc.org>
27302
27303 * kern/misc.c (abort): New alias for grub_abort.
27304
2965c7cc 273052006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
27306
27307 A new machine-specific function "grub_machine_set_prefix" is
27308 defined. This is called after loading modules, so that a prefix
27309 initialization can use modules. Also, this change adds an
27310 intensive debugging feature for the memory manager via the
27311 configure option "--enable-mm-debug".
f19dbdb7 27312
2965c7cc 27313 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
27314 PART.LEN.
27315
27316 * kern/sparc64/ieee1275/init.c (abort): Removed.
27317 (grub_stop): Likewise.
27318 (grub_exit): New function.
27319 (grub_set_prefix): Renamed to ...
27320 (grub_machine_set_prefix): ... this.
27321 (grub_machine_init): Do not call grub_set_prefix.
27322
27323 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
27324 (grub_machine_set_prefix): ... this.
27325 (grub_machine_init): Do not call grub_set_prefix.
27326
27327 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
27328 (grub_machine_init): Do not set the prefix here.
27329
27330 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
27331
27332 * kern/efi/init.c: Include grub/mm.h.
27333 (grub_efi_set_prefix): New function.
27334
27335 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
27336 (grub_efi_get_filename): New function.
27337 (grub_print_device_path): Renamed to ...
27338 (grub_efi_print_device_path): ... this.
27339
27340 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
27341 [MM_DEBUG] (grub_realloc): Likewise.
27342 [MM_DEBUG] (grub_free): Likewise.
27343 [MM_DEBUG] (grub_memalign): Likewise.
27344 [MM_DEBUG] (grub_mm_debug): New variable.
27345 [MM_DEBUG] (grub_debug_malloc): New function.
27346 [MM_DEBUG] (grub_debug_free): New function.
27347 [MM_DEBUG] (grub_debug_realloc): New function.
27348 [MM_DEBUG] (grub_debug_memalign): New function.
27349
27350 * kern/misc.c (grub_abort): Print a newline to distinguish
27351 the message.
27352
27353 * kern/main.c (grub_main): Call grub_machine_set_prefix and
27354 grub_set_root_dev after loading modules. This is necessary when
27355 setting a prefix depends on modules.
27356
27357 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
27358 (grub_efi_print_device_path): ... this.
27359 (grub_efi_get_filename): New prototype.
27360 (grub_efi_set_prefix): Likewise.
27361
27362 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
27363 and grub/disk.h.
27364 (grub_efidisk_get_device_handle): New prototype.
27365 (grub_efidisk_get_device_name): Likewise.
27366
27367 * include/grub/mm.h: Include config.h.
27368 (MM_DEBUG): Removed.
27369 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
27370 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
27371 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
27372 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
27373 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
27374 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
27375 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
27376 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
27377 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
27378
27379 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
27380
27381 * disk/efi/efidisk.c: Include grub/partition.h.
27382 (iterate_child_devices): New function.
27383 (add_device): First, compare only last device path nodes, so that
27384 devices are sorted by the types.
27385 (grub_efidisk_get_device_handle): New function.
27386 (grub_efidisk_get_device_name): Likewise.
27387
27388 * configure.ac (--enable-mm-debug): New option to enable the
27389 memory manager debugging feature. This makes the binary much
27390 bigger, so is disabled by default.
27391
9cacaa17 273922006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
27393
27394 Use grub_abort instead of grub_stop, and grub_exit must be
27395 define in each architecture now. Also, this change adds support
27396 for EFI disks.
f19dbdb7 27397
9cacaa17 27398 * util/i386/pc/grub-probefs.c: Include grub/term.h.
27399 (grub_getkey): New function.
27400 (grub_term_get_current): Likewise.
27401
27402 * util/i386/pc/grub-setup.c: Include grub/term.h.
27403 (grub_getkey): New function.
27404 (grub_term_get_current): Likewise.
27405
27406 * util/misc.c (grub_stop): Renamed to ...
27407 (grub_exit): ... this.
27408
27409 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
27410 (grub_exit): ... this.
27411 (grub_machine_init): Use grub_abort instead of abort.
27412 (grub_stop): Removed.
27413
27414 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
27415 abort.
27416
27417 * kern/i386/pc/startup.S (grub_exit): New function.
27418 (cold_reboot): New label.
27419
27420 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
27421 (grub_efi_init): Call grub_efidisk_init.
27422 (grub_efi_fini): Call grub_efidisk_fini.
27423
27424 * kern/efi/efi.c: Include grub/mm.h.
27425 (grub_efi_console_control_guid): Renamed to ...
27426 (console_control_guid): ... this.
27427 (grub_efi_loaded_image_guid): Renamed to ...
27428 (loaded_image_guid): ... this.
27429 (grub_efi_locate_handle): New function.
27430 (grub_efi_open_protocol): Likewise.
27431 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
27432 GRUB_EFI_CONSOLE_CONTROL_GUID.
27433 (grub_efi_exit): Removed.
27434 (grub_stop): Likewise.
27435 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
27436 (grub_exit): New function.
27437 (grub_print_device_path): Likewise.
27438
27439 * kern/rescue.c (grub_rescue_cmd_exit): New function.
27440 (grub_enter_rescue_mode): Register "exit".
27441
27442 * kern/misc.c (grub_real_dprintf): A cosmetic change.
27443 (grub_abort): New function.
27444
27445 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
27446
27447 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
27448
27449 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
27450
27451 * include/grub/efi/efi.h (grub_efi_exit): Removed.
27452 (grub_print_device_path): New prototype.
27453 (grub_efi_locate_handle): Likewise.
27454 (grub_efi_open_protocol): Likewise.
27455
27456 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
27457 * disk/efi/efidisk.c: Likewise.
27458
27459 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
27460
27461 * include/grub/efi/console_control.h
27462 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
27463
27464 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
27465 last 8 bytes as an array.
27466 (GRUB_EFI_DISK_IO_GUID): New macro.
27467 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
27468 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
27469 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
27470 grub_uint8_t.
27471 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
27472 (struct grub_efi_device_path): Rename the member "sub_type" to
27473 "subtype".
27474 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
27475 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
27476 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
27477 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
27478 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
27479 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
27480 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
27481 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
27482 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
27483 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
27484 (struct grub_efi_pci_device_path): New structure.
27485 (grub_efi_pci_device_path_t): New type.
27486 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
27487 (struct grub_efi_pccard_device_path): New structure.
27488 (grub_efi_pccard_device_path_t): New type.
27489 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
27490 (struct grub_efi_memory_mapped_device_path): New structure.
27491 (grub_efi_memory_mapped_device_path_t): New type.
27492 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
27493 (struct grub_efi_vendor_device_path): New structure.
27494 (grub_efi_vendor_device_path_t): New type.
27495 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
27496 (struct grub_efi_controller_device_path): New structure.
27497 (grub_efi_controller_device_path_t): New type.
27498 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
27499 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
27500 (struct grub_efi_acpi_device_path): New structure.
27501 (grub_efi_acpi_device_path_t): New type.
27502 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
27503 (struct grub_efi_expanded_acpi_device_path): New structure.
27504 (grub_efi_expanded_acpi_device_path_t): New type.
27505 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
27506 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
27507 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
27508 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
27509 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
27510 (struct grub_efi_atapi_device_path): New structure.
27511 (grub_efi_atapi_device_path_t): New type.
27512 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
27513 (struct grub_efi_fibre_channel_device_path): New structure.
27514 (grub_efi_fibre_channel_device_path_t): New type.
27515 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
27516 (struct grub_efi_1394_device_path): New structure.
27517 (grub_efi_1394_device_path_t): New type.
27518 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
27519 (struct grub_efi_usb_device_path): New structure.
27520 (grub_efi_usb_device_path_t): New type.
27521 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
27522 (struct grub_efi_usb_class_device_path): New structure.
27523 (grub_efi_usb_class_device_path_t): New type.
27524 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
27525 (struct grub_efi_i2o_device_path): New structure.
27526 (grub_efi_i2o_device_path_t): New type.
27527 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
27528 (struct grub_efi_mac_address_device_path): New structure.
27529 (grub_efi_mac_address_device_path_t): New type.
27530 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
27531 (struct grub_efi_ipv4_device_path): New structure.
27532 (grub_efi_ipv4_device_path_t): New type.
27533 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
27534 (struct grub_efi_ipv6_device_path): New structure.
27535 (grub_efi_ipv6_device_path_t): New type.
27536 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
27537 (struct grub_efi_infiniband_device_path): New structure.
27538 (grub_efi_infiniband_device_path_t): New type.
27539 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
27540 (struct grub_efi_uart_device_path): New structure.
27541 (grub_efi_uart_device_path_t): New type.
27542 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
27543 (struct grub_efi_vendor_messaging_device_path): New structure.
27544 (grub_efi_vendor_messaging_device_path_t): New type.
27545 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
27546 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
27547 (struct grub_efi_hard_drive_device_path): New structure.
27548 (grub_efi_hard_drive_device_path_t): New type.
27549 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
27550 (struct grub_efi_cdrom_device_path): New structure.
27551 (grub_efi_cdrom_device_path_t): New type.
27552 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
27553 (struct grub_efi_vendor_media_device_path): New structure.
27554 (grub_efi_vendor_media_device_path_t): New type.
27555 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
27556 (struct grub_efi_file_path_device_path): New structure.
27557 (grub_efi_file_path_device_path_t): New type.
27558 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
27559 (struct grub_efi_protocol_device_path): New structure.
27560 (grub_efi_protocol_device_path_t): New type.
27561 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
27562 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
27563 (struct grub_efi_bios_device_path): New structure.
27564 (grub_efi_bios_device_path_t): New type.
27565 (struct grub_efi_disk_io): New structure.
27566 (grub_efi_disk_io_t): New type.
27567 (struct grub_efi_block_io_media): New structure.
27568 (grub_efi_block_io_media_t): New type.
27569 (struct grub_efi_block_io): New structure.
27570 (grub_efi_block_io_t): New type.
27571
27572 * include/grub/misc.h (grub_stop): Removed.
27573 (grub_exit): New prototype.
27574 (grub_abort): Likewise.
27575
27576 * include/grub/disk.h (enum grub_disk_dev_id): Added
27577 GRUB_DISK_DEVICE_EFIDISK_ID.
27578
27579 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
27580 disk/efi/efidisk.c.
27581 (kernel_syms.lst): Remove the target if an error occurs.
27582
49986a9f 275832006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
27584
27585 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
27586 as it was simply too buggy.
27587
970d3b8a 275882006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
27589
27590 * kern/misc.c (grub_lltoa): New function.
27591 (grub_vsprintf): Added support for the long long suffix,
27592 i.e. "ll".
27593
ff04ec24 275942006-04-20 Hollis Blanchard <hollis@penguinppc.org>
27595
27596 * Makefile.in (LDFLAGS): Add variable.
27597 (LD): Remove variable.
27598 * configure.ac: Add -m32 to LDFLAGS.
27599 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
27600 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
27601 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
27602 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
27603 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
27604 variables.
27605 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
27606 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
27607 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
27608
37e5e1a4 276092006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
27610
27611 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
27612 length for unknown glyph.
27613
c352d8dd 276142006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
27615
2eab1c0d 27616 Add support for pre-loaded modules into the EFI port.
f19dbdb7 27617
2eab1c0d 27618 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
27619 completely. Accept one more argument DIR. The caller has changed.
27620
27621 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
27622
27623 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
27624 (grub_efi_loaded_image_guid): New variable.
27625 (grub_efi_get_loaded_image): New function.
27626 (grub_arch_modules_addr): Likewise.
27627
27628 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
27629 prototype.
27630
27631 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
27632 (struct grub_efi_loaded_image): New structure.
27633 (grub_efi_loaded_image_t): New type.
27634
276352006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 27636
c352d8dd 27637 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
27638 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
27639 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
27640
6d01d6b4 276412006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
27642
27643 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
27644
976a4ea0 276452006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
27646
27647 * DISTLIST: Added include/grub/efi/console.h,
27648 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
27649 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
27650
27651 * include/grub/efi/console.h: New file.
27652 * include/grub/efi/time.h: Likewise.
27653 * include/grub/i386/efi/kernel.h: Likewise.
27654 * kern/efi/init.c: Likewise.
27655 * kern/efi/mm.c: Likewise.
27656 * term/efi/console.c: Likewise.
f19dbdb7 27657
976a4ea0 27658 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
27659 (grub_stop): Removed.
27660 (grub_get_rtc): Likewise.
27661 (grub_machine_init): Simply call grub_efi_init.
27662 (grub_machine_fini): Call grub_efi_fini.
27663
27664 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
27665 (grub_efi_output_string): Removed.
27666 (grub_efi_stall): New function.
27667 (grub_stop): Likewise.
27668 (grub_get_rtc): Likewise.
27669
27670 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
27671 (grub_efi_stall): New prototype.
27672 (grub_efi_allocate_pages): Likewise.
27673 (grub_efi_free_pages): Likewise.
27674 (grub_efi_get_memory_map): Likewise.
27675 (grub_efi_mm_init): Likewise.
27676 (grub_efi_mm_fini): Likewise.
27677 (grub_efi_init): Likewise.
27678 (grub_efi_fini): Likewise.
27679
27680 * include/grub/i386/efi/time.h: Do not include
27681 grub/symbol.h. Include grub/efi/time.h.
27682 (GRUB_TICKS_PER_SECOND): Removed.
27683 (grub_get_rtc): Likewise.
27684
27685 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
27686 Added padding. The EFI spec is buggy.
27687 (GRUB_EFI_BLACK): New macro.
27688 (GRUB_EFI_BLUE): Likewise.
27689 (GRUB_EFI_GREEN): Likewise.
27690 (GRUB_EFI_CYAN): Likewise.
27691 (GRUB_EFI_RED): Likewise.
27692 (GRUB_EFI_MAGENTA): Likewise.
27693 (GRUB_EFI_BROWN): Likewise.
27694 (GRUB_EFI_LIGHTGRAY): Likewise.
27695 (GRUB_EFI_BRIGHT): Likewise.
27696 (GRUB_EFI_DARKGRAY): Likewise.
27697 (GRUB_EFI_LIGHTBLUE): Likewise.
27698 (GRUB_EFI_LIGHTGREEN): Likewise.
27699 (GRUB_EFI_LIGHTCYAN): Likewise.
27700 (GRUB_EFI_LIGHTRED): Likewise.
27701 (GRUB_EFI_LIGHTMAGENTA): Likewise.
27702 (GRUB_EFI_YELLOW): Likewise.
27703 (GRUB_EFI_WHITE): Likewise.
27704 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
27705 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
27706 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
27707 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
27708 (GRUB_EFI_BACKGROUND_RED): Likewise.
27709 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
27710 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
27711 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
27712 (GRUB_EFI_TEXT_ATTR): Likewise.
27713
27714 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
27715 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
27716 (kernel_mod_HEADERS): Added efi/time.h.
27717
83709125 277182006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
27719
27720 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
27721 include/grub/efi/api.h, include/grub/efi/console_control.h,
27722 include/grub/efi/efi.h, include/grub/efi/pe32.h,
27723 include/grub/i386/efi/time.h, kern/efi/efi.c,
27724 kern/i386/efi/init.c, kern/i386/efi/startup.S,
27725 and util/i386/efi/grub-mkimage.c.
27726
27727 * Makefile.in (RMKFILES): Added i386-efi.rmk.
27728
27729 * genmk.rb (PModule#rule): Do not export symbols if
27730 #{prefix}_EXPORTS is set to "no".
27731
27732 * conf/i386-efi.mk: New file.
27733 * conf/i386-efi.rmk: Likewise.
27734 * include/grub/efi/api.h: Likewise.
27735 * include/grub/efi/console_control.h: Likewise.
27736 * include/grub/efi/efi.h: Likewise.
27737 * include/grub/efi/pe32.h: Likewise.
27738 * include/grub/i386/efi/time.h: Likewise.
27739 * kern/efi/efi.c: Likewise.
27740 * kern/i386/efi/init.c: Likewise.
27741 * kern/i386/efi/startup.S: Likewise.
27742 * util/i386/efi/grub-mkimage.c: Likewise.
27743
277442006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 27745
27746 * include/grub/script.h: Include <grub/parser.h> and
27747 "grub_script.tab.h".
27748 (struct grub_lexer_param): New struct.
27749 (struct grub_parser_param): Likewise.
27750 (grub_script_create_arglist): Pass the state in an argument.
27751 (grub_script_add_arglist): Likewise.
27752 (grub_script_create_cmdline): Likewise.
27753 (grub_script_create_cmdblock): Likewise.
27754 (grub_script_create_cmdif): Likewise.
27755 (grub_script_create_cmdmenu): Likewise.
27756 (grub_script_add_cmd): Likewise.
27757 (grub_script_arg_add): Likewise.
27758 (grub_script_lexer_ref): Likewise.
27759 (grub_script_lexer_deref): Likewise.
27760 (grub_script_lexer_record_start): Likewise.
27761 (grub_script_lexer_record_stop): Likewise.
27762 (grub_script_mem_record): Likewise.
27763 (grub_script_mem_record_stop): Likewise.
27764 (grub_script_malloc): Likewise.
27765 (grub_script_yylex): Likewise.
27766 (grub_script_yyparse): Likewise.
27767 (grub_script_yyerror): Likewise.
27768 (grub_script_yylex): Likewise.
27769 (grub_script_lexer_init): Return the state.
27770
27771 * normal/lexer.c (grub_script_lexer_state): Removed variable.
27772 (grub_script_lexer_done): Likewise.
27773 (grub_script_lexer_getline): Likewise.
27774 (grub_script_lexer_refs): Likewise.
27775 (script): Likewise.
27776 (newscript): Likewise.
27777 (record): Likewise.
27778 (recording): Likewise.
27779 (recordpos): Likewise.
27780 (recordlen): Likewise.
27781 (grub_script_lexer_init): Return the state instead of setting
27782 global variables.
27783 (grub_script_lexer_ref): Use the newly added argument for state
27784 instead of globals.
27785 (grub_script_lexer_deref): Likewise.
27786 (grub_script_lexer_record_start): Likewise.
27787 (grub_script_lexer_record_stop): Likewise.
27788 (recordchar): Likewise.
27789 (nextchar): Likewise.
27790 (grub_script_yylex2): Likewise.
27791 (grub_script_yylex): Likewise.
27792 (grub_script_yyerror): Likewise.
27793
27794 * normal/parser.y (func_mem): Removed variable.
27795 (menu_entry): Likewise.
27796 (err): Likewise.
27797 (%lex-param): New parser option.
27798 (%parse-param): Likewise.
27799 (script): Always return the AST.
27800 (argument): Pass the state around.
27801 (arguments): Likewise.
27802 (grubcmd): Likewise.
27803 (commands): Likewise.
27804 (function): Likewise.
27805 (menuentry): Likewise.
27806 (if_statement): Likewise.
27807 (if): Likewise.
27808
27809 * normal/script.c (grub_script_memused): Removed variable.
27810 (grub_script_parsed): Likewise.
27811 (grub_script_malloc): Added a state argument. Use that instead of
27812 global variables.
27813 (grub_script_mem_record): Likewise.
27814 (grub_script_mem_record_stop): Likewise.
27815 (grub_script_arg_add): Likewise.
27816 (grub_script_add_arglist): Likewise.
27817 (grub_script_create_cmdline): Likewise.
27818 (grub_script_create_cmdif): Likewise.
27819 (grub_script_create_cmdmenu): Likewise.
27820 (grub_script_add_cmd): Likewise.
27821 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 27822
e2a8c904 278232006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 27824
27825 * normal/command.c (grub_command_init): Remove the title command.
27826
27827 * normal/lexer.c (grub_script_yylex): Renamed from this...
27828 (grub_script_yylex2): ... to this.
27829 (grub_script_yylex): New function. Temporary
27830 introduced to filter some tokens.
27831 (grub_script_yyerror): Print a newline.
27832
27833 * normal/main.c (read_config_file): Output information about the
27834 lines that contain errors. Wait for a key after all lines have
27835 been processed. Don't return an empty menu.
27836
27837 * normal/parser.y (func_mem): Don't initialize.
27838 (menu_entry): Likewise.
27839 (err): New variable.
27840 (script): Don't return anything when an error was encountered.
27841 (ws, returns): Removed rules.
27842 (argument): Disabled concatenated variable support.
27843 (arguments): Remove explicit separators.
27844 (grubcmd): Likewise.
27845 (function): Likewise.
27846 (menuentry): Likewise.
27847 (if): Likewise.
27848 (commands): Likewise. Add error handling.
27849
27850 * normal/script.c (grub_script_create_cmdline): If
27851 `grub_script_parsed' is 0, assume the parser encountered an error.
27852
c9a86192 278532006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
27854
27855 * configure.ac: Add support for EFI. Fix the typo
27856 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
27857
70f3b243 278582006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
27859
27860 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
27861 foreign multibyte characters should be shown correctly.
27862
65f201ad 278632006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
27864
27865 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
27866 calculation.
27867 (read_config_file): Made it to close file before returning.
27868
b4b93674 278692006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
27870
27871 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
27872 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
27873 video/i386/pc/vbefill.c.
27874
27875 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
27876 video/i386/pc/vbefill.c.
27877
27878 * include/grub/video.h (grub_video_blit_format): New enum.
27879 (grub_video_mode_info): Added new member blit_format.
27880 (grub_video_get_blit_format): New function prototype.
27881
27882 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
27883 function prototype.
27884 (grub_video_vbe_map_rgb): Likewise.
27885 (grub_video_vbe_unmap_color): Likewise.
27886
27887 * include/grub/i386/pc/vbeblit.h: New file.
27888
27889 * include/grub/i386/pc/vbefill.h: New file.
27890
27891 * video/video.c (grub_video_get_blit_format): New function.
27892 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
27893 (grub_video_vbe_map_rgb): Likewise.
27894 (grub_video_vbe_unmap_color): Likewise.
27895
27896 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
27897 optimized fills.
27898 (grub_video_vbe_blit_render_target): Changed to use more optimized
27899 blits.
27900 (grub_video_vbe_setup): Added detection for optimized settings.
27901 (grub_video_vbe_create_render_target): Likewise.
27902
27903 * video/i386/pc/vbeblit.c: New file.
27904
27905 * video/i386/pc/vbefill.c: New file.
27906
c2379b9c 279072006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
27908
27909 * font/manager.c (grub_font_get_glyph): Removed font fixup from
27910 here...
27911
27912 * util/unifont2pff.rb: ... and moved it to here. Improved argument
27913 parsing to support both hex and dec ranges. If filename was missing
27914 show usage information.
27915
bd0d7896 279162006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
27917
27918 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
27919 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
27920
27921 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
27922 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
27923 (video_mod_SOURCES): Added.
27924 (video_mod_CFLAGS): Likewise.
27925 (video_mod_LDFLAGS): Likewise.
27926 (gfxterm_mod_SOURCES): Likewise.
27927 (gfxterm_mod_CFLAGS): Likewise.
27928 (gfxterm_mod_LDFLAGS): Likewise.
27929 (videotest_mod_SOURCES): Likewise.
27930 (videotest_mod_CFLAGS): Likewise.
27931 (videotest_mod_LDFLAGS): Likewise.
27932 (vesafb_mod_SOURCES): Removed.
27933 (vesafb_mod_CFLAGS): Likewise.
27934 (vesafb_mod_LDFLAGS): Likewise.
27935 (vga_mod_SOURCES): Likewise.
27936 (vga_mod_CFLAGS): Likewise.
27937 (vga_mod_LDFLAGS): Likewise.
27938
27939 * commands/videotest.c: New file.
27940
27941 * font/manager.c (fill_with_default_glyph): Modified to use
27942 grub_font_glyph.
27943 (grub_font_get_glyph): Likewise.
27944 (fontmanager): Renamed from this...
27945 (font_manager): ... to this.
27946
27947 * include/grub/font.h (grub_font_glyph): Added new structure.
27948 (grub_font_get_glyph): Modified to use grub_font_glyph.
27949
27950 * include/grub/misc.h (grub_abs): Added as inline function.
27951
27952 * include/grub/video.h: New file.
27953
27954 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
27955 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
27956 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
27957 (grub_vbe_get_controller_info): Renamed from this...
27958 (grub_vbe_bios_get_controller_info): ... to this.
27959 (grub_vbe_get_mode_info): Renamed from this...
27960 (grub_vbe_bios_get_mode_info): ... to this.
27961 (grub_vbe_set_mode): Renamed from this...
27962 (grub_vbe_bios_set_mode): ... to this.
27963 (grub_vbe_get_mode): Renamed from this...
27964 (grub_vbe_bios_get_mode): ... to this.
27965 (grub_vbe_set_memory_window): Renamed from this...
27966 (grub_vbe_bios_set_memory_window): ... to this.
27967 (grub_vbe_get_memory_window): Renamed from this...
27968 (grub_vbe_bios_get_memory_window): ... to this.
27969 (grub_vbe_set_scanline_length): Renamed from this...
27970 (grub_vbe_set_scanline_length): ... to this.
27971 (grub_vbe_get_scanline_length): Renamed from this...
27972 (grub_vbe_bios_get_scanline_length): ... to this.
27973 (grub_vbe_set_display_start): Renamed from this...
27974 (grub_vbe_bios_set_display_start): ... to this.
27975 (grub_vbe_get_display_start): Renamed from this...
27976 (grub_vbe_bios_get_display_start): ... to this.
27977 (grub_vbe_set_palette_data): Renamed from this...
27978 (grub_vbe_bios_set_palette_data): ... to this.
27979 (grub_vbe_set_pixel_rgb): Removed.
27980 (grub_vbe_set_pixel_index): Likewise.
27981
27982 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
27983 from this...
27984 (grub_vbe_bios_get_controller_info): ... to this.
27985 (grub_vbe_get_mode_info): Renamed from this...
27986 (grub_vbe_bios_get_mode_info): ... to this.
27987 (grub_vbe_set_mode): Renamed from this...
27988 (grub_vbe_bios_set_mode): ... to this.
27989 (grub_vbe_get_mode): Renamed from this...
27990 (grub_vbe_bios_get_mode): ... to this.
27991 (grub_vbe_set_memory_window): Renamed from this...
27992 (grub_vbe_bios_set_memory_window): ... to this.
27993 (grub_vbe_get_memory_window): Renamed from this...
27994 (grub_vbe_bios_get_memory_window): ... to this.
27995 (grub_vbe_set_scanline_length): Renamed from this...
27996 (grub_vbe_set_scanline_length): ... to this.
27997 (grub_vbe_get_scanline_length): Renamed from this...
27998 (grub_vbe_bios_get_scanline_length): ... to this.
27999 (grub_vbe_set_display_start): Renamed from this...
28000 (grub_vbe_bios_set_display_start): ... to this.
28001 (grub_vbe_get_display_start): Renamed from this...
28002 (grub_vbe_bios_get_display_start): ... to this.
28003 (grub_vbe_set_palette_data): Renamed from this...
28004 (grub_vbe_bios_set_palette_data): ... to this.
28005 (grub_vbe_bios_get_controller_info): Fixed problem with registers
28006 getting corrupted after calling it. Added more pushes and pops.
28007 (grub_vbe_bios_set_mode): Likewise.
28008 (grub_vbe_bios_get_mode): Likewise.
28009 (grub_vbe_bios_get_memory_window): Likewise.
28010 (grub_vbe_bios_set_scanline_length): Likewise.
28011 (grub_vbe_bios_get_scanline_length): Likewise.
28012 (grub_vbe_bios_get_display_start): Likewise.
28013 (grub_vbe_bios_set_palette_data): Likewise.
28014
28015 * normal/cmdline.c (cl_set_pos): Refresh the screen.
28016 (cl_insert): Likewise.
28017 (cl_delete): Likewise.
28018
28019 * term/gfxterm.c: New file.
28020
28021 * term/i386/pc/vesafb.c: Removed file.
28022
28023 * video/video.c: New file.
28024
28025 * video/i386/pc/vbe.c (real2pm): Added new function.
28026 (grub_video_vbe_draw_pixel): Likewise.
28027 (grub_video_vbe_get_video_ptr): Likewise.
28028 (grub_video_vbe_get_pixel): Likewise
28029 (grub_video_vbe_init): Likewise.
28030 (grub_video_vbe_fini): Likewise.
28031 (grub_video_vbe_setup): Likewise.
28032 (grub_video_vbe_get_info): Likewise.
28033 (grub_video_vbe_set_palette): Likewise.
28034 (grub_video_vbe_get_palette): Likewise.
28035 (grub_video_vbe_set_viewport): Likewise.
28036 (grub_video_vbe_get_viewport): Likewise.
28037 (grub_video_vbe_map_color): Likewise.
28038 (grub_video_vbe_map_rgb): Likewise.
28039 (grub_video_vbe_map_rgba): Likewise.
28040 (grub_video_vbe_unmap_color): Likewise.
28041 (grub_video_vbe_fill_rect): Likewise.
28042 (grub_video_vbe_blit_glyph): Likewise.
28043 (grub_video_vbe_blit_bitmap): Likewise.
28044 (grub_video_vbe_blit_render_target): Likewise.
28045 (grub_video_vbe_scroll): Likewise.
28046 (grub_video_vbe_swap_buffers): Likewise.
28047 (grub_video_vbe_create_render_target): Likewise.
28048 (grub_video_vbe_delete_render_target): Likewise.
28049 (grub_video_vbe_set_active_render_target): Likewise.
28050 (grub_vbe_set_pixel_rgb): Remove function.
28051 (grub_vbe_set_pixel_index): Likewise.
28052 (index_color_mode): Remove static variable.
28053 (active_mode): Likewise.
28054 (framebuffer): Likewise.
28055 (bytes_per_scan_line): Likewise.
28056 (grub_video_vbe_adapter): Added new static variable.
28057 (framebuffer): Likewise.
28058 (render_target): Likewise.
28059 (initial_mode): Likewise.
28060 (mode_in_use): Likewise.
28061 (mode_list): Likewise.
28062
5f97350b 280632006-03-10 Marco Gerards <marco@gnu.org>
28064
28065 * configure.ac (AC_INIT): Bumped to 1.93.
28066
28067 * DISTLIST: Added `include/grub/hfs.h'.
28068
a3c5c6f8 280692006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
28070
28071 * boot/i386/pc/boot.S (general_error): Before looping, try INT
28072 18H, which might help the BIOS falling back to next boot media.
28073
6de53d26 280742006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
28075
28076 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
28077 Poe Chen <poe.poechen@gmail.com>.
28078
77c4a393 280792006-01-17 Marco Gerards <marco@gnu.org>
28080
28081 * include/grub/normal.h: Include <grub/script.h>.
28082 (grub_command_list): Removed struct.
28083 (grub_command_list_t): Removed type.
28084 (grub_menu_entry): Remove members `num' and `command_list'. Add
28085 members `commands' and `sourcecode'.
28086 * include/grub/script.h: Add inclusion guards.
28087 (grub_script_cmd_menuentry): New struct.
28088 (grub_script_execute_menuentry): New prototype.
28089 (grub_script_lexer_record_start): Likewise.
28090 (grub_script_lexer_record_stop): Likewise.
28091 * normal/execute.c (grub_script_execute_menuentry): New function.
28092 * normal/lexer.c (record, recording, recordpos, recordlen): New
28093 variables.
28094 (grub_script_lexer_record_start): New function.
28095 (grub_script_lexer_record_stop): Likewise.
28096 (recordchar): Likewise.
28097 (nextchar): Likewise.
28098 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
28099 2048 as the buffer size. Add the tokens `menuentry' and `@'.
28100 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
28101 (current_menu): New variable.
28102 (free_menu): Mainly rewritten.
28103 (grub_normal_menu_addentry): New function.
28104 (read_config_file): Rewritten.
28105 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 28106 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 28107 the menu entry.
28108 (run): Mainly rewritten.
28109 * normal/parser.y (menu_entry): New variable.
28110 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
28111 (menuentry): New rule.
28112 (command): Add `menuentry'.
28113 (if_statement): Allow additional returns before `fi'.
28114 * normal/script.c (grub_script_create_cmdmenu): New function.
28115
144f1f98 281162006-01-03 Marco Gerards <marco@gnu.org>
28117
28118 * INSTALL: GNU Bison is required.
28119 * configure.ac: Rewritten the test to detect Bison.
28120 * Makefile.in (YACC): New variable. Reported by Xun Sun
28121 <xun.sun.cn@gmail.com>.
28122
af4b2d89 281232006-01-03 Marco Gerards <marco@gnu.org>
28124
28125 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
28126 the HFS+ filesystem to filesystem blocks.
28127 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
28128 GCC warning is silenced.
28129
15643b71 281302006-01-03 Marco Gerards <marco@gnu.org>
28131
28132 * partmap/apple.c (apple_partition_map_iterate): Convert the data
28133 read from disk from big endian to host byte order.
28134
00905879 281352006-01-03 Hollis Blanchard <hollis@penguinppc.org>
28136
28137 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
28138 documentation.
28139 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
28140 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
28141 embedded HFS+ filesystem.
28142 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
28143 (grub_hfs_sblock): Move from here...
28144 * include/grub/hfs.h: To here... New file.
28145 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
28146 documentation.
28147 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
28148 New macros.
28149 (grub_hfsplus_volheader): Change type of member `magic' to
28150 `grub_uint16_t'.
28151 (grub_hfsplus_data): Add new member `embedded_offset'.
28152 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
28153 returned block.
28154 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
28155 Calculate the offset.
28156
8899bc3e 281572005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28158
28159 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
28160 Removed.
28161 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
28162
ae8c0277 281632005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28164
28165 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
28166 ENV->NAME is NULL after allocating ENV->VALUE.
28167
07084456 281682005-12-25 Marco Gerards <marco@gnu.org>
28169
28170 * kern/env.c (grub_env_set): Rewritten the error handling code.
28171
4750f5f1 281722005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28173
28174 * geninit.sh: Made more robust, and more portable.
28175
50214199 281762005-12-25 Marco Gerards <marco@gnu.org>
28177
28178 Add support for Apple HFS+ filesystems.
f19dbdb7 28179
50214199 28180 * fs/hfsplus.c: New file.
28181
28182 * DISTLIST: Added `fs/hfsplus.c'.
28183
28184 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
28185 (hfsplus_mod_SOURCES): New variable.
28186 (hfsplus_mod_CFLAGS): Likewise.
28187 (hfsplus_mod_LDFLAGS): Likewise.
28188 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
28189 (grub_setup_SOURCES): Likewise.
28190 (grub_mkdevicemap_SOURCES): Likewise.
28191 (grub_emu_SOURCES): Likewise.
28192 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28193
28194 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
28195
28196 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
28197
befaed6c 281982005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28199
28200 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
28201 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
28202 include/grub/parser.h, include/grub/script.h, kern/parser.c,
28203 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
28204 normal/lexer.c, normal/parser.y, normal/script.c, and
28205 partmap/gpt.c.
28206 Removed kern/sparc64/cache.c.
28207
28208 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
28209 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
28210 grub_emu_init.c.
28211
28212 * configure.ac (AC_INIT): Bumped to 1.92.
28213
6a124103 282142005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
28215
28216 * kern/err.c (grub_error_push): Added new function to support error
28217 stacks.
28218 (grub_error_pop): Likewise.
28219 (grub_error_stack_items): New local variable to support error stacks.
28220 (grub_error_stack_pos): Likewise.
28221 (grub_error_stack_assert): Likewise.
28222 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
28223 stack depth.
28224 (grub_print_error): Added support to print errors from error stack.
28225
28226 * include/grub/err.h (grub_error_push): Added function prototype.
28227 (grub_error_pop): Likewise.
28228
be973c1b 282292005-12-09 Hollis Blanchard <hollis@penguinppc.org>
28230
28231 * configure.ac: Accept `powerpc64' as host_cpu.
28232 (amd64): Rename to `biarch32'.
28233
28234 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
28235 non-cacheline-aligned addresses.
28236
28237 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
28238 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
28239 if `size' is non-zero.
28240
b04216ab 282412005-12-03 Marco Gerards <mgerards@xs4all.nl>
28242
28243 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
28244 and `cd' to make sure the filename is not prefixed with a
28245 directory name.
28246 (pkgdata_MODULES): Add `gpt.mod'.
28247 (gpt_mod_SOURCES): New variable.
28248 (gpt_mod_CFLAGS): Likewise.
28249 (gpt_mod_LDFLAGS): Likewise.
28250
28251 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
28252
28253 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
28254 New macro.
28255
28256 * partmap/gpt.c: New file.
28257
28258 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
28259 GPT partition map is detected.
28260
41730ed9 282612005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
28262
28263 * commands/i386/pc/play.c: New file.
28264 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
28265 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
28266 macros.
f19dbdb7 28267
95dc3643 282682005-11-27 Marco Gerards <mgerards@xs4all.nl>
28269
28270 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
28271 ((unused))' to silence gcc warning.
28272
1569ec51 282732005-11-26 Hollis Blanchard <hollis@penguinppc.org>
28274
28275 * configure.ac: Correct `AC_PROG_YACC' test.
28276
9abde152 282772005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28278
28279 * util/powerpc/ieee1275/grub-install.in: Run the mount point
28280 check before installing files.
28281
44b83271 282822005-11-22 Mike Small <smallm@panix.com>
28283
28284 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
28285 number regex so multidigit numbers are recognized correctly.
28286
282872005-11-22 Mike Small <smallm@panix.com>
28288
28289 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
28290 debugging message before attempting to claim memory.
28291 (grub_rescue_cmd_initrd): Add a claim debugging message and try
28292 multiple addresses in case of failure.
28293
9c12956b 282942005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28295
28296 * term/tparm.c (get_space): Remove empty `if' statement.
28297
28298 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
28299
28300 * kern/parser.c (check_varstate): Rename `state' to 's'.
28301
aeaf81d9 283022005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28303
28304 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
28305 variable definitions to the beginning of each function. Sort stack
28306 variables by size.
28307 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
28308 `buf' argument to `char *'.
28309
79bbb63f 283102005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28311
28312 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
28313 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 28314 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 28315 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
28316 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
28317 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
28318 configfile.mod, search.mod, gzio.mod and test.mod.
28319 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
28320 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
28321 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
28322 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
28323 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
28324 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
28325 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
28326 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
28327 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
28328 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
28329 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28330 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28331 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
28332 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
28333 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
28334 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
28335 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28336 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
28337 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
28338 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
28339 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
28340 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
28341 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
28342
28343 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
28344 `grep --include'.
28345 (pkgdata_MODULES): Add test.mod.
28346
233b1628 283472005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28348
28349 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
28350 appending to variables with "+=".
28351 (PModule): Use full pathname to generate *.lst filenames.
28352
28353 * Makefile.in: Fixed list rules moved from genmk.rb.
28354 (.DELETE_ON_ERROR): New special target.
28355 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
28356
28357 * conf/i386-pc.rmk: Include conf/common.mk.
28358 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 28359 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 28360 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
28361 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
28362 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
28363 configfile.mod, search.mod, gzio.mod and test.mod.
28364 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
28365 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
28366 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
28367 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
28368 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
28369 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
28370 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
28371 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
28372 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
28373 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
28374 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28375 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28376 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
28377 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
28378 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
28379 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
28380 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28381 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
28382 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
28383 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
28384 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
28385 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
28386 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
28387 here...
28388 * conf/common.rmk: ... to here. New file.
28389
28390 * conf/common.mk: New file.
28391
16f820c8 283922005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
28393
28394 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
28395 (grub_script.tab.c): ... here.
28396
28397 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
28398 (grub_script.tab.c): ... here.
28399
28400 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
28401 (grub_script.tab.c): ... here.
28402
28403 * normal/command.c (grub_command_find): Fixed a memory leak of
28404 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
28405
63ba1554 284062005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28407
28408 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
28409 "@" which marks the start of a comment on ARM.
28410 (VARIABLE): Likewise.
28411
7f67dc13 284122005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28413
79bbb63f 28414 Add support for Linux/ADFS partition tables.
7f67dc13 28415
28416 * partmap/acorn.c: New file.
28417
28418 * include/grub/acorn_filecore.h: Likewise.
28419
28420 * DISTLIST: Added `partmap/acorn.c' and
28421 `include/grub/acorn_filecore.h'.
f19dbdb7 28422
7f67dc13 28423 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28424 `partmap/acorn.c'.
28425 (pkgdata_MODULES): Add `acorn.mod'.
28426 (acorn_mod_SOURCES): New variable.
28427 (acorn_mod_CFLAGS): Likewise.
28428
28429 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
28430 `partmap/acorn.c'.
28431 (pkgdata_MODULES): Add `acorn.mod'.
28432 (acorn_mod_SOURCES): New variable.
28433 (acorn_mod_CFLAGS): Likewise.
28434
28435 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
28436 (pkgdata_MODULES): Add `acorn.mod'.
28437 (acorn_mod_SOURCES): New variable.
28438 (acorn_mod_CFLAGS): Likewise.
28439 (acorn_mod_LDFLAGS): Likewise.
28440
28441 * include/types.h (grub_disk_addr_t): New typedef.
28442
6d099807 284432005-11-13 Marco Gerards <mgerards@xs4all.nl>
28444
28445 * geninit.sh: New file.
28446
28447 * geninitheader.sh: Likewise.
28448
28449 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
28450 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
28451 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
28452 * commands/configfile.c (grub_configfile_init)
28453 (grub_configfile_fini): Likewise.
28454 * commands/default.c (grub_default_init, grub_default_fini):
28455 Likewise.
28456 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
28457 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
28458 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
28459 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
28460 Likewise.
28461 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
28462 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
28463 Likewise.
28464 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 28465 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 28466 Likewise.
28467 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
28468 Likewise.
fe6b695a 28469 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 28470 Likewise.
28471 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
28472 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
28473 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
28474 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
28475 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
28476 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
28477 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
28478 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
28479 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
28480 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
28481 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
28482 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
28483 * partmap/amiga.c (grub_amiga_partition_map_init)
28484 (grub_amiga_partition_map_fini): Likewise.
28485 * partmap/apple.c (grub_apple_partition_map_init)
28486 (grub_apple_partition_map_fini): Likewise.
28487 * partmap/pc.c (grub_pc_partition_map_init)
28488 (grub_pc_partition_map_fini): Likewise.
28489 * partmap/sun.c (grub_sun_partition_map_init,
28490 grub_sun_partition_map_fini): Likewise.
28491 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
28492 Likewise.
28493
28494 * util/grub-emu.c: Include <grub_modules_init.h>.
28495 (main): Don't initialize and de-initialize any modules directly,
28496 use `grub_init_all' and `grub_fini_all' instead.
28497
28498 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
28499 `grub_vesafb_mod_init'.
28500 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
28501 all users.
28502 * term/i386/pc/vga.c (grub_vga_init): Renamed to
28503 `grub_vga_mod_init'. Updated all users.
28504 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 28505
6d099807 28506 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
28507 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
28508 rules.
28509
28510 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
28511 Generate a function to initialize the module in utilities.
28512 Updated all callers.
28513 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
28514 initialize the module in utilities. Updated all callers.
28515
9046bcf0 285162005-11-09 Hollis Blanchard <hollis@penguinppc.org>
28517
28518 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
28519 escape sequence and a literal ^L to clear the screen.
28520
28521 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
28522 when returning from Open Firmware.
28523
d13ea639 285242005-11-09 Hollis Blanchard <hollis@penguinppc.org>
28525
28526 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
28527 (grub_ofconsole_height): Likewise.
28528 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
28529 manually insert a '\n'.
28530 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
28531 `grub_ofconsole_height'. Return early if these are already set.
28532
a8fcf206 285332005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
28534
28535 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
28536 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
28537 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
28538 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
28539 and `normal/script.c'.
28540 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
28541 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28542 (test_mod_SOURCES): New variable.
28543 (test_mod_CFLAGS): Likewise.
28544 (test_mod_LDFLAGS): Likewise.
28545 (pkgdata_MODULES): Add `test.mod'.
28546 (grub_script.tab.c): New rule.
28547 (grub_script.tab.h): Likewise.
28548
b6b32745 285492005-11-07 Marco Gerards <mgerards@xs4all.nl>
28550
28551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28552 `commands/test.c', `normal/execute.c', `normal/lexer.c',
28553 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28554 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
28555 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28556 (test_mod_SOURCES): New variable.
28557 (test_mod_CFLAGS): Likewise.
28558 (pkgdata_MODULES): Add `test.mod'.
28559 (grub_script.tab.c): New rule.
28560 (grub_script.tab.h): Likewise.
28561
daac212a 285622005-11-06 Marco Gerards <mgerards@xs4all.nl>
28563
28564 Add initial scripting support.
28565
28566 * commands/test.c: New file.
28567 * include/grub/script.h: Likewise.
28568 * normal/execute.c: Likewise.
28569 * normal/function.c: Likewise.
28570 * normal/lexer.c: Likewise.
28571 * normal/parser.y: Likewise.
28572 * normal/script.c: Likewise.
28573
28574 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 28575
daac212a 28576 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
28577 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
28578 `normal/function.c' and `normal/script.c'.
28579 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
28580 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 28581 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
28582 variables.
daac212a 28583 (pkgdata_MODULES): Add `test.mod'.
28584 (grub_script.tab.c): New rule.
28585 (grub_script.tab.h): Likewise.
28586
28587 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
28588
28589 * include/grub/normal.h (grub_test_init): New prototype.
28590 (grub_test_fini): Likewise.
f19dbdb7 28591
daac212a 28592 * normal/command.c: Include <grub/script.h>.
28593 (grub_command_execute): Rewritten.
f19dbdb7 28594
daac212a 28595 * util/grub-emu.c (main): Call `grub_test_init' and
28596 `grub_test_fini'.
28597
77500b2b 285982005-11-03 Hollis Blanchard <hollis@penguinppc.org>
28599
28600 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
28601 to 0.
28602 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
28603 there are no pending characters.
28604
e45deb9e 286052005-11-03 Hollis Blanchard <hollis@penguinppc.org>
28606
28607 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
28608 `grub_strndup' to drop device arguments. Replace unnecessary
28609 `grub_strndup' with `grub_strdup'.
28610
4ce32619 286112005-11-03 Hollis Blanchard <hollis@penguinppc.org>
28612
28613 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
28614 `debug' environment variable has been set.
28615
286162005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 28617
4ce32619 28618 * Makefile.in (install-local): Use $(DATA).
28619 (uninstall): Likewise.
28620 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
28621 (sbin_UTILITIES): ... to here.
28622 (sbin_SCRIPTS): New variable.
28623 (grub_install_SOURCES): New variable.
28624 * util/powerpc/ieee1275/grub-install.in: New file.
28625 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
28626 variable.
28627 (add_segments): Call `grub_util_get_path'.
28628
25fe6f03 286292005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28630
28631 From Timothy Baldwin:
28632 * commands/ls.c (grub_ls_list_files): Close FILE with
28633 grub_file_close.
28634 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
28635
04ccf3ec 286362005-10-24 Marco Gerards <mgerards@xs4all.nl>
28637
28638 * include/grub/parser.h: New file.
28639
28640 * kern/parser.c: Likewise.
28641
28642 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
28643 (grub_setup_SOURCES): Likewise.
28644 (grub_probefs_SOURCES): Likewise.
28645 (grub_emu_SOURCES): Likewise.
28646 (kernel_img_HEADERS): Add `parser.h'.
28647
28648 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
28649 (grub_emu_SOURCES): Add `kern/parser.c'.
28650 (grubof_SOURCES): Likewise.
28651
28652 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
28653 (grubof_SOURCES): Add `kern/parser.c'.
28654
28655 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
28656
28657 * kern/misc.c (grub_split_cmdline): Removed function.
28658
28659 * kern/rescue.c: Include <grub/parser.h>.
28660 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
28661 of `grub_split_cmdline'.
28662
28663 * normal/command.c: Include <grub/parser.h>.
28664 (grub_command_execute): Use `grub_parser_split_cmdline' instead
28665 of `grub_split_cmdline'.
28666
28667 * normal/completion.c: Include <grub/parser.h>.
28668 (cmdline_state): New variable.
28669 (iterate_dir): End the filename with a quote depending on the
28670 command line state.
28671 (get_state): new function.
28672 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
28673 split the arguments and determine the current argument. When the
28674 argument string is not quoted, escape all spaces.
28675
6d8f4b0e 286762005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
28677
28678 * normal/sparc64/setjmp.S: New file.
28679
15cf03ed 286802005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
28681
28682 * include/grub/sparc64/libgcc.h: New file.
28683 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
28684 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
28685 normal/sparc64/setjmp.c.
28686
03e8661a 286872005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
28688
28689 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
28690 * kern/sparc64/cache.S: New file.
28691 * kern/sparc64/cache.c: Removed.
28692 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
28693 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
28694 -mtune=ultrasparc.
28695 (COMMON_LDFLAGS): Add -melf64_sparc.
28696 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
28697 (grubof_SOURCES): Use cache.S instead of cache.c.
28698 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
28699 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
28700 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
28701 commented though.
28702 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
28703 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
28704 (linux_mod_CFLAGS): Commented out.
28705 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
28706 out because module isn't built.
28707 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
28708 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
28709 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
28710 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
28711 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
28712 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
28713 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
28714 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
28715 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
28716 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
28717 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28718 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28719 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
28720 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
28721
34eeec8a 287222005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
28723
28724 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
28725 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
28726 longer, because HFS should not be used on PC.
28727
708367a3 287282005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28729
28730 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
28731 consistently within the loop.
28732
6fa1251a 287332005-10-15 Marco Gerards <mgerards@xs4all.nl>
28734
28735 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
28736 directory can not be read.
28737
4801580b 287382005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28739
28740 * configure.ac (AC_INIT): Increase the version number to 1.91.
28741
28742 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
28743 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
28744 term/i386/pc/serial.c.
28745
219ad426 287462005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28747
28748 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
28749 file size must be permitted.
28750
28751 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
28752 between %ah and %al.
28753
688e5699 287542005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28755
28756 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
28757 grub_uint64_t.
28758 Call the hook with a NUL-terminated filename.
28759 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
28760 grub_cpu_to_be32.
28761
28762 * kern/term.c (cursor_state): New variable.
28763 (grub_term_set_current): Reset the cursor state on a new
28764 terminal.
28765 (grub_setcursor): Rewritten to use CURSOR_STATE.
28766 (grub_getcursor): New function.
28767
28768 * include/grub/term.h (grub_getcursor): New prototype.
28769
28770 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
28771 integers on ARM. Reported by Timothy Baldwin
28772 <T.E.Baldwin99@members.leeds.ac.uk>.
28773
bb34586c 287742005-10-11 Marco Gerards <mgerards@xs4all.nl>
28775
28776 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
28777 allocated.
28778 (grub_sfs_dir): Likewise.
28779
9a909877 287802005-10-09 Marco Gerards <mgerards@xs4all.nl>
28781
28782 Add support for the SFS filesystem.
28783
28784 * fs/sfs.c: New file.
28785
28786 * DISTLIST: Added `fs/sfs.c'.
28787
28788 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
28789 (grub_probefs_SOURCES): Likewise.
28790 (grub_emu_SOURCES): Likewise.
28791 (pkgdata_MODULES): Add `sfs.mod'.
28792 (sfs_mod_SOURCES): New variable.
28793 (sfs_mod_CFLAGS): Likewise.
28794 (sfs_mod_LDFLAGS): Likewise.
28795
28796 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
28797 (pkgdata_MODULES): Add `sfs.mod'.
28798 (sfs_mod_SOURCES): New variable.
28799 (sfs_mod_CFLAGS): Likewise.
28800
28801 * util/grub-emu.c (main): Call `grub_sfs_init' and
28802 `grub_sfs_fini'.
28803
28804 * include/grub/fs.h (grub_sfs_init): New prototype.
28805 (grub_sfs_fini): Likewise.
28806
57bdbde3 288072005-10-07 Marco Gerards <mgerards@xs4all.nl>
28808
28809 Add support for the AFFS filesystem.
28810
28811 * fs/affs.c: New file.
28812
28813 * DISTLIST: Added `fs/affs.c'.
28814
28815 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
28816 (grub_probefs_SOURCES): Likewise.
28817 (grub_emu_SOURCES): Likewise.
28818 (pkgdata_MODULES): Add `affs.mod'.
28819 (affs_mod_SOURCES): New variable.
28820 (affs_mod_CFLAGS): Likewise.
28821 (affs_mod_LDFLAGS): Likewise.
28822
28823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
28824 (pkgdata_MODULES): Add `affs.mod'.
28825 (affs_mod_SOURCES): New variable.
28826 (affs_mod_CFLAGS): Likewise.
28827
28828 * util/grub-emu.c (main): Call `grub_affs_init' and
28829 `grub_affs_fini'.
28830
28831 * include/grub/fs.h (grub_affs_init): New prototype.
28832 (grub_affs_fini): Likewise.
28833
047b67e0 288342005-10-01 Marco Gerards <mgerards@xs4all.nl>
28835
28836 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
28837
59b8208a 288382005-10-01 Marco Gerards <mgerards@xs4all.nl>
28839
28840 * configure.ac: Accept `x86_64' as host_cpu. In that case add
28841 `-m32' to CFLAGS.
28842
28843 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
28844 linking.
f19dbdb7 28845
59b8208a 28846 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
28847 (COMMON_LDFLAGS): New variable.
28848 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
28849 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
28850 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
28851 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
28852 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
28853 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
28854 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
28855 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
28856 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
28857 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
28858 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
28859 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
28860 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
28861 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
28862 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
28863 variables.
28864 (normal_mod_ASFLAGS): Add `-m32'.
28865
28866 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
28867 (grub_host_size_t, grub_host_ssize_t): New types.
28868 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 28869 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 28870 `GRUB_HOST_SIZEOF_VOID_P'.
28871
28872 * include/grub/kernel.h (struct grub_module_header): Type of
28873 member offset changed to `grub_host_off_t'. Type of member size
28874 changed to `grub_host_size_t'.
28875 (struct grub_module_info): Type of member offset changed to
28876 `grub_host_off_t'. Type of member size changed to
28877 `grub_host_size_t'.
28878
b4093103 288792005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
28880
28881 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 28882
b4093103 28883 * kern/i386/pc/startup.S (multiboot_header): New label.
28884 (multiboot_entry): Likewise.
28885 (multiboot_trampoline): Likewise.
28886
28887 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28888 Increased to 0x4A0.
28889
28890 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
28891 put parentheses after a question mark.
28892 [!GRUB_UTIL] (my_mod): New variable.
28893
28894 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
28895
b2499b29 288962005-09-28 Marco Gerards <mgerards@xs4all.nl>
28897
28898 Adds support for the XFS filesystem. Btrees are not supported
28899 yet.
28900
28901 * fs/xfs.c: New file.
28902
28903 * DISTLIST: Added `fs/xfs.c'.
28904
28905 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
28906 (grub_probefs_SOURCES): Likewise.
28907 (grub_emu_SOURCES): Likewise.
28908 (pkgdata_MODULES): Add `xfs.mod'.
28909 (xfs_mod_SOURCES): New variable.
28910 (xfs_mod_CFLAGS): Likewise.
28911
28912 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
28913 (pkgdata_MODULES): Add `xfs.mod'.
28914 (xfs_mod_SOURCES): New variable.
28915 (xfs_mod_CFLAGS): Likewise.
28916
28917 * util/grub-emu.c (main): Call `grub_xfs_init' and
28918 `grub_xfs_fini'.
28919
28920 * include/grub/fs.h (grub_xfs_init): New prototype.
28921 (grub_xfs_fini): Likewise.
28922
f19dbdb7 28923
83d37a62 289242005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
28925
28926 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
28927 color modes, allow greater than 16 colors to be configured as
28928 a default palette.
28929
47d2d65e 289302005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
28931
28932 * normal/completion.c (complete_arguments): Add the qualifier
28933 const into OPTIONS.
28934
28935 From Omniflux <omniflux+lists@omniflux.com>:
28936 * include/grub/terminfo.h: New file.
28937 * include/grub/tparm.h: Likewise.
28938 * include/grub/i386/pc/serial.h: Likewise.
28939 * term/terminfo.c: Likewise.
28940 * term/tparm.c: Likewise.
28941 * term/i386/pc/serial.c: Likewise.
28942 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
28943 serial.mod.
28944 (terminfo_mod_SOURCES): New variable.
28945 (terminfo_mod_CFLAGS): Likewise.
28946 (serial_mod_SOURCES): Likewise.
28947 (serial_mod_CFLAGS): Likewise.
28948
48b671ff 289492005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
28950
28951 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
28952 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
28953 and kern/powerpc/ieee1275/cmain.c, respectively.
28954
28955 * boot/powerpc/ieee1275/crt0.S: Moved to ...
28956 * kern/powerpc/ieee1275/crt0.S: ... here.
28957
28958 * boot/powerpc/ieee1275/cmain.c: Moved to ...
28959 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 28960
48b671ff 28961 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
28962 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
28963 instead of boot/powerpc/ieee1275/crt0.S and
28964 boot/powerpc/ieee1275/cmain.c, respectively.
28965
28966 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
28967 sectors. It was not used anyway.
28968
09fc77a7 289692005-08-30 Hollis Blanchard <hollis@penguinppc.org>
28970
28971 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
28972 `unused parameter' warning.
28973
003789c7 289742005-08-30 Hollis Blanchard <hollis@penguinppc.org>
28975
28976 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
28977 function.
28978 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
28979 getcharwidth.
28980
67f44c86 289812005-08-28 Marco Gerards <metgerards@student.han.nl>
28982
28983 * include/grub/normal.h (enum grub_completion_type): Added
28984 `GRUB_COMPLETION_TYPE_ARGUMENT'.
28985
28986 * normal/cmdline.c (print_completion): Handle
28987 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
28988 * normal/menu_entry.c (store_completion): Likewise.
28989
28990 * normal/completion.c (complete_arguments): New function.
28991 (grub_normal_do_completion): Call `complete_arguments' when the
28992 current words start with a dash.
28993
0b5abe02 289942005-08-27 Marco Gerards <metgerards@student.han.nl>
28995
28996 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
28997 `gzio.mod' instead of `io.mod').
28998
d9864ee1 289992005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
29000
29001 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
29002 (DISTDIRS): Added io and video.
29003 Rewrite the search routine to make an output consistently.
29004
29005 * DISTLIST: Added conf/sparc64-ieee1275.mk,
29006 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
29007 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
29008 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
29009 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
29010 util/powerpc/ieee1275/misc.c.
f19dbdb7 29011
d9864ee1 29012 * include/grub/gzio.h: New file.
29013 * io/gzio.c: Likewise.
f19dbdb7 29014
d9864ee1 29015 * kern/file.c (grub_file_close): Call grub_device_close only if
29016 FILE->DEVICE is not NULL.
29017
29018 * include/grub/mm.h [!NULL] (NULL): New macro.
29019
29020 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
29021
29022 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
29023 (pkgdata_MODULES): Added gzio.mod.
29024 (gzio_mod_SOURCES): New variable.
29025 (gzio_mod_CFLAGS): Likewise.
29026
29027 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
29028 (pkgdata_MODULES): Added gzio.mod.
29029 (gzio_mod_SOURCES): New variable.
29030 (gzio_mod_CFLAGS): Likewise.
29031
29032 * commands/cat.c: Include grub/gzio.h.
29033 (grub_cmd_cat): Use grub_gzfile_open instead of
29034 grub_file_open.
f19dbdb7 29035
d9864ee1 29036 * commands/cmp.c: Include grub/gzio.h.
29037 (grub_cmd_cmp): Use grub_gzfile_open instead of
29038 grub_file_open.
29039
29040 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
29041 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
29042 grub_file_open.
29043 (grub_rescue_cmd_module): Likewise.
29044
fa46f4b5 290452005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29046
29047 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
29048 kern/sparc64/ieee1275/init.c because it contains _start.
29049 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
29050
e9211b5d 290512005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29052
29053 * configure.ac: Add support for sparc64 host with ieee1275
29054 firmware.
29055 * configure: Generated from configure.ac.
29056 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
29057 instead of int.
29058 (grub_ofdisk_read): Likewise.
29059 (grub_ofdisk_open): Use %p to print pointer values, and cast the
29060 pointers as (void *) to remove a warning.
29061 (grub_ofdisk_close): Likewise.
29062 (grub_ofdisk_read): Likewise.
29063 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
29064 returns, so make it return void to remove a warning.
29065 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
29066 Corresponding prototype change.
29067 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
29068 values, and cast the pointers as (void *) to remove a warning.
29069 (grub_mm_dump): Likewise.
29070 * conf/sparc64-ieee1275.mk: New file.
29071 * conf/sparc64-ieee1275.rmk: Likewise.
29072 * include/grub/sparc64/setjmp.h: Likewise.
29073 * include/grub/sparc64/types.h: Likewise.
29074 * include/grub/sparc64/ieee1275/console.h: Likewise.
29075 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29076 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29077 * include/grub/sparc64/ieee1275/time.h: Likewise.
29078 * kern/sparc64/cache.c: Likewise.
29079 * kern/sparc64/dl.c: Likewise.
29080 * kern/sparc64/ieee1275/init.c: Likewise.
29081 * kern/sparc64/ieee1275/openfw.c: Likewise.
29082
385c6a92 290832005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
29084
29085 * util/console.c (grub_ncurses_putchar): If C is greater than
29086 0x7f, set C to a question mark.
29087 (grub_ncurses_getcharwidth): New function.
29088 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
29089 getcharwidth.
29090
29091 * normal/menu.c (print_entry): Made aware of Unicode. First,
29092 convert TITLE to UCS-4, and predict the cursor position by
29093 grub_getcharwidth.
29094
29095 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
29096 const to SRC.
29097 * kern/misc.c (grub_utf16_to_utf8): Likewise.
29098
16ccb8b1 290992005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29100
29101 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
29102 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29103 grub_strcat.
29104
29105 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
29106 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29107 grub_strcpy and grub_strlen. Take it into account that a space
29108 character is inserted as a delimiter.
29109
6a85ce79 291102005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29111
29112 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 29113 invalid magic in the error.
6a85ce79 29114
29115 * commands/search.c: New file.
f19dbdb7 29116
6a85ce79 29117 * util/grub-emu.c (main): Call grub_search_init and
29118 grub_search_fini.
29119
29120 * kern/rescue.c (grub_rescue_print_disks): Removed.
29121 (grub_rescue_print_devices): New function.
29122 (grub_rescue_cmd_ls): Use grub_device_iterate with
29123 grub_rescue_print_devices instead of grub_disk_dev_iterate with
29124 grub_rescue_print_disks.
29125
29126 * kern/partition.c (grub_partition_iterate): Return the result of
29127 PARTMAP->ITERATE instead of GRUB_ERRNO.
29128
29129 * kern/device.c: Include grub/partition.h.
29130 (grub_device_iterate): New function.
29131
29132 * include/grub/partition.h (grub_partition_iterate): Return int
29133 instead of grub_err_t.
29134
29135 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
29136 prototype.
29137 [GRUB_UTIL] (grub_search_fini): Likewise.
29138
29139 * include/grub/device.h (grub_device_iterate): New prototype.
29140
29141 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29142 commands/search.c.
29143 (pkgdata_MODULES): Added search.mod.
29144 (search_mod_SOURCES): New variable.
29145 (search_mod_CFLAGS): Likewise.
29146
29147 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
29148 (pkgdata_MODULES): Added search.mod.
29149 (search_mod_SOURCES): New variable.
29150 (search_mod_CFLAGS): Likewise.
29151
29152 * commands/ls.c (grub_ls_list_disks): Renamed to ...
29153 (grub_ls_list_devices): ... this, and use grub_device_iterate.
29154 All callers changed.
29155
29156 * DISTLIST: Added commands/search.c.
29157
ef095434 291582005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29159
29160 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
29161 conversion.
29162 (grub_getcharwidth): New function.
29163
29164 * kern/misc.c (grub_utf8_to_ucs4): New function.
29165
29166 * include/grub/term.h (struct grub_term): Added a new member
29167 "getcharwidth".
29168 (grub_getcharwidth): New prototype.
29169
29170 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
29171
29172 * term/i386/pc/console.c (map_char): New function. Segregated from
29173 grub_console_putchar.
29174 (grub_console_putchar): Use map_char.
29175 (grub_console_getcharwidth): New function.
29176 (grub_console_term): Specified grub_console_getcharwidth as
29177 getcharwidth.
29178
29179 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
29180 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
29181
29182 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
29183 GRUB_ERRNO.
29184 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
29185 on grub_strtoul completely.
29186 (write_char): Declare local variables in the beginning of the
29187 function.
29188 (grub_vesafb_getcharwidth): New function.
29189 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
29190 getcharwidth.
29191
1f0a95e4 291922005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
29193
29194 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
29195 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
29196 commands/i386/pc/vbetest.c.
29197
29198 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
29199 call grub_vbe_get_controller_info again, because the returned
29200 information is volatile.
29201 (grub_vbe_set_video_mode): Mostly rewritten.
29202 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
29203 grub_vbe_status_t correctly.
29204 (grub_vbe_get_video_mode_info): Likewise.
29205 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
29206 several if statements.
29207
29208 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
29209 * commands/i386/pc/vbeinfo.c: ... this.
29210
29211 * commands/i386/pc/vbe_test.c: Renamed to ...
29212 * commands/i386/pc/vbetest.c: ... this.
29213
29214 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
29215 ...
29216 (grub_cmd_vbeinfo): ... this. Save video modes before
29217 iterating. Skip a video mode, if it is not available, not enough
29218 information is given or it is monochrome. Show the memory
29219 model. Leave the interpretation of MODEVAR to grub_strtoul
29220 completely.
29221 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
29222 (GRUB_MOD_FINI): Likewise.
29223
29224 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
29225 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
29226 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
29227 duplicated grub_env_get. Leave the interpretation of MODEVAR to
29228 grub_strtoul completely.
29229 (real2pm): Removed.
29230 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
29231 (GRUB_MOD_FINI): Likewise.
29232
29233 * normal/misc.c: Include grub/mm.h.
29234
29235 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
29236 vbe_list_modes with vbetest.mod and vbeinfo.mod.
29237 (vbe_list_modes_mod_SOURCES): Removed.
29238 (vbe_list_modes_mod_CFLAGS): Likewise.
29239 (vbe_test_mod_SOURCES): Likewise.
29240 (vbe_test_mod_CFLAGS): Likewise.
29241 (vbeinfo_mod_SOURCES): New variable.
29242 (vbeinfo_mod_CFLAGS): Likewise.
29243 (vbetest_mod_SOURCES): Likewise.
29244 (vbetest_mod_CFLAGS): Likewise.
29245
992ffbbe 292462005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
29247
29248 * normal/misc.c: New file.
29249
29250 * DISTLIST: Added normal/misc.c.
f19dbdb7 29251
992ffbbe 29252 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
29253 DISK to HOOK. Call HOOK with DISK.
29254 * partmap/apple.c (apple_partition_map_iterate): Likewise.
29255 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29256 * partmap/sun.c (sun_partition_map_iterate): Likewise.
29257
29258 * normal/menu_entry.c (struct screen): Added a new member
29259 "completion_shown".
29260 (completion_buffer): New global variable.
29261 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
29262 (store_completion): New function.
29263 (complete): Likewise.
29264 (clear_completions): Likewise.
29265 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
29266 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
29267 a tab, call complete.
29268
29269 * normal/completion.c (disk_dev): Removed.
29270 (print_simple_completion): Likewise.
29271 (print_partition_completion): Likewise.
29272 (print_func): New global variable.
29273 (add_completion): Do not take the arguments WHAT or PRINT any
29274 longer. Added a new argument TYPE. Instead of printing directly,
29275 call PRINT_FUNC if not NULL.
29276 All callers changed.
29277 (complete_device): Use a local variable DEV instead of
29278 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
29279 (grub_normal_do_completion): Take a new argument HOOK. Do not
29280 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
29281 empty string, return NULL instead.
29282 All callers changed.
29283
29284 * normal/cmdline.c (print_completion): New function.
29285
29286 * kern/partition.c (grub_partition_iterate): Add an argument DISK
29287 to HOOK.
29288 All callers changed.
29289
29290 * kern/disk.c (grub_print_partinfo): Removed.
29291
29292 * include/grub/partition.h (struct grub_partition_map): Add a new
29293 argument DISK into HOOK of ITERATE.
29294 (grub_partition_iterate): Add a new argument DISK to HOOK.
29295
29296 * include/grub/normal.h (enum grub_completion_type): New enum.
29297 (grub_completion_type_t): New type.
29298 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
29299 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
29300 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
29301 (GRUB_COMPLETION_TYPE_FILE): Likewise.
29302 (grub_normal_do_completion): Added a new argument HOOK.
29303 (grub_normal_print_device_info): New prototype.
29304
29305 * include/grub/disk.h (grub_print_partinfo): Removed.
29306
29307 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
29308 (normal_mod_SOURCES): Likewise.
29309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29310 (normal_mod_SOURCES): Likewise.
29311
29312 * commands/ls.c (grub_ls_list_disks): Use
29313 grub_normal_print_device_info instead of grub_print_partinfo. Free
29314 PNAME.
29315 (grub_ls_list_files): Use grub_normal_print_device_info instead of
29316 duplicating the code.
29317
0bd41162 293182005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
29319
29320 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 29321 follow GCS more precisely.
29322 * commands/i386/pc/vbe_test.c: Likewise.
29323 * include/grub/i386/pc/vbe.h: Likewise.
29324 * term/i386/pc/vesafb.c: Likewise.
29325 * video/i386/pc/vbe.c: Likewise.
0bd41162 29326
6323696a 293272005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
29328
29329 * DISTLIST: Added term/i386/pc/vesafb.c
29330 DISTLIST: Added video/i386/pc/vbe.c
29331 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
29332 DISTLIST: Added commands/i386/pc/vbe_test.c.
29333 * commands/i386/pc/vbe_list_modes.c: New file.
29334 * commands/i386/pc/vbe_test.c: Likewise.
29335 * term/i386/pc/vesafb.c: Likewise.
29336 * video/i386/pc/vbe.c: Likewise.
29337 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
29338 (grub_vbe_probe) Added prototype.
29339 (grub_vbe_set_video_mode) Likewise.
29340 (grub_vbe_get_video_mode) Likewise.
29341 (grub_vbe_get_video_mode_info) Likewise.
29342 (grub_vbe_set_pixel_rgb) Likewise.
29343 (grub_vbe_set_pixel_index) Likewise.
29344 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
29345 (pkgdata_MODULES): Added vesafb.mod.
29346 (pkgdata_MODULES): Added vbe_list_modes.mod.
29347 (pkgdata_MODULES): Added vbe_test.mod.
29348 (vbe_mod_SOURCES): Added.
29349 (vbe_mod_CFLAGS): Likewise.
29350 (vesafb_mod_SOURCES): Likewise.
29351 (vesafb_mod_CFLAGS): Likewise.
29352 (vbe_list_modes_mod_SOURCES): Likewise.
29353 (vbe_list_modes_mod_CFLAGS): Likewise.
29354 (vbe_test_mod_SOURCES): Likewise.
29355 (vbe_test_mod_CFLAGS): Likewise.
29356
0a74e62f 293572005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
29358
0a74e62f 29359 * normal/command.c (grub_command_execute): If INTERACTIVE is
29360 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
29361 CMDLINE. Disable the pager if INTERACTIVE is true.
29362 All callers are changed.
29363
29364 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
29365 before reading a config file.
29366 * normal/main.c (read_config_file): Even if a command is not
29367 found, register it if it is within an entry.
29368
29369 * util/grub-emu.c: Include sys/types.h and unistd.h.
29370 (options): Added --hold.
29371 (struct arguments): Added a new member "hold".
29372 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
29373 missing.
29374 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
29375 cleared by a debugger, if it is not zero.
29376
29377 * include/grub/normal.h (grub_command_execute): Add an argument
29378 INTERACTIVE.
29379
e51f85ae 293802005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
29381
29382 * DISTLIST: Added include/grub/i386/pc/vbe.h.
29383
e9c6f39b 293842005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
29385
29386 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
29387 program with another one, because the old one didn't detect a bug
29388 in gcc-3.4. Always use regparm 2, because the new test is still
29389 not enough for gcc-4.0. Someone must investigate a simple test
29390 case which detects a bug in gcc-4.0.
29391
8de3495c 293922005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
29393
29394 * DISTLIST: Added normal/completion.c.
29395
29396 * normal/completion.c: New file.
f19dbdb7 29397
8de3495c 29398 * term/i386/pc/console.c (grub_console_getwh): New function.
29399 (grub_console_term): Assign grub_console_getwh to getwh.
29400
29401 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
29402 function is defined in normal/completion.c as
29403 grub_normal_do_completion.
29404 (grub_cmdline_get): Use grub_normal_do_completion instead of
29405 grub_tab_complete.
29406
29407 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
29408 returns non-zero, otherwise return 0.
29409 (grub_partition_iterate): First, probe the partition map. Then,
29410 call ITERATE only for this partition map.
29411
29412 * kern/misc.c (grub_strncmp): Rewritten.
29413
29414 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
29415 returns non-zero. Otherwise return 0.
29416
29417 * include/grub/partition.h (grub_partition_map_iterate): Return
29418 int instead of void.
29419
29420 * include/grub/normal.h (grub_normal_do_completion): New prototype.
29421
29422 * include/grub/misc.h (grub_strncmp): Change the type of N to
29423 grub_size_t.
29424
29425 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
29426 of void.
29427
29428 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 29429 unsigned explicitly before comparing it with I.
8de3495c 29430
29431 * kern/main.c (grub_env_write_root): Add the attribute unused into
29432 VAR.
29433
29434 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29435 normal/completion.c.
29436 (normal_mod_SOURCES): Likewise.
29437 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29438 (normal_mod_SOURCES): Likewise.
29439
29440 * normal/command.c (grub_iterate_commands): If ITERATE returns
29441 non-zero, return one immediately.
29442
e85e144b 294432005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
29444
29445 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
29446 * kern/i386/pc/startup.S: Updated Global Descriptor table's
29447 descriptions.
29448 (grub_vbe_get_controller_info): New function.
29449 (grub_vbe_get_mode_info): Likewise.
29450 (grub_vbe_set_mode): Likewise.
29451 (grub_vbe_get_mode): Likewise.
29452 (grub_vbe_set_memory_window): Likewise.
29453 (grub_vbe_get_memory_window): Likewise.
29454 (grub_vbe_set_scanline_length): Likewise.
29455 (grub_vbe_get_scanline_length): Likewise.
29456 (grub_vbe_set_display_start): Likewise.
29457 (grub_vbe_get_display_start): Likewise.
29458 (grub_vbe_set_palette_data): Likewise.
29459 * include/grub/i386/pc/vbe.h: New file.
29460
c46153d2 294612005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29462
29463 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
29464 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
29465 * DISTLIST: Likewise.
29466 * kern/ieee1275/of.c: Moved to ...
29467 * kern/ieee1275/ieee1275.c: ... here.
29468
0cb90c45 294692005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29470
29471 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
29472 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
29473 Pass 0 as `end' parameter to grub_strtoul().
29474
a19fb360 294752005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29476
29477 * include/grub/powerpc/ieee1275/console.h: Do not include
29478 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
29479 ifdef.
29480 (grub_console_cur_color): Remove i386-specific prototype.
29481 (grub_console_real_putchar): Likewise.
29482 (grub_console_checkkey): Likewise.
29483 (grub_console_getkey): Likewise.
29484 (grub_console_getxy): Likewise.
29485 (grub_console_gotoxy): Likewise.
29486 (grub_console_cls): Likewise.
29487 (grub_console_setcursor): Likewise.
29488 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
29489 Include <grub/machine/console.h>.
29490 * term/ieee1275/ofconsole.c: Likewise.
29491
4ac9bd04 294922005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
29493
29494 * Makefile.in (LIBLZO): New variable.
29495
29496 * configure.ac: Check for LZO version 2.
29497
29498 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
29499 lzo/lzo1x.h instead of lzo1x.h.
29500
29501 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
29502 of -llzo.
29503
29504 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
29505 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
29506
29507 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
29508 copying the data from PARTITION to P.
29509
f4917dfd 295102005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29511
29512 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
29513 negative, unload the module.
29514
29515 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
29516 map is "pc_partition_map" but not "pc".
29517 (usage): Fix the description. The options are --boot-image and
29518 --core-image but not --boot-file or --core-file.
29519 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
29520 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
29521 DEFAULT_DIRECTORY.
29522
29523 * util/i386/pc/grub-install.in: Do not specify --boot-file or
29524 --core-file. Specify INSTALL_DEVICE as an argument.
29525
29526 * util/console.c: Include config.h.
29527 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
29528 [HAVE_NCURSES_H]: Include ncurses.h.
29529 [HAVE_CURSES_H]: Include curses.h.
29530 [!A_NORMAL] (A_NORMAL): Defined as zero.
29531 [!A_STANDOUT] (A_STANDOUT): Likewise.
29532
29533 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
29534 -lncurses.
29535 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
29536
29537 * configure.ac: Check for curses libraries and headers.
29538
29539 * Makefile.in (LIBCURSES): New variable.
29540
29541 * genmk.rb (Script::rule): Set the executable bits.
29542
29543 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
29544 name of the PC partition map is "pc_partition_map" but not "pc".
29545
0e143073 295462005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29547
29548 * util/i386/pc/grub-install.in (grub_probefs): New variable.
29549 (modules): Likewise.
29550 (usage): Added descriptions for --modules and --grub-probefs.
29551 Handle --modules and --grub-probefs. Save the arguments in MODULES
29552 and GRUB_PROBEFS, respectively.
29553 Auto-detect a filesystem module against GRUBDIR. If the result is
29554 empty and modules are not specified explicitly, abort the
29555 installation. Add the result to MODULES.
29556
29557 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
29558 disk/powerpc/ieee1275/ofdisk.c,
29559 include/grub/powerpc/ieee1275/init.h and
29560 term/powerpc/ieee1275/ofconsole.c.
29561 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
29562 term/ieee1275/ofconsole.c.
29563
29564 * include/grub/powerpc/ieee1275/console.h: Resurrected.
29565
29566 * COPYING: Upgraded to the latest version. Only the address of the
29567 FSF office has changed.
f19dbdb7 29568
efd6e6d5 295692005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29570
29571 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
29572 kern/ieee1275.c with kern/ieee1275/of.c.
29573
29574 * kern/ieee1275.c: Moved to ...
29575 * kern/ieee1275/of.c: ... here.
29576
8ceafda2 295772005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
29578
29579 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 29580 readability.
8ceafda2 29581
29582 * config.guess: Updated to the latest version from gnulib.
29583 * config.sub: Likewise.
29584 * install.sh: Likewise.
29585 * mkinstalldirs: Likewise.
29586
29587 * include/grub/console.h: Removed. This file is arch-specific. Do
29588 not put this in include/grub.
29589
29590 * include/grub/i386/pc/console.h: Resurrected.
29591
29592 * util/console.c: Include grub/machine/console.h instead of
29593 grub/console.h.
29594 * util/grub-emu.c: Likewise.
29595
267f6cd9 295962005-08-04 Marco Gerards <metgerards@student.han.nl>
29597
29598 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
29599 hardcoded value.
f19dbdb7 29600
267f6cd9 29601 From Vincent Pelletier <subdino2004@yahoo.fr>
29602 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
29603 Redefined to use grub_getwh.
29604 (grub_term): New member named getwh.
29605 (grub_getwh): New prototype.
29606 * kern/term.c (grub_getwh): New function.
29607 * term/i386/pc/console.c (grub_console_getwh): New function.
29608 (grub_console_term): New member `getwh'.
29609 * term/i386/pc/vga.c (grub_vga_getwh): New function.
29610 (grub_vga_term): New member `getwh'.
0b5abe02 29611 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 29612 grub_ssize_t.
29613 (grub_ofconsole_getw): New function.
29614 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
29615 (grub_ofconsole_term): New field named getwh and new initial
29616 value.
29617
3be7266d 296182005-08-03 Hollis Blanchard <hollis@penguinppc.org>
29619
29620 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
29621 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
29622 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
29623 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
29624 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
29625 of <grub/machine/ieee1275.h>.
29626 * commands/ieee1275/reboot.c: Likewise.
29627 * boot/powerpc/ieee1275/ieee1275.c: Move ...
29628 * kern/ieee1275.c: ... to here. All users updated. Change all
29629 parameter structs to use new type `grub_ieee1275_cell_t'.
29630 * term/powerpc/ieee1275/ofconsole.c: Move ...
29631 * term/ieee1275/ofconsole.c: ... to here. All users updated.
29632 * disk/powerpc/ieee1275/ofdisk.c: Move ...
29633 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
29634 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
29635 to return int.
29636 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
29637 Remove unused prototypes. All users updated.
29638 * include/grub/powerpc/ieee1275/console.h: Removed.
29639 * include/grub/powerpc/ieee1275/ieee1275.h: Define
29640 `grub_ieee1275_cell_t'.
29641 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
29642 Cast comparisons with -1 to the correct type.
29643 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
29644 type to match `grub_ieee1275_entry_fn'.
29645
8b5f3938 296462005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
29647
29648 * DISTLIST: Added util/i386/pc/grub-probefs.c.
29649
29650 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
29651 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
29652 partmap/sun.c.
29653 (grub_probefs_SOURCES): New variable.
29654
29655 * util/i386/pc/grub-probefs.c: New file.
29656
29657 * util/i386/pc/grub-setup.c (main): Call
29658 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
29659 grub_hfs_init and grub_jfs_init to initialize the system. Call
29660 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
29661 grub_pc_partition_map_fini to finish the system.
29662
ea409713 296632005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
29664
29665 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
29666 function.
29667 (grub_multiboot_load_elf32): Likewise.
29668 (grub_multiboot_is_elf64): Likewise.
29669 (grub_multiboot_load_elf64): Likewise.
29670 (grub_multiboot_load_elf): Likewise.
29671 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
29672 an ELF32 or ELF64 file.
29673 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
29674
29675 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
29676 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
29677 NULL before calling FS->LABEL.
29678 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
29679 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
29680 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
29681 before calling FS->LABEL.
29682
141a288b 296832005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
29684
29685 * util/i386/pc/grub-install.in (datadir): New variable.
29686 (libdir): Removed.
29687 (pkgdatadir): New variable.
29688 (pkglibdir): Removed.
29689
0d5f8a54 296902005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
29691
29692 * DISTLIST: Added util/i386/pc/grub-install.in.
29693
29694 * util/i386/pc/grub-install.in: New file.
29695
29696 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
29697 (grub_install_SOURCES): Likewise.
29698
29699 * genmk.rb: Added support for scripts.
29700 (Script): New class.
29701 (scripts): New variable.
29702
29703 * Makefile.in (install-local): Install sbin_SCRIPTS by
29704 INSTALL_SCRIPT.
29705 (uninstall): Remove sbin_SCRIPTS.
29706
29707 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
29708 device, try to get a GRUB device by
29709 grub_util_biosdisk_get_grub_dev.
29710 Free DEST_DEV.
29711
29712 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
29713 description for --device-map.
29714
5f968e1e 297152005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
29716
29717 Change the semantics of variable hooks. They now return strings
29718 instead of error values.
f19dbdb7 29719
5f968e1e 29720 * util/i386/pc/grub-setup.c: Include grub/env.h.
29721 (setup): Use grub_device_set_root instead of grub_env_set.
29722
29723 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
29724 grub_env_get instead of grub_device_set_root and
29725 grub_device_get_root, respectively.
29726
29727 * kern/main.c (grub_env_write_root): New function.
29728 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
29729 grub_env_set instead of grub_device_set_root.
29730
29731 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
29732 many variables.
29733 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
29734 rather than calling ENV->WRITE_HOOK afterwards.
29735 (grub_env_get): Return the result of ENV->READ_HOOK rather than
29736 passing a pointer of a pointer.
29737 (grub_register_variable_hook): Change the types of "read_hook" and
29738 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
29739 respectively.
29740 Allocate the default empty string on the heap, because this string
29741 may be freed later.
29742
29743 * kern/device.c: Include grub/env.h.
29744 (grub_device_set_root): Removed.
29745 (grub_device_get_root): Likewise.
29746 (grub_device_open): Use grub_env_get instead of
29747 grub_device_get_root.
29748
29749 * include/grub/env.h (grub_env_read_hook_t): New type.
29750 (grub_env_write_hook_t): Likewise.
29751 (grub_env_var): Change the types of "read_hook" and "write_hook"
29752 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
29753 (grub_register_variable_hook): Likewise.
29754
29755 * include/grub/device.h (grub_device_set_root): Removed.
29756 (grub_device_set_root): Likewise.
29757
29758 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
29759 make sure that DIRNAME terminates with '/', so that
29760 grub_fat_find_dir will fail if PATH is not a directory.
29761
29762 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
29763 from DIRNAME.
29764 Use the qualifier auto for print_files and print_files_long.
29765 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
29766 as a regular file.
29767 Put a newline only if there is no error.
29768 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
29769 used.
29770
896f0afd 297712005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
29772
29773 * kern/partition.c (grub_partition_probe): Initialize PART to
29774 NULL. Otherwise, when no partition map is registered, this returns
29775 a garbage.
29776
b28b81b2 297772005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
29778
29779 * partmap/apple.c (apple_partition_map_iterate): Check if POS
29780 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
29781 valid.
29782
5f3607e0 297832005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
29784
29785 * commands/ls.c (grub_ls_list_disks): Print the filesystem
29786 information on each device, if it does not have partitions. Print
29787 "Device" instead of "Disk", because this function is not specific
29788 to disk devices.
29789
29790 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
29791 static to ensure that it is put on the memory rather than a
29792 register.
29793
502c87e8 297942005-07-17 Yoshinori Okuji <okuji@enbug.org>
29795
29796 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
29797 (grub_cat_init): Likewise.
29798 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
29799 (options): Likewise.
29800 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
29801 (grub_configfile_init): Likewise.
29802 * font/manager.c (GRUB_MOD_INIT): Likewise.
29803 * commands/help.c (GRUB_MOD_INIT): Likewise.
29804 (grub_help_init): Likewise.
29805 * normal/command.c (grub_command_init): Likewise.
29806 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
29807 * disk/loopback.c (grub_loop_init): Likewise.
29808 (GRUB_MOD_INIT): Likewise.
29809 * commands/ls.c (grub_ls_init): Likewise.
29810 (GRUB_MOD_INIT): Likewise.
29811 (options): Likewise.
29812 * commands/boot.c (grub_boot_init): Likewise.
29813 (GRUB_MOD_INIT): Likewise.
29814 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
29815 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
29816 (GRUB_MOD_INIT): Likewise.
29817 * commands/cmp.c (grub_cmp_init): Likewise.
29818 (GRUB_MOD_INIT): Likewise.
29819
29820 * normal/arg.c: Use <> instead of "" to include header files.
29821 (SHORT_ARG_HELP): New macro.
29822 (SHORT_ARG_USAGE): Likewise.
29823 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
29824 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
29825 descriptions.
29826 (find_short): Check if C is 'h' or 'u' explicitly.
29827 (grub_arg_show_help): Use space characters instead of tabs. Treat
29828 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
29829 are shown with --help and --usage only if they are not used for
29830 the command itself.
29831 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
29832 'h' and 'u'.
29833
29834 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
29835 const into "longarg". Change the type of "shortarg" to int.
29836
f806d18e 298372005-07-17 Yoshinori Okuji <okuji@enbug.org>
29838
29839 * boot/i386/pc/boot.S (boot_drive_check): New label.
29840
29841 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
29842 macro.
29843
29844 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
29845 which do not pass a boot drive correctly. Copied from GRUB Legacy.
29846
e293232b 298472005-07-17 Yoshinori Okuji <okuji@enbug.org>
29848
29849 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
29850 When turning off Gate A20, skip the check and return immediately,
29851 because this is not fatal usually.
29852
ebedfd00 298532005-07-17 Yoshinori Okuji <okuji@enbug.org>
29854
29855 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
29856 be 0x7C00 instead of 0x8000.
29857
29858 * boot/i386/pc/pxeboot.S: Rewritten.
29859
29860 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
29861 EXT_C.
29862 (gate_a20_check_state): Read a byte from 0x108000. Invert the
29863 result.
29864
654fc59f 298652005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
29866
29867 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
29868 robustness. This routine now supports a BIOS call and System
29869 Control Port A to modify the gate A20.
29870
29871 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29872 Increased to 0x440.
29873
09f9923f 298742005-07-12 Hollis Blanchard <hollis@penguinppc.org>
29875
29876 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
29877 device path and resulting ihandle.
29878 (grub_ofdisk_close): dprintf the ihandle being closed.
29879 (grub_ofdisk_read): dprintf function parameters.
29880 * kern/mm.c (grub_mm_init_region): Likewise.
29881 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
29882 (grub_linux_boot): dprintf the Linux entry point, initrd address and
29883 size, and boot arguments.
29884 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
29885 before loading into memory.
29886 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
29887 before loading into memory.
29888
7ef504d8 298892005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
29890
29891 * kern/mm.c: Added much documentation.
29892 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
29893 8, set to 5 instead of 8.
29894
e0f050c2 298952005-07-10 Yoshinori Okuji <okuji@enbug.org>
29896
29897 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
29898
29899 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
29900 (grub_mkdevicemap_SOURCES): New variable.
29901
29902 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
29903 lib/device.c of GRUB Legacy.
29904
7224189a 299052005-07-10 Yoshinori Okuji <okuji@enbug.org>
29906
29907 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
29908 instead of PATH is NULL.
29909
68c864eb 299102005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
29911
29912 * commands/cmp.c (BUFFER_SIZE): New macro.
29913 (grub_cmd_cmp): Close the right file at the right time. Compare
29914 only data just read. Don't report files of different size as
29915 identical. Dynamically allocate buffers. Move variable
29916 declarations at the beginning of function.
29917
e6f3e614 299182005-07-09 Yoshinori Okuji <okuji@enbug.org>
29919
29920 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
29921 reverse.
29922
f8f1559a 299232004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
29924
29925 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
29926 when backspace is pressed at beginning of line.
29927
39c9d41d 299282005-07-03 Yoshinori Okuji <okuji@enbug.org>
29929
29930 * DISTLIST: Added genfslist.sh.
29931
29932 * normal/main.c (fs_module_list): New variable.
29933 (autoload_fs_module): New function.
29934 (read_fs_list): Likewise.
29935 (grub_normal_execute): Call read_fs_list.
29936
29937 * kern/fs.c (grub_fs_autoload_hook): New variable.
29938 (grub_fs_probe): Added support for auto-loading.
29939
29940 * include/grub/normal.h (struct grub_fs_module_list): New struct.
29941 (grub_fs_module_list_t): New type.
29942
29943 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
29944 (grub_fs_autoload_hook): New prototype.
29945
29946 * genfslist.sh: New file.
f19dbdb7 29947
39c9d41d 29948 * genmk.rb: Added a rule to generate a filesystem list.
29949
121c1d83 299502005-06-30 Marco Gerards <metgerards@student.han.nl>
29951
29952 * configure.ac: Fix the test for cross-compiling.
29953
29954 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
29955 define GRUB_UTIL anymore.
29956
29957 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
29958 so this function works on other systems than just big endian.
29959 (load_modules): Likewise.
29960 (add_segments): Likewise.
29961
e75d76e1 299622005-06-23 Hollis Blanchard <hollis@penguinppc.org>
29963
29964 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
29965 contains `l' modifier, get a long from va_arg().
29966
50b5a0a7 299672005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
29968
29969 * kern/mm.c (grub_free): If the next free block which is being
29970 merged is the first free block, set the first block to the block
29971 being freed.
29972 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
29973
89371b20 299742005-05-08 Hollis Blanchard <hollis@penguinppc.org>
29975
29976 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
29977 `grub_ieee1275_chosen'.
29978
168d6e58 299792005-05-08 Hollis Blanchard <hollis@penguinppc.org>
29980
29981 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
29982 (grub_ieee1275_chosen): New variable.
29983 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
29984 `chosen'.
29985 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
29986 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
29987 Rename first argument to `phandle' for consistency.
29988 (grub_ieee1275_get_property_length): Likewise.
29989 (grub_ieee1275_next_property): Likewise. Change type of first argument
29990 to grub_ieee1275_phandle_t.
29991 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
29992 Move export next to declaration.
29993 (grub_ieee1275_chosen): New variable.
29994 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
29995 Correct cosmetic typo.
29996 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
29997 `grub_ieee1275_chosen'.
29998 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
29999 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
30000 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
30001 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
30002 `grub_ieee1275_chosen'.
30003
ca5baa3f 300042005-05-10 Hollis Blanchard <hollis@penguinppc.org>
30005
30006 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
30007 /chosen/bootargs.
30008 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
30009 /chosen/bootargs as "variable=value" pairs.
30010
708b345f 300112005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
30012
30013 * include/grub/misc.h (grub_dprintf): New macro.
30014 (grub_real_dprintf): New prototype.
30015 (grub_strword): Likewise.
30016 (grub_iswordseparator): Likewise.
30017 * kern/misc.c (grub_real_dprintf): New function.
30018 (grub_strword): Likewise.
30019 (grub_iswordseparator): Likewise.
30020
f4c5e67c 300212005-04-30 Hollis Blanchard <hollis@penguinppc.org>
30022
30023 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
30024 (roundup): Remove macro.
30025 (grub_ieee1275_flags): Make static.
30026 (grub_ieee1275_realmode): Remove.
30027 (grub_ieee1275_test_flag): New function.
30028 (grub_ieee1275_set_flag): Likewise.
30029 (find_options): Rename to `grub_ieee1275_find_options'; update
30030 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
30031 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
30032 (cmain): New prototype.
30033 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
30034 `grub_ieee1275_flags' directly.
30035 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
30036 machine/biosdisk.h.
30037 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
30038 Don't include grub/machine/init.h.
30039 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
30040 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
30041 Remove prototype.
30042 (grub_ieee1275_realmode): Likewise.
30043 (grub_ieee1275_flag): New enum.
30044 (grub_ieee1275_test_flag): New prototype.
30045 (grub_ieee1275_set_flag): New prototype.
30046 * include/grub/powerpc/ieee1275/init.h: Remove file.
30047 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
30048 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
30049 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
30050 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
30051 comment.
30052 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
30053 `grub_ieee1275_test_flag'.
30054 (grub_ieee1275_encode_devname): Likewise.
30055
ed16607e 300562005-04-21 Hollis Blanchard <hollis@penguinppc.org>
30057
30058 * include/grub/powerpc/ieee1275/ieee1275.h
30059 (grub_ieee1275_encode_devname): New prototype.
30060 (grub_ieee1275_get_filename): Likewise.
30061 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
30062 function.
30063 (grub_set_prefix): Likewise.
30064 (grub_machine_init): Call grub_set_prefix.
30065 * kern/powerpc/ieee1275/openfw.c: Fix typos.
30066 (grub_parse_type): New enum.
30067 (grub_ieee1275_get_devargs): New function.
30068 (grub_ieee1275_get_devname): Likewise.
30069 (grub_ieee1275_parse_args): Likewise.
30070 (grub_ieee1275_get_filename): Likewise.
30071 (grub_ieee1275_encode_devname): Likewise.
30072
be369920 300732005-03-30 Marco Gerards <metgerards@student.han.nl>
30074
30075 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
30076 `grub_loader_unset'.
30077
a5ce3a4a 300782005-03-26 Hollis Blanchard <hollis@penguinppc.org>
30079
30080 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
30081 instead of grub_ieee1275_interpret.
30082 (grub_halt_init): New function.
30083 (grub_halt_fini): Likewise.
30084 (GRUB_MOD_INIT): Correct message grammar.
30085 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
30086 instead of grub_ieee1275_interpret.
30087 (grub_reboot_init): New function.
30088 (grub_reboot_fini): Likewise.
30089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
30090 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
30091 util/i386/pc/misc.c with commands/ieee1275/halt.c,
30092 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
30093 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
30094 function.
30095 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
30096 Add prototype.
30097 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
30098 prototype.
30099 (grub_halt): Likewise.
30100 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
30101 (cmain): Remove __attribute__((unused)).
30102 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
30103 (grub_heap_len): Likewise.
30104 (grub_machine_fini): New function.
30105 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
30106 (grub_halt): Likewise.
30107 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
30108 function.
30109 * util/powerpc/ieee1275/misc.c: New file.
30110
0058f771 301112005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30112
30113 * DISTLIST: New file.
30114 * gendistlist.sh: Likewise.
f19dbdb7 30115
0058f771 30116 * Makefile.in (COMMON_DISTFILES): Removed.
30117 (BOOT_DISTFILES): Likewise.
30118 (CONF_DISTFILES): Likewise.
30119 (DISK_DISTFILES): Likewise.
30120 (FS_DISTFILES): Likewise.
30121 (INCLUDE_DISTFILES): Likewise.
30122 (KERN_DISTFILES): Likewise.
30123 (LOADER_DISTFILES): Likewise.
30124 (TERM_DISTFILES): Likewise.
30125 (UTIL_DISTFILES): Likewise.
30126 (DISTFILES): Likewise.
30127 (uninstall): Uninstall files in $(pkgdata_DATA).
30128 (DISTLIST): New target.
30129 (distdir): Use the contents of the file DISTLIST to get a list of
30130 distributed files.
30131
46b3b8a5 301322005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30133
30134 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
30135 descriptor. This is ported from GRUB Legacy.
30136
30137 * gencmdlist.sh: Added an extra semicolon to make it work with
30138 old sed versions. Reported by Robert Bihlmeyer
30139 <robbe@orcus.priv.at>.
30140
5822ff87 301412005-03-08 Yoshinori Okuji <okuji@enbug.org>
30142
30143 Automatic loading of commands is supported.
f19dbdb7 30144
5822ff87 30145 * normal/main.c (read_command_list): New function.
30146 (grub_normal_execute): Call read_command_list.
30147
30148 * normal/command.c (grub_register_command): Return zero or CMD.
30149 Allocate CMD->NAME from the heap.
30150 Initialize CMD->MODULE_NAME to zero.
30151 Find the same name as well. If the same command is found and it is
30152 a dummy command, overwrite members. If it is not a dummy command,
30153 return zero.
30154 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
30155 (grub_command_find): If a dummy command is found, load a module
30156 and retry to find a command only once.
30157
30158 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
30159 make sure that each command is loaded.
30160
30161 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
30162 macro.
30163 (struct grub_command): Remove const from the member `name'.
30164 Add a new member `module_name'.
30165 (grub_register_command): Return grub_command_t.
30166
30167 * commands/help.c (grub_cmd_help): Call grub_command_find to make
30168 sure that each command is loaded.
30169
30170 * genmk.rb (PModule::rule): Specify a module name without the
30171 suffix ".mod" to gencmdlist.sh.
30172
7b1f4b57 301732005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30174
30175 * gencmdlist.sh: New file.
f19dbdb7 30176
7b1f4b57 30177 * genmk.rb (PModule::rule): Generate a rule for a command list.
30178 Clean command.lst.
30179 Generate command.lst from $(COMMANDFILES).
30180
30181 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
30182 (DATA): Added $(pkgdata_DATA).
30183 (install-local): Install files in $(pkgdata_DATA).
30184
062aaf39 301852005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30186
30187 * term/i386/pc/vga.c (debug_command): Removed.
30188 (GRUB_MOD_INIT): Do not register the command "debug".
30189
30190 From Hollis Blanchard:
30191 * commands/configfile.c: New file.
30192 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30193 commands/configfile.c.
30194 (pkgdata_MODULES): Added configfile.mod.
30195 (configfile_mod_SOURCES): New variable.
30196 (configfile_mod_CFLAGS): Likewise.
30197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30198 commands/configfile.c.
30199 (pkgdata_MODULES): Added configfile.mod.
30200 (configfile_mod_SOURCES): New variable.
30201 (configfile_mod_CFLAGS): Likewise.
30202 * util/grub-emu.c (main): Call grub_configfile_init and
30203 grub_configfile_fini.
30204 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
30205 prototype.
30206 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 30207
cee01aa6 302082005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30209
30210 * normal/arg.c (grub_arg_show_help): Do not show the bug report
30211 address.
30212
30213 * commands/help.c (grub_cmd_help): Do not print newlines after
30214 the last command in print_command_help.
30215
93f3a1d8 302162005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30217
30218 * commands/default.h: New file.
30219 * commands/timeout.h: Likewise.
30220 * normal/context.c: Likewise.
f19dbdb7 30221
93f3a1d8 30222 * util/misc.c: Do not include sys/times.h.
30223 Include sys/time.h and grub/machine/time.h.
30224 (grub_get_rtc): Rewritten with gettimeofday.
30225
30226 * util/grub-emu.c (main): Call grub_default_init and
30227 grub_timeout_init before grub_normal_init, and call
30228 grub_timeout_fini and grub_default_fini after grub_main.
30229
30230 * util/console.c (grub_ncurses_checkkey): Return the read
30231 character or -1.
30232
30233 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
30234 timeouts.
30235
30236 * normal/main.c (read_config_file): Push MENU. If this fails,
30237 print an error and wait for a user input.
30238 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
30239 If a menu is empty or an error occurs, pop MENU.
30240 (grub_normal_execute): Pop and free MENU after grub_menu_run
30241 returns.
30242
30243 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
30244
30245 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
30246 include time.h.
30247 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30248 without GRUB_UTIL.
30249 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
30250 time.h.
30251 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30252 without GRUB_UTIL.
30253
30254 * include/grub/normal.h (struct grub_menu_list): New struct.
30255 (grub_menu_list_t): New type.
30256 (struct grub_context): New struct.
30257 (grub_context_t): New type.
30258 (grub_register_command): Got rid of EXPORT_FUNC.
30259 (grub_unregister_command): Likewise.
30260 (grub_context_get): New prototype.
30261 (grub_context_get_current_menu): Likewise.
30262 (grub_context_push_menu): Likewise.
30263 (grub_context_pop_menu): Likewise.
30264 [GRUB_UTIL] (grub_default_init): Likewise.
30265 [GRUB_UTIL] (grub_default_fini): Likewise.
30266 [GRUB_UTIL] (grub_timeout_init): Likewise.
30267 [GRUB_UTIL] (grub_timeout_fini): Likewise.
30268
30269 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
30270 commands/timeout.c and normal/context.c.
30271 (pkgdata_MODULES): Added default.mod and timeout.mod.
30272 (normal_mod_SOURCES): Added normal/context.c.
30273 (default_mod_SOURCES): New variable.
30274 (default_mod_CFLAGS): Likewise.
30275 (timeout_mod_SOURCES): Likewise.
30276 (timeout_mod_CFLAGS): Likewise.
30277 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
30278 conf/i386-pc.rmk.
30279 (pkgdata_MODULES): Added default.mod and timeout.mod.
30280 (normal_mod_SOURCES): Added normal/context.c.
30281 (default_mod_SOURCES): New variable.
30282 (default_mod_CFLAGS): Likewise.
30283 (timeout_mod_SOURCES): Likewise.
30284 (timeout_mod_CFLAGS): Likewise.
30285
30286 * Makefile.in (all-local): Added $(MKFILES).
30287
4ed2e1dd 302882005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
30289
30290 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
30291 (grub_emu_SOURCES): Likewise.
30292 (pkgdata_MODULES): Add `sun.mod'.
30293 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
30294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30295 `partmap/sun.c'.
30296 (pkgdata_MODULES): Add `sun.mod'.
30297 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
30298 * include/grub/partition.h (grub_sun_partition_map_init): New
30299 prototype.
30300 (grub_sun_partition_map_fini): Likewise.
30301 * partmap/sun.c: New file.
30302 * util/grub-emu.c (main): Initialize and de-initialize the sun
30303 partitionmap support.
30304
4d4e372e 303052005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
30306
30307 This implements an Emacs-like menu entry editor.
f19dbdb7 30308
4d4e372e 30309 * normal/menu_entry.c: New file.
f19dbdb7 30310
4d4e372e 30311 * util/console.c (grub_ncurses_putchar): Translate some Unicode
30312 characters to ASCII.
30313 (saved_char): New variable.
30314 (grub_ncurses_checkkey): Rewritten completely.
30315 (grub_ncurses_getkey): Likewise.
30316 (grub_ncurses_init): Call raw instead of cbreak.
30317
30318 * normal/menu.c (print_entry): Do not put a space.
30319 (init_page): Renamed to ...
30320 (grub_menu_init_page): ... this. All callers changed.
30321 (edit_menu_entry): Removed.
30322 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
30323
30324 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
30325
30326 * kern/misc.c (grub_vprintf): Call grub_refresh.
30327
30328 * normal/menu.c (DISP_LEFT): Renamed to ...
30329 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
30330 * normal/menu.c (DISP_UP): Renamed to ...
30331 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
30332 * normal/menu.c (DISP_RIGHT): Renamed to ...
30333 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
30334 * normal/menu.c (DISP_DOWN): Renamed to ...
30335 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
30336 * normal/menu.c (DISP_HLINE): Renamed to ...
30337 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
30338 * normal/menu.c (DISP_VLINE): Renamed to ...
30339 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
30340 * normal/menu.c (DISP_UL): Renamed to ...
30341 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
30342 * normal/menu.c (DISP_UR): Renamed to ...
30343 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
30344 * normal/menu.c (DISP_LL): Renamed to ...
30345 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
30346 * normal/menu.c (DISP_LR): Renamed to ...
30347 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
30348 * normal/menu.c (TERM_WIDTH): Renamed to ...
30349 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
30350 * normal/menu.c (TERM_HEIGHT): Renamed to ...
30351 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
30352 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
30353 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
30354 * normal/menu.c (TERM_MARGIN): Renamed to ...
30355 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
30356 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
30357 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
30358 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
30359 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
30360 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
30361 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
30362 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
30363 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
30364 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
30365 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
30366 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
30367 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
30368 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
30369 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
30370 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
30371 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
30372 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
30373 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
30374 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
30375 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
30376 All callers changed.
30377
30378 * include/grub/normal.h: New prototype.
30379
30380 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30381 normal/menu_entry.c.
30382 (normal_mod_SOURCES): Likewise.
30383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30384 (normal_mod_SOURCES): Likewise.
30385
e6b92c8a 303862005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
30387
30388 * include/grub/normal.h (grub_halt_init): New prototype.
30389 (grub_halt_fini): Likewise.
30390 (grub_reboot_init): Likewise.
30391 (grub_reboot_fini): Likewise.
30392
30393 * util/grub-emu.c: Include signal.h.
30394 (main_env): New global variable.
30395 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
30396 catch C-c.
30397 (grub_machine_fini): New function.
30398 (main): Call grub_halt_init and grub_reboot_init before
30399 grub_main, and grub_reboot_fini and grub_halt_fini after it.
30400 Call setjmp with MAIN_ENV to go back afterwards.
30401 Call grub_machine_fini right before return.
30402
30403 * include/grub/util/misc.h: Include setjmp.h.
30404 (main_env): New prototype.
30405
30406 * include/grub/kernel.h (grub_machine_fini): New prototype.
30407 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
30408 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
30409
30410 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
30411 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
30412 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 30413
e6b92c8a 30414 * util/i386/pc/misc.c: New file.
f19dbdb7 30415
e6b92c8a 30416 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30417 util/i386/pc/misc.c, commands/i386/pc/halt.c and
30418 commands/i386/pc/reboot.c.
30419
c642636f 304202005-02-14 Guillem Jover <guillem@hadrons.org>
30421
30422 * include/grub/dl.h (grub_dl_check_header): New prototype.
30423 (grub_arch_dl_check_header): Change return type to grub_err_t,
30424 remove size parameter and export function. Update all callers.
30425 * kern/dl.c (grub_dl_check_header): New function.
30426 (grub_dl_load_core): Use `grub_dl_check_header' instead of
30427 `grub_arch_dl_check_header'. Check ELF type. Check if sections
30428 are inside the core.
30429 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
30430 independent ELF header checks.
30431 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
30432 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
30433 `grub_dl_check_header' instead of explicit checks. Check for the
30434 ELF type.
30435 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
30436 `grub_dl_check_header' instead of explicit checks. Remove arch
30437 specific ELF header checks.
30438
e6b92c8a 30439 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
30440 argument SIZE.
30441
5eabe94b 304422005-02-13 Hollis Blanchard <hollis@penguinppc.org>
30443
30444 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
30445 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
30446
1b14a681 304472005-02-12 Hollis Blanchard <hollis@penguinppc.org>
30448
30449 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 30450 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 30451 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 30452 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 30453 * partmap/amiga.c (amiga_partition_map_iterate): Return
30454 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
30455 * partmap/apple.c (apple_partition_map_iterate): Likewise.
30456
aca108aa 304572005-02-01 Guillem Jover <guillem@hadrons.org>
30458
30459 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
30460 help info.
30461
c9f9c556 304622005-01-31 Marco Gerards <metgerards@student.han.nl>
30463
30464 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
30465 Removed prototype.
30466 (grub_rescue_cmd_linux): New prototype.
30467 (grub_rescue_cmd_initrd): Likewise.
30468 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
30469 `bi_rec'.
30470 (grub_linux_release_mem): Release the memory for the initrd.
30471 (grub_load_linux): Renamed from this...
30472 (grub_rescue_cmd_linux): ...To this. Changed all callers.
30473 Changed `entry' not to be static. Loop over memory regions to
30474 find another one when the default fails.
30475 (grub_rescue_cmd_initrd): New function.
30476 (grub_linux_init): Remove function.
30477 (grub_linux_fini): Likewise.
30478 (GRUB_MOD_INIT): Register `initrd'.
30479 (GRUB_MOD_FINI): Unregister `initrd'.
30480 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
30481 Function removed.
30482 (grub_linux_normal_fini): Likewise.
30483 (GRUB_MOD_INIT): Register `initrd'.
30484 (GRUB_MOD_FINI): Unregister `initrd'.
30485
990cf3aa 304862005-01-31 Marco Gerards <metgerards@student.han.nl>
30487
30488 * commands/help.c: New file.
30489 * normal/arg.c (show_help): Renamed to...
30490 (grub_arg_show_help): ... this.
30491 * commands/i386/pc/halt.c: New file.
30492 * commands/i386/pc/reboot.c: Likewise.
30493 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
30494 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
30495 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
30496 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
30497 variables.
30498 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30499 `commands/help.c'.
30500 (pkgdata_MODULES): Add `help.mod'.
30501 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
30502 * grub/i386/pc/init.h (grub_reboot): New prototype.
30503 (grub_halt): Likewise.
30504 * include/grub/normal.h (grub_arg_show_help): New prototype.
30505 (grub_help_init): Likewise.
30506 (grub_help_fini): Likewise.
30507 * util/grub-emu.c (main): Initialize and deinitialize the help
30508 command.
30509
30510 * normal/cmdline.c (grub_cmdline_get): Doc fix.
30511
30512 * normal/command.c (grub_command_init): Fixed the description of
30513 the `set' and `unset' commands.
30514
305152005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 30516
30517 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
30518 function.
30519 * commands/ieee1275/halt.c: New file.
30520 * commands/ieee1275/reboot.c: Likewise.
30521 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
30522 `__attribute__ ((unused))'. Some GCS related fixed.
30523 (grub_suspend_init) [GRUB_UTIL]: Function removed.
30524 (grub_suspend_fini): Likewise.
30525 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
30526 and `halt.mod'.
30527 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
30528 (halt_mod_CFLAGS): New variables.
30529 * include/grub/powerpc/ieee1275/ieee1275.h
30530 (grub_ieee1275_interpret): New prototype.
30531
1ab09cc7 305322005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
30533
30534 * include/grub/misc.h (memmove): New prototype.
30535 (memcpy): Likewise.
30536
8b8cbdb2 305372005-01-22 Hollis Blanchard <hollis@penguinppc.org>
30538
30539 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
30540 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
30541
e3741a27 305422005-01-22 Marco Gerards <metgerards@student.han.nl>
30543
30544 * kern/misc.c (grub_strndup): Function rewritten.
30545
776bd780 305462005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
30547
30548 * normal/menu.c (TERM_WIDTH): Macro redefined.
30549 (TERM_TOP_BORDER_Y): Likewise.
30550 (draw_border): Replaced while-loop by a for-loop. Make the number
30551 of lines consistent with the number of lines displayed in
30552 print_entries. Added a margin below the rectangle.
30553 (print_entry): Make the entry fit in the rectangle.
30554 (print_entries): Display the scroll arrows next to the right
30555 border.
30556
78026bce 305572005-01-21 Marco Gerards <metgerards@student.han.nl>
30558
30559 * fs/minix.c (grub_minix_find_file): Reserve more space for
30560 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
30561 `grub_strncpy' to copy `path' into it.
30562
67bbaf0f 305632005-01-21 Marco Gerards <metgerards@student.han.nl>
30564
30565 Add the loopback device, a device via which files can be accessed
30566 as devices.
f19dbdb7 30567
67bbaf0f 30568 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
30569 (pkgdata_MODULES): Add loopback.mod.
30570 (loopback_mod_SOURCES): New variable.
30571 (loopback_mod_CFLAGS): Likewise.
30572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30573 `disk/loopback.c'.
30574 (pkgdata_MODULES): Add loopback.mod.
30575 (loopback_mod_SOURCES): New variable.
30576 (loopback_mod_CFLAGS): Likewise.
30577 * disk/loopback.c: new file.
30578 * include/grub/normal.h (grub_loop_init): New prototype.
30579 (grub_loop_fini): New prototype.
30580 * util/grub-emu.c (main): Initialize and de-initialize loopback
30581 support.
30582 * include/grub/disk.h (grub_disk_dev_id): Add
30583 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
30584
6f1c18bd 305852005-01-20 Hollis Blanchard <hollis@penguinppc.org>
30586
30587 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
30588 function.
30589 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
30590 (suspend_mod_SOURCES): New variable.
30591 (suspend_mod_CFLAGS): Likewise.
30592 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
30593 New prototype.
30594 * commands/ieee1275/suspend.c: New file.
30595
b38551da 305962005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30597
30598 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 30599 ((unused))' to `__attribute__ ((used))'.
b38551da 30600 (GRUB_MOD_FINI): Likewise.
30601 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
30602 * genmk.rb (PModule): Assign space to common symbols when linking
30603 modules.
30604
777aff39 306052005-01-20 Marco Gerards <metgerards@student.han.nl>
30606
30607 * include/grub/mm.h (grub_mm_init_region): Change the type of the
30608 `unsigned' arguments to `grub_size_t'.
30609 (grub_malloc): Likewise.
30610 (grub_realloc): Likewise.
30611 (grub_memalign): Likewise.
30612 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
30613 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
30614 * util/misc.c (grub_malloc): Likewise.
30615 (grub_realloc): Likewise.
30616 * kern/mm.c (get_header_from_pointer): Change the casts to
30617 `unsigned' into a cast to `grub_size_t'.
30618
30619 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
30620 point to `currnode' when `currnode' is changed.
30621
30622 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
30623 Schottelius <nico-linux@schottelius.org>.
30624
d0ff18e1 306252005-01-09 Hollis Blanchard <hollis@penguinppc.org>
30626
30627 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
30628 (note_path): Remove variable.
30629 (GRUB_IEEE1275_NOTE_NAME): New macro.
30630 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
30631 (grub_ieee1275_note_hdr): New structure.
30632 (grub_ieee1275_note_desc): Likewise.
30633 (grub_ieee1275_note): Likewise.
30634 (load_note): Remove `dir' argument. All callers updated. Remove
30635 `note_img' and `path'. Do not load a file from `note_path'.
30636 Initialize a struct grub_ieee1275_note and write that to `out'.
30637 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
30638
4ca7004c 306392005-01-05 Marco Gerards <metgerards@student.han.nl>
30640
30641 * util/misc.c (grub_util_read_image): Revert last change. It
30642 called `grub_util_read_at', which seeks from the beginning of the
30643 file.
30644
0b412211 306452005-01-04 Hollis Blanchard <hollis@penguinppc.org>
30646
30647 * TODO: Add note about endianness in grub-mkimage.
30648 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
30649 section.
30650 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
30651 (grub_mkimage_SOURCES): New target.
30652 * include/grub/kernel.h (grub_start_addr): Remove variable.
30653 (grub_end_addr): Likewise.
30654 (grub_total_module_size): Likewise.
30655 (grub_kernel_image_size): Likewise.
30656 (GRUB_MODULE_MAGIC): New constant.
30657 (grub_module_info): New structure.
30658 (grub_arch_modules_addr): New prototype.
30659 (grub_get_end_addr): Remove prototype.
30660 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
30661 * include/grub/powerpc/ieee1275/kernel.h: New file.
30662 * include/grub/util/misc.h (grub_util_get_fp_size): New
30663 prototype.
30664 (grub_util_read_at): Likewise.
30665 (grub_util_write_image_at): Likewise.
30666 * kern/main.c (grub_get_end_addr): Remove function.
30667 (grub_load_modules): Call grub_arch_modules_addr instead of using
30668 grub_end_addr. Look for a grub_module_info struct in memory. Use
30669 the grub_module_info fields instead of calling grub_get_end_addr
30670 as loop conditions. Move grub_add_unused_region code here.
30671 (grub_add_unused_region): Remove function.
30672 * kern/i386/pc/init.c: Include grub/cache.h.
30673 (grub_machine_init): Remove call to grub_get_end_addr. Remove
30674 one call to add_mem_region.
30675 (grub_arch_modules_addr): New function.
30676 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
30677 (grub_total_module_size): Likewise.
30678 Include grub/machine/kernel.h.
30679 (grub_arch_modules_addr): New function.
30680 * util/grub-emu.c (grub_end_addr): Remove variable.
30681 (grub_total_module_size): Likewise.
30682 (grub_arch_modules_addr): New function.
30683 * util/misc.c: Include unistd.h.
30684 (grub_util_get_fp_size): New function.
30685 (grub_util_read_at): Likewise.
30686 (grub_util_write_image_at): Likewise.
30687 (grub_util_read_image): Call grub_util_read_at.
30688 (grub_util_write_image): Call grub_util_write_image_at.
30689 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
30690 additional memory in kernel_img for a struct grub_module_info.
30691 Fill in that grub_module_info.
30692 * util/powerpc/ieee1275/grub-mkimage.c: New file.
30693
458786f8 306942005-01-03 Hollis Blanchard <hollis@penguinppc.org>
30695
30696 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
30697 New function.
30698 * include/grub/powerpc/ieee1275/ieee1275.h
30699 (grub_ieee1275_milliseconds): New prototype.
30700 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
30701 Change to 1000.
30702 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
30703 grub_ieee1275_milliseconds.
30704
ac507d1b 307052005-01-03 Hollis Blanchard <hollis@penguinppc.org>
30706
30707 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
30708 variable.
30709 (find_options): New function.
30710 (cmain): Call find_options.
30711 * include/grub/powerpc/ieee1275/ieee1275.h
30712 (grub_ieee1275_realmode): New extern variable.
30713 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
30714 grub_map if grub_ieee1275_realmode is false.
30715
6b8fd1c4 307162004-12-29 Marco Gerards <metgerards@student.han.nl>
30717
30718 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
30719 lines are inserted and make it work like readline. Reported by
30720 Vincent Pelletier <subdino2004@yahoo.fr>.
30721
8514a1e0 307222004-12-28 Marco Gerards <metgerards@student.han.nl>
30723
30724 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
30725
30726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
30727 `kern/powerpc/cache.S'.
30728
924b6140 307292004-12-27 Marco Gerards <metgerards@student.han.nl>
30730
30731 * genmk.rb: Handle the `Program' class in the main loop. Written
30732 by Johan Rydberg <jrydberg@gnu.org>.
30733 (Program): New class.
30734 (programs): New variable.
30735 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
30736 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
30737 instead of "grub/kernel.h". Include <grub/machine/init.h>.
30738 (help_arch): Function removed.
30739 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
30740 `powerpc/libgcc.h' and `loader.h'.
30741 (pkgdata_PROGRAMS): New variable.
30742 (sbin_UTILITIES): Variable removed.
30743 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
30744 (grubof_SOURCES): Variable re-defined so it only includes the
30745 core functionality.
30746 (grubof_CFLAGS): Remove `-DGRUBOF'.
30747 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
30748 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
30749 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
30750 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
30751 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
30752 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
30753 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
30754 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
30755 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
30756 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
30757 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30758 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
30759 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
30760 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
30761 (pc_mod_CFLAGS): New variables.
30762 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
30763 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
30764 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
30765 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
30766 Moved from here...
30767 * include/grub/i386/pc/init.h (grub_os_area_addr)
30768 (rub_os_area_size): ... to here.
30769 * include/grub/powerpc/ieee1275/ieee1275.h
30770 (grub_ieee1275_entry_fn): Export symbol.
30771 * include/grub/powerpc/ieee1275/init.h: New file.
30772 * include/grub/powerpc/libgcc.h: Likewise.
30773 * include/grub/cache.h: Likewise.
30774 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
30775 <hollis@penguinppc.org>.
30776 * kern/dl.c: Include <grub/cache.h>.
30777 (grub_dl_flush_cache): New function.
30778 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
30779 for this module.
30780 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
30781 (grub_console_init): Removed prototypes.
30782 (grub_machine_init): Don't initialize the modules anymore.
30783 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
30784 static.
30785 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
30786 Macro undef removed.
30787 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
30788 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
30789 relocation `R_PPC_REL32'. Return an error when the relocation is
30790 unknown.
30791 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
30792 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
30793 * util/misc.c (grub_arch_sync_caches): Likewise.
30794
e4b47e0c 307952004-12-19 Marco Gerards <metgerards@student.han.nl>
30796
30797 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
30798 `symlist.c', add `grubof_symlist.c'.
30799 (symlist.c): Variable removed.
30800 (grubof_HEADERS): Variable added.
30801 (grubof_symlist.c): New target.
30802 (kernel_syms.lst): Use `grubof_HEADERS' instead of
30803 `kernel_img_HEADERS'.
30804 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
30805 * kern/powerpc/dl.c: New file.
30806 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
30807 Function removed.
30808 (grub_arch_dl_relocate_symbols): Likewise.
30809 (grub_register_exported_symbols): Likewise.
30810
4ceb3636 308112004-12-13 Marco Gerards <metgerards@student.han.nl>
30812
30813 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
30814 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
30815 to fail instead. Reported by Vincent Pelletier
30816 <subdino2004@yahoo.fr>.
30817
30818 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
30819 it is not allocated. Reported by Vincent Pelletier
30820 <subdino2004@yahoo.fr>.
30821
30822 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
30823 output so the output looks better.
f19dbdb7 30824
3f1578fe 308252004-12-04 Marco Gerards <metgerards@student.han.nl>
30826
30827 Modulize the partition map support and add support for the amiga
30828 partition map.
f19dbdb7 30829
3f1578fe 30830 * commands/ls.c: Include <grub/partition.h> instead of
30831 <grub/machine/partition.h>.
30832 * kern/disk.c: Likewise.
30833 * kern/rescue.c: Likewise.
30834 * loader/i386/pc/chainloader.c: Likewise.
30835 * normal/cmdline.c: Likewise.
30836 * kern/powerpc/ieee1275/init.c: Likewise.
30837 (grub_machine_init): Call `grub_pc_partition_map_init',
30838 `grub_amiga_partition_map_init' and
30839 `grub_apple_partition_map_init'.
30840 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
30841 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
30842 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
30843 `partition.h' and `pc_partition.h'.
30844 (grub_setup_SOURCES): Remove
30845 `disk/i386/pc/partition.c'. Add `kern/partition.c',
30846 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
30847 (grub_emu_SOURCES): Likewise.
30848 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
30849 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
30850 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
30851 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
30852 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
30853 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
30854 (grubof_SOURCES): Likewise.
30855 * disk/i386/pc/partition.c: File removed.
30856 * disk/powerpc/ieee1275/partition.c: Likewise.
30857 * include/grub/powerpc/ieee1275/partition.h: Likewise.
30858 * include/grub/i386/pc/partition.h: Likewise.
30859 * kern/partition.c: New file.
30860 * partmap/amiga.c: Likewise.
30861 * partmap/apple.c: Likewise.
30862 * partmap/pc.c: Likewise.
30863 * include/grub/partition.h: Likewise..
30864 * include/grub/pc_partition.h: Likewise.
30865 * util/grub-emu.c: Include <grub/partition.h> instead of
30866 <grub/machine/partition.h>.
30867 (main): Call `grub_pc_partition_map_init',
30868 `grub_amiga_partition_map_init' and
30869 `grub_apple_partition_map_init' and deinitialize afterwards.
30870 * util/i386/pc/biosdisk.c: Include `#include
30871 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
30872 `<grub/machine/partition.h>'.
30873 * util/i386/pc/grub-setup.c: Likewise.
30874 * util/i386/pc/biosdisk.c: Likewise.
30875 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
30876 partition information in case of a PC partition.
30877 * util/i386/pc/grub-setup.c: Include `#include
30878 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
30879 `<grub/machine/partition.h>'.
30880 (setup): Only access the PC specific partition information in case
30881 of a PC partition.
30882
0ef4ced9 308832004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 30884
0ef4ced9 30885 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
30886 (grub_longjmp): Likewise.
30887 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
30888 20.
30889 * normal/powerpc/setjmp.S: New file.
30890 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
30891 `normal/powerpc/setjmp.S'.
30892 (grubof_CFLAGS): Add `-DGRUBOF'.
30893 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
30894 [GRUB_UTIL && !GRUBOF].
f19dbdb7 30895
19950e29 308962004-11-16 Marco Gerards <metgerards@student.han.nl>
30897
30898 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
30899 property named `name'. Correctly handle the error returned by
30900 `grub_ieee1275_finddevice' if a device can not be opened.
30901
a2fea427 309022004-11-02 Hollis Blanchard <hollis@penguinppc.org>
30903
30904 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
30905 `actual' for negativity.
30906 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
30907 kern/fshelp.c.
30908
41ea0ea3 309092004-11-01 Marco Gerards <metgerards@student.han.nl>
30910
30911 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
30912 (PAGE_OFFSET): New macro.
30913 (CRTC_ADDR_PORT): Likewise.
30914 (CRTC_DATA_PORT): Likewise.
30915 (START_ADDR_HIGH_REGISTER): Likewise.
30916 (START_ADDR_LOW_REGISTER): Likewise.
30917 (GRAPHICS_ADDR_PORT): Likewise.
30918 (GRAPHICS_DATA_PORT): Likewise.
30919 (READ_MAP_REGISTER): Likewise.
30920 (INPUT_STATUS1_REGISTER): Likewise.
30921 (INPUT_STATUS1_VERTR_BIT): Likewise.
30922 (page): New variable.
30923 (wait_vretrace): New function.
30924 (set_read_map): Likewise.
30925 (set_start_address): Likewise.
30926 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
30927 the right page.
30928 (check_vga_mem): Take the page into account.
30929 (write_char): Likewise.
30930 (write_cursor): Likewise.
30931 (scroll_up): Likewise. Copy the page to the page that is not
30932 shown and switch between both pages.
30933 (grub_vga_putchar): Fix off by one error.
30934 (grub_vga_cls): Wait for the vertical retrace. Take the page into
30935 account.
30936
ad0bd20b 309372004-11-01 Marco Gerards <metgerards@student.han.nl>
30938
30939 Add support for iso9660 (including rockridge).
f19dbdb7 30940
ad0bd20b 30941 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
30942 (iso9660_mod_SOURCES): New variable.
30943 (iso9660_mod_CFLAGS): Likewise.
30944 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
30945 * include/grub/fs.h (grub_iso9660_init): New prototype.
30946 * util/grub-emu.c (main): Call `grub_iso9660_init'.
30947 * fs/iso9660.c: New file.
30948
30949 * include/grub/misc.h (grub_strncat): New prototype.
30950 * kern/misc.c (grub_strncat): New function.
f19dbdb7 30951
ad0bd20b 30952 * fs/hfs.c (grub_hfs_mount): Translate the error
30953 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
30954 * fs/jfs.c (grub_jfs_mount): Likewise.
30955 * fs/ufs.c (grub_ufs_mount): Likewise.
30956
a5477a59 309572004-10-28 Hollis Blanchard <hollis@penguinppc.org>
30958
30959 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
30960 which initialized BAT registers.
30961 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
30962 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
30963 Move from here...
30964 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
30965 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
30966 ... to here.
30967 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
30968 (grub_mapclaim): Likewise.
30969 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
30970 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
30971 hand.
30972
9304c1f8 309732004-10-19 Hollis Blanchard <hollis@penguinppc.org>
30974
30975 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
30976 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
30977 -ffreestanding and -msoft-float.
30978
86f4ae25 309792004-10-15 Hollis Blanchard <hollis@penguinppc.org>
30980
30981 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
30982 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
30983 set in grub_ieee1275_flags.
30984
38912228 309852004-10-14 Hollis Blanchard <hollis@penguinppc.org>
30986
30987 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
30988 prototype.
30989 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
30990 grub_console_init first.
30991 Change the memory range used for grub_ieee1275_claim and
30992 grub_mm_init_region.
30993 Print an error message if the claim fails.
30994 Include <grub/misc.h>.
30995
d1923dc8 309962004-10-13 Hollis Blanchard <hollis@penguinppc.org>
30997
30998 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
30999 Call grub_children_iterate for device nodes of type `scsi',
31000 `ide', or `ata'.
31001 (grub_ofdisk_open): Remove manual device alias resolution.
31002 Fix memory leak when device cannot be opened.
f19dbdb7 31003 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 31004 (grub_children_iterate): New prototype.
31005 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
31006 New function.
31007 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31008 Return -1 if args.size was -1.
31009
4512e4f3 310102004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31011
31012 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
31013 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
31014 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
31015 Open Firmware's memory for it; claim memory from _start to _end.
31016 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
31017 (_end): New extern.
31018 (_start): Zero BSS from __bss_start to _end.
31019 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31020 New extern.
31021 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
31022
4d61feb0 310232004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31024
ad0bd20b 31025 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
31026 -1 if args.base was -1.
4d61feb0 31027
026fa2f9 310282004-10-08 Hollis Blanchard <hollis@penguinppc.org>
31029
31030 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
31031 escape sequence instead of a literal ^L. Also call
31032 grub_ofconsole_gotoxy.
31033
9f2220ef 310342004-10-03 Hollis Blanchard <hollis@penguinppc.org>
31035
31036 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
31037 void * arguments to grub_addr_t. All callers updated. Also make
31038 the `result' argument optional.
31039 (grub_ieee1275_release): change void * arguments to grub_addr_t.
31040 All callers updated.
31041
8a572cd7 310422004-09-22 Hollis Blanchard <hollis@penguinppc.org>
31043
31044 * commands/ls.c (grub_ls_list_files): Use the string following the
31045 initial ')', if present, as the filesystem path.
31046 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
31047
31048 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
31049
18aa81f2 310502004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
31051
31052 Make the source code of the menu interface more readable.
f19dbdb7 31053
18aa81f2 31054 * normal/menu.c: Include grub/mm.h.
31055 (TERM_WIDTH): New macro.
31056 (TERM_HEIGHT): Likewise.
31057 (TERM_INFO_HEIGHT): Likewise.
31058 (TERM_MARGIN): Likewise.
31059 (TERM_SCROLL_WIDTH): Likewise.
31060 (TERM_TOP_BORDER_Y): Likewise.
31061 (TERM_LEFT_BORDER_X): Likewise.
31062 (TERM_BORDER_WIDTH): Likewise.
31063 (TERM_MESSAGE_HEIGHT): Likewise.
31064 (TERM_BORDER_HEIGHT): Likewise.
31065 (TERM_NUM_ENTRIES): Likewise.
31066 (TERM_FIRST_ENTRY_Y): Likewise.
31067 (TERM_ENTRY_WIDTH): Likewise.
31068 (TERM_CURSOR_X): Likewise.
31069 (draw_border): Use macros instead of magic numbers.
31070 (print_entry): Likewise.
31071 (print_entries): Likewise.
31072 (run_menu): Likewise. Also, handle the key 'e'.
31073 (run_menu_entry): Ignore empty command lines.
31074 (print_message): Added a new argument EDIT. If EDIT is true,
31075 print a different message.
31076 (init_page): Likewise.
31077 (edit_menu_entry): New function. Not implemented yet.
31078
b47efe30 310792004-09-17 Marco Gerards <metgerards@student.han.nl>
31080
31081 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
31082 can be loaded from normal mode.
f19dbdb7 31083
b47efe30 31084 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
31085 `multiboot.mod'.
31086 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
31087 (multiboot_mod_CFLAGS): New variables.
31088 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 31089 * loader/i386/pc/multiboot_normal.c: Likewise.
31090
b47efe30 31091 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
31092 attribute `unused'.
f19dbdb7 31093
b47efe30 31094 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
31095 `fdiro' to read the mode information from instead of `diro'.
31096
31097 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
31098 looking up a symlink.
31099
31100 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
31101 macro.
31102 * normal/command.c (grub_command_execute): Don't parse the
31103 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
31104 flags of the command.
31105
31106 * normal/menu.c (grub_menu_run): Fix typo.
31107
da75ac71 311082004-09-14 Hollis Blanchard <hollis@penguinppc.org>
31109
31110 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
31111
31112 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
31113 `y + 1' instead of `y - 1'.
31114
31115 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 31116
062b24c2 311172004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
31118
31119 From Hollis Blanchard <hollis@penguinppc.org>:
31120 * kern/misc.c (memmove): New alias for grub_memmove.
31121 (memcmp): New alias for grub_memcmp.
31122 (memset): New alias for grub_memset.
f19dbdb7 31123 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 31124 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 31125 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 31126 (grub_ieee1275_get_property): Likewise.
f19dbdb7 31127
8ddad845 311282004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
31129
31130 Added normal mode command `chainloader' as module chain.mod, which
31131 depends on normal.mod and _chain.mod.
f19dbdb7 31132
8ddad845 31133 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
31134 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
31135 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
31136 Deleted prototype.
31137 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
31138 but arguments parsing moved to ...
31139 (grub_chainloader_cmd): ... here. New function.
31140 * include/grub/i386/pc/chainloader.h: New file.
31141 * loader/i386/pc/chainloader_normal.c: Likewise.
31142
2c1f4ce3 311432004-09-11 Marco Gerards <metgerards@student.han.nl>
31144
31145 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
31146 (grub_mkimage_LDFLAGS): Likewise.
31147 (grub_emu_SOURCES): Likewise.
31148 (kernel_img_HEADERS): Added fshelp.h.
31149 * fs/ext2.c: Include <grub/fshelp.h>.
31150 (FILETYPE_REG): New macro.
31151 (FILETYPE_INO_REG): Likewise.
31152 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
31153 Changed all users.
31154 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
31155 all users.
31156 (grub_fshelp_node): New struct.
31157 (grub_ext2_data): Added member `diropen'. Changed member `inode'
31158 to a pointer.
31159 (grub_ext2_get_file_block): Removed function.
31160 (grub_ext2_read_block): New function.
31161 (grub_ext2_read_file): Replaced parameter `data' by `node'.
31162 This function was written.
31163 (grub_ext2_mount): Read the root inode. Create a diropen struct.
31164 (grub_ext2_find_file): Removed function.
31165 (grub_ext2_read_symlink): New function.
31166 (grub_ext2_iterate_dir): Likewise.
31167 (grub_ext2_open): Rewritten.
31168 (grub_ext2_dir): Rewritten.
31169 * include/grub/fshelp.h: New file.
31170 * fs/fshelp.c: Likewise.
31171
3c52136a 311722004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
31173
31174 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
31175 (print_message): Add a missing newline.
31176 (run_menu): Added timeout support.
31177 (run_menu_entry): New local function.
31178 (grub_menu_run): Added support for booting.
31179
31180 * kern/loader.c (grub_loader_is_loaded): New function.
31181
31182 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
31183 (grub_get_rtc): Exported.
31184
31185 * include/grub/i386/pc/time.h: Include grub/symbol.h.
31186 (grub_get_rtc): Exported.
31187
31188 * include/grub/normal.h (struct grub_command_list): Remove
31189 constant from the member `command'.
31190
31191 * include/grub/loader.h (grub_loader_is_loaded): Declared.
31192
31193 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
31194
31195 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
31196
aa033560 311972004-08-28 Marco Gerards <metgerards@student.han.nl>
31198
31199 Add support for the JFS filesystem.
31200
31201 * fs/jfs.c: New file.
31202 * include/grub/fs.h (grub_jfs_init): New prototype.
31203 (grub_jfs_fini): New prototype.
31204 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
31205 (grub_emu_SOURCES): Likewise.
31206 (pkgdata_MODULES): Add jfs.mod.
31207 (jfs_mod_SOURCES): New variable.
31208 (jfs_mod_CFLAGS): Likewise.
31209 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
31210 (grubof_SOURCES): Likewise.
31211 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
31212
31213 * fs/fat.c (grub_fat_find_dir): Convert the filename little
31214 endian to the host endian.
31215 (grub_fat_utf16_to_utf8): Move function from there...
31216 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 31217 the endianness of the source string anymore.
aa033560 31218 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
31219
94bc45af 312202004-08-24 Marco Gerards <metgerards@student.han.nl>
31221
31222 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
31223 (grub_boot_fini) [GRUB_UTIL]: Likewise.
31224 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
31225 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 31226
94bc45af 31227 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
31228 (grub_hfs_iterate_dir): Make the function static. Add prototypes
31229 for `node_found' and `it_dir'.
31230 (grub_hfs_dir): Add prototype for `dir_hook'.
31231
31232 * fs/minix.c (grub_minix_get_file_block): Add prototype for
31233 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
31234 and `indir32' to silence a gcc warning.
31235
31236 * include/grub/fs.h (grub_hfs_init): New prototype.
31237 (grub_hfs_fini): Likewise.
f19dbdb7 31238
31239
97543f08 312402004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31241
31242 Each disk device has its own id now. This is useful to make use
31243 of multiple disk devices.
f19dbdb7 31244
97543f08 31245 * include/grub/disk.h (grub_disk_dev_id): New enum.
31246 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
31247 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
31248
31249 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
31250 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31251
31252 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
31253 GRUB_DISK_DEVICE_OFDISK_ID as an id.
31254
31255 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
31256 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31257
31258 * include/grub/disk.h (struct grub_disk_dev): Added a new member
31259 "id" which is used by the cache manager.
31260
31261 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
31262 of just "GRUB".
31263
64372eb4 312642004-08-18 Marco Gerards <metgerards@student.han.nl>
31265
31266 * fs/hfs.c: New file.
31267 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
31268 (grub_emu_SOURCES): Likewise.
31269 (pkgdata_MODULES): Add hfs.mod.
31270 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
31271 (grubof_SOURCES): Likewise.
31272 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
31273
31274 * include/grub/misc.h (grub_strncasecmp): Add prototype.
31275 * kern/misc.c (grub_strncasecmp): Add function.
31276
cc61b58f 312772004-08-14 Marco Gerards <metgerards@student.han.nl>
31278
31279 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
31280 with parentheses.
31281
31282 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
31283 (grub_ext2_dir): In case the directory entry type is unknown, read
31284 it from the inode.
31285
0ef123f6 312862004-08-02 Peter Bruin <pjbruin@dds.nl>
31287
31288 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
31289 grub_load_linux instead of grub_rescue_cmd_linux as second
31290 argument of grub_rescue_register_command.
31291
31292 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
31293
a447c5df 312942004-07-27 Marco Gerards <metgerards@student.han.nl>
31295
31296 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
31297 function.
31298 * commands/boot.c: Remove the check for `GRUB_UTIL'.
31299 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31300 `loader/powerpc/ieee1275/linux.c',
31301 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
31302 * include/grub/powerpc/ieee1275/ieee1275.h
31303 (grub_ieee1275_release): New prototype.
31304 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
31305 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
31306 normal, boot, linux and linux_normal.
31307 * loader/powerpc/ieee1275/linux.c: New file.
31308 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31309
5a9e3546 313102004-07-12 Marco Gerards <metgerards@student.han.nl>
31311
31312 * normal/arg.c (grub_arg_parse): Correct error handling after
31313 reallocating the argumentlist (check if `argl' is not null instead
31314 of checking if `args' is not null).
31315 * kern/mm.c (grub_realloc): Return the same pointer when using the
31316 same region, instead of returning the header address.
31317
e15199cb 313182004-07-11 Marco Gerards <metgerards@student.han.nl>
31319
31320 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
31321 one block instead of two when looking for the initial partition.
31322 (grub_partition_probe): Initialize the local variable `p' with 0.
31323 Use base 10 for the grub_strtoul call.
31324 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
31325 need for one local variable.
31326 (grub_strtoul): Don't add the new value to `num', instead of that
31327 just assign it.
31328
020616c2 313292004-07-11 Marco Gerards <metgerards@student.han.nl>
31330
31331 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
31332 (pxeboot_img_SOURCES): New variable.
31333 (pxeboot_img_ASFLAGS): Likewise.
31334 (pxeboot_img_LDFLAGS): Likewise.
31335 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
31336 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
31337 <lode_leroy@hotmail.com>.
31338
6c51eb64 313392004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31340
31341 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
31342 there was no input.
31343
cfb12aff 313442004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31345
31346 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
31347 the history buffer logic.
31348
6eabba74 313492004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31350
31351 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
31352 (FILETYPE_INO_SYMLINK): New macros.
31353 (grub_ext2_find_file): Check if the node is a directory using the
31354 inode stat information instead of using the filetype in the
31355 dirent. Exclude the first character of an absolute symlink.
31356 (grub_ext2_dir): Mask out the filetype part of the mode member of
31357 the inode.
31358
66e19ef8 313592004-05-24 Marco Gerards <metgerards@student.han.nl>
31360
31361 Add support for UFS version 1 and 2. Add support for the minix
31362 filesystem version 1 and 2, both the variants with 14 and 30 long
31363 filenames.
f19dbdb7 31364
66e19ef8 31365 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
31366 fs/minix.c.
31367 (grub_emu_SOURCES): Likewise.
31368 (pkgdata_MODULES): Add ufs.mod and minix.mod.
31369 (ufs_mod_SOURCES): New variable.
31370 (ufs_mod_CFLAGS): Likewise.
31371 (minix_mod_SOURCES): Likewise.
31372 (minix_mod_CFLAGS): Likewise.
31373 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
31374 fs/minix.c.
31375 (grubof_SOURCES): Likewise.
31376 * fs/ufs.c: New file.
31377 * fs/minix.c: New file.
31378 * include/grub/fs.h (grub_ufs_init): New prototype.
31379 (grub_ufs_fini): Likewise.
31380 (grub_minix_init): Likewise.
31381 (grub_minix_fini): Likewise.
31382 * util/grub-emu.c (main): Initialize and deinitialize UFS and
31383 minix fs.
31384
cc2e748a 313852004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
31386
31387 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
31388 commands/ls.c, commands/terminal.c, commands/boot.c,
31389 commands/cmp.c and commands/cat.c.
31390 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
31391
31392 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
31393 "env.h"
31394
4b13b216 313952004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31396
31397 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
31398 and grub_, respectively. Because the conversion is trivial and
31399 mechanical, I omit the details here. Please refer to the CVS
31400 if you need more information.
31401
6a142551 314022004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31403
31404 * include/pupa: Renamed to ...
31405 * include/grub: ... this.
31406 * util/i386/pc/pupa-mkimage.c: Renamed to ...
31407 * util/i386/pc/grub-mkimage.c: ... this.
31408 * util/i386/pc/pupa-setup.c: Renamed to ...
31409 * util/i386/pc/grub-setup.c: ... this.
31410 * util/pupa-emu.c: Renamed to ...
31411 * util/grub-emu.c: ... this.
31412
e56cdf21 314132004-03-29 Marco Gerards <metgerards@student.han.nl>
31414
31415 Add support for the newworld apple macintosh (PPC). This has been
31416 tested on the powerbook 2000 only. It only adds support for
31417 generic ieee1275 functions, console and disk support. This should
31418 be easy to port to other architectures with support for Open
31419 Firmware.
f19dbdb7 31420
e56cdf21 31421 * configure.ac: Accept the powerpc as host_cpu. In the case of
31422 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
31423 specific tests are only executed while building for the i386.
31424 Inverse test for crosscompile.
31425 * genmk.rb (Utility): Allow assembler files.
31426 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
31427 * conf/powerpc-ieee1275.rmk: New file.
31428 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
31429 * disk/powerpc/ieee1275/partition.c: Likewise.
31430 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
31431 * include/pupa/powerpc/ieee1275/console.h: Likewise.
31432 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
31433 * include/pupa/powerpc/ieee1275/time.h: Likewise.
31434 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
31435 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
31436 * include/pupa/powerpc/ieee1275/loader.h
31437 * include/pupa/powerpc/setjmp.h: Likewise.
31438 * include/pupa/powerpc/types.h: Likewise.
31439 * kern/powerpc/ieee1275/init.c: Likewise.
31440 * kern/powerpc/ieee1275/openfw.c: Likewise.
31441 * term/powerpc/ieee1275/ofconsole.c: Likewise.
31442
31443 These files were written by Johan Rydberg
31444 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 31445
e56cdf21 31446 * boot/powerpc/ieee1275/cmain.c: New file.
31447 * boot/powerpc/ieee1275/crt0.S: Likewise.
31448 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
31449 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
31450
8c8cc205 314512004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
31452
31453 * Makefile.in: Update copyright.
31454 * genmodsrc.sh: Likewise.
31455 * gensymlist.sh: Likewise.
31456 * term/i386/pc/vga.c: Indent correctly.
31457
31458 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
31459 bugreporting address.
31460 * util/i386/pc/pupa-setup.c (usage): Likewise,
31461 (main): Call pupa_ext2_init and pupa_ext2_fini.
31462
f19dbdb7 31463 * fs/fat.c (log2): Renamed to ...
8c8cc205 31464 (fat_log2): ... this.
31465 All callers changed.
31466 * kern/misc.c (memcpy): Alias to pupa_memmove.
31467 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
31468 lvalue cast.
31469 * util/console.c (pupa_ncurses_fini): Return 0.
31470
31471 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
31472 Move fail label here.
31473 [__GNU__]: Don't warn when using stat.
31474 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
31475 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
31476 long int. Use strtol instead of strtoul.
f19dbdb7 31477
db1771cf 314782004-03-14 Marco Gerards <metgerards@student.han.nl>
31479
31480 * commands/boot.c: New file.
31481 * commands/cat.c: Likewise.
31482 * commands/cmp.c: Likewise.
31483 * commands/ls.c: Likewise.
31484 * commands/terminal.c: Likewise.
31485 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
31486 (pupa_register_command): Changed interface to match the new
31487 argument parser.
31488 (pupa_command_execute): Changed (almost rewritten) so it uses
31489 pupa_split_command. Added support for setting variables using the
31490 syntax `foo=bar'.
31491 (rescue_command): Changed to work with the new argument parser.
31492 (terminal_command): Moved from here to commands/terminal.c.
31493 (set_command): New function.
31494 (unset_command): New function.
31495 (insmod_command): New function.
31496 (rmmod_command): New function.
31497 (lsmod_command): New function.
31498 (pupa_command_init): Don't initialize the command terminal
31499 anymore. Initialize the commands set, unset, insmod, rmmod and
31500 lsmod.
31501 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
31502 (kernel_img_HEADERS): Add arg.h and env.h.
31503 (pupa_mkimage_LDFLAGS): Add kern/env.c.
31504 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
31505 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
31506 normal/arg.c.
31507 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
31508 terminal.mod.
31509 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
31510 (boot_mod_SOURCES): New variable.
31511 (terminal_mod_SOURCES): Likewise.
31512 (ls_mod_SOURCES): Likewise.
31513 (cmp_mod_SOURCES): Likewise.
31514 (cat_mod_SOURCES): Likewise.
31515
31516 * normal/arg.c: New file.
31517 * kern/env.c: Likewise.
31518 * include/pupa/arg.h: Likewise.
31519 * include/pupa/env.h: Likewise.
31520 * font/manager.c (font_command): Changed to match argument parsing
31521 interface changes.
31522 (PUPA_MOD_INIT): Likewise.
31523 * hello/hello.c (pupa_cmd_hello): Likewise.
31524 (PUPA_MOD_INIT): Likewise.
31525 * include/pupa/disk.h: Include <pupa/device.h>.
31526 (pupa_print_partinfo): New prototype.
31527 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
31528 (pupa_dl_get_prefix): Likewise.
31529 * include/pupa/misc.h: Include <pupa/err.h>.
31530 (pupa_isgraph): New prototype.
31531 (pupa_isdigit): Likewise.
31532 (pupa_split_cmdline): Likewise.
31533 * include/pupa/normal.h: Include <pupa/arg.h>.
31534 (pupa_command): Changed the prototype of the member `func' to
31535 match the argument parsing interface. Added member `options'.
31536 (pupa_register_command): Updated to match function.
31537 (pupa_arg_parse): New prototype.
31538 (pupa_hello_init) [PUPA_UTIL]: New prototype.
31539 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
31540 (pupa_ls_init) [PUPA_UTIL]: Likewise.
31541 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
31542 (pupa_cat_init) [PUPA_UTIL]: Likewise.
31543 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
31544 (pupa_boot_init) [PUPA_UTIL]: Likewise.
31545 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
31546 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
31547 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
31548 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
31549 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
31550 * kern/disk.c: Include <pupa/file.h>.
31551 (pupa_print_partinfo): New function.
31552 * kern/dl.c: Include <pupa/env.h>.
31553 (pupa_dl_dir): Variable removed.
31554 (pupa_dl_load): Use the environment variable `prefix' instead of
31555 the variable pupa_dl_dir.
31556 (pupa_dl_set_prefix): Function removed.
31557 (pupa_dl_get_prefix): Likewise.
31558 * kern/i386/pc/init.c: Include <pupa/env.h>.
31559 (pupa_machine_init): Use the environment variable `prefix' instead of
31560 using pupa_dl_set_prefix to set the prefix.
31561 * kern/main.c: Include <pupa/env.h>.
31562 (pupa_set_root_dev): Use the environment variable `prefix' instead of
31563 using pupa_dl_get_prefix to get the prefix.
31564 * kern/misc.c: Include <pupa/env.h>.
31565 (pupa_isdigit): New function.
31566 (pupa_isgraph): Likewise.
31567 (pupa_ftoa): Likewise.
31568 (pupa_vsprintf): Added support for printing values of the type
31569 `double'. Make it possible to format variable output when using
31570 formatting like `%1.2%f'.
31571 (pupa_split_cmdline): New function.
31572 * kern/rescue.c: Include <pupa/env.h>.
31573 (next_word): Removed function.
31574 (pupa_rescue_cmd_prefix): Likewise.
31575 (pupa_rescue_cmd_set): New function.
31576 (pupa_rescue_cmd_unset): New function.
31577 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
31578 split the command line instead of splitting it here. Added
31579 support for setting variables using the syntax `foo=bar'. Don't
31580 initialize the prefix command anymore. Initialized the set and
31581 unset commands.
31582 * normal/cmdline.c: Include <pupa/env.h>.
31583 (pupa_tab_complete): Added prototypes for print_simple_completion,
31584 print_partition_completion, add_completion, iterate_commands,
31585 iterate_dev, iterate_part and iterate_dir. Moved code to print
31586 partition information from here to kern/disk.c.
fe6b695a 31587 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 31588 * normal/main.c: Include <pupa/env.h>.
31589 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
31590 instead of using pupa_dl_get_prefix to get the prefix.
31591 * term/i386/pc/vga.c: Include <pupa/arg.h>.
31592 (check_vga_mem): Cast pointers to `void *' to silence a gcc
31593 warning.
31594 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
31595 (pupa_vga_setcolor): Declare unused variables with `__attribute__
31596 ((unused))' to silence a gcc warning.
31597 (pupa_vga_setcolor): Likewise.
31598 (debug_command): Changed to match argument parsing
31599 interface changes.
31600 * util/pupa-emu.c: Include <pupa/env.h>.
31601 (options): Added 0's for unused fields to silence a gcc warning.
31602 (argp): Likewise.
31603 (main): Use the environment variable `prefix' instead of using
31604 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
31605 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
31606 and terminal.
31607
31608 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
31609 * util/misc.c: Include <malloc.h>.
31610 (pupa_malloc): Rewritten so errors are correctly reported.
31611 (pupa_realloc): Likewise.
31612 (pupa_memalign): Likewise.
31613 (pupa_mm_init_region): Declare unused variables with
31614 `__attribute__ ((unused))' to silence a gcc warning.
31615 * normal/i386/setjmp.S: Remove tab at the end of the file to
31616 silence a gcc warning.
31617 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
31618 variables with `__attribute__ ((unused))' to silence a gcc
31619 warning.
31620 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
31621 local variable i unsigned to silence a gcc warning.
31622
31623 * kern/term.c: Include <pupa/misc.h>.
31624 (pupa_more_lines): New variable.
31625 (pupa_more): Likewise.
31626 (pupa_putcode): When the pager is active pause at the end of every
31627 screen.
31628 (pupa_set_more): New function.
31629 * include/pupa/term.h (pupa_set_more): New prototype.
31630
31631
3b1139cb 316322004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
31633
31634 Now this project is GRUB 2 rather than PUPA. The location of
31635 the CVS repository was moved to GRUB's.
f19dbdb7 31636
3b1139cb 31637 * configure.ac: Use bug-grub as the reporting address.
31638 Use GRUB instead of PUPA.
31639 Change the version number to 1.90.
31640
8367695c 316412004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
31642
31643 * genkernsyms.sh: Updated copyright information.
31644 * genmk.rb: Likewise.
31645 * genmodsrc.sh: Likewise.
31646 * gensymlist.sh: Likewise.
31647 * boot/i386/pc/boot.S: Likewise.
31648 * boot/i386/pc/diskboot.S: Likewise.
31649 * disk/i386/pc/biosdisk.c: Likewise.
31650 * disk/i386/pc/partition.c: Likewise.
31651 * font/manager.c: Likewise.
31652 * fs/ext2.c: Likewise.
31653 * fs/fat.c: Likewise.
31654 * include/pupa/boot.h: Likewise.
31655 * include/pupa/device.h: Likewise.
31656 * include/pupa/disk.h: Likewise.
31657 * include/pupa/dl.h: Likewise.
31658 * include/pupa/elf.h: Likewise.
31659 * include/pupa/err.h: Likewise.
31660 * include/pupa/file.h: Likewise.
31661 * include/pupa/font.h: Likewise.
31662 * include/pupa/fs.h: Likewise.
31663 * include/pupa/kernel.h: Likewise.
31664 * include/pupa/loader.h: Likewise.
31665 * include/pupa/misc.h: Likewise.
31666 * include/pupa/mm.h: Likewise.
31667 * include/pupa/net.h: Likewise.
31668 * include/pupa/normal.h: Likewise.
31669 * include/pupa/rescue.h: Likewise.
31670 * include/pupa/setjmp.h: Likewise.
31671 * include/pupa/symbol.h: Likewise.
31672 * include/pupa/term.h: Likewise.
31673 * include/pupa/types.h: Likewise.
31674 * include/pupa/i386/setjmp.h: Likewise.
31675 * include/pupa/i386/types.h: Likewise.
31676 * include/pupa/i386/pc/biosdisk.h: Likewise.
31677 * include/pupa/i386/pc/boot.h: Likewise.
31678 * include/pupa/i386/pc/console.h: Likewise.
31679 * include/pupa/i386/pc/init.h: Likewise.
31680 * include/pupa/i386/pc/kernel.h: Likewise.
31681 * include/pupa/i386/pc/linux.h: Likewise.
31682 * include/pupa/i386/pc/loader.h: Likewise.
31683 * include/pupa/i386/pc/memory.h: Likewise.
31684 * include/pupa/i386/pc/multiboot.h: Likewise.
31685 * include/pupa/i386/pc/partition.h: Likewise.
31686 * include/pupa/i386/pc/time.h: Likewise.
31687 * include/pupa/i386/pc/vga.h: Likewise.
31688 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
31689 * include/pupa/util/getroot.h: Likewise.
31690 * include/pupa/util/misc.h: Likewise.
31691 * include/pupa/util/resolve.h: Likewise.
31692 * kern/device.c: Likewise.
31693 * kern/disk.c: Likewise.
31694 * kern/dl.c: Likewise.
31695 * kern/err.c: Likewise.
31696 * kern/file.c: Likewise.
31697 * kern/fs.c: Likewise.
31698 * kern/loader.c: Likewise.
31699 * kern/main.c: Likewise.
31700 * kern/misc.c: Likewise.
31701 * kern/mm.c: Likewise.
31702 * kern/rescue.c: Likewise.
31703 * kern/term.c: Likewise.
31704 * kern/i386/dl.c: Likewise.
31705 * kern/i386/pc/init.c: Likewise.
31706 * kern/i386/pc/lzo1x.S: Likewise.
31707 * kern/i386/pc/startup.S: Likewise.
31708 * loader/i386/pc/chainloader.c: Likewise.
31709 * loader/i386/pc/linux.c: Likewise.
31710 * loader/i386/pc/multiboot.c: Likewise.
31711 * normal/cmdline.c: Likewise.
31712 * normal/command.c: Likewise.
31713 * normal/main.c: Likewise.
31714 * normal/menu.c: Likewise.
31715 * normal/i386/setjmp.S: Likewise.
31716 * term/i386/pc/console.c: Likewise.
31717 * term/i386/pc/vga.c: Likewise.
31718 * util/console.c: Likewise.
31719 * util/genmoddep.c: Likewise.
31720 * util/misc.c: Likewise.
31721 * util/pupa-emu.c: Likewise.
31722 * util/resolve.c: Likewise.
31723 * util/unifont2pff.rb: Likewise.
31724 * util/i386/pc/biosdisk.c: Likewise.
31725 * util/i386/pc/getroot.c: Likewise.
31726 * util/i386/pc/pupa-mkimage.c: Likewise.
31727 * util/i386/pc/pupa-setup.c: Likewise.
31728
e6eced71 317292004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
31730
31731 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
31732 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
31733 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
31734 reading and reset it after reading.
31735 (pupa_ext2_close): Return PUPA_ERR_NONE.
31736
31737 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
31738 Correct value.
31739 (struct linux_kernel_header): Add kernel_version and
31740 initrd_addr_max.
31741 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
31742 pupa_file_read succeeds.
31743 (pupa_rescue_cmd_initrd): Implement.
31744
5aded270 317452003-12-03 Marco Gerards <metgerards@student.han.nl>
31746
31747 * fs/ext2.c (pupa_ext2_label): New function.
31748 (pupa_ext2_fs): Added label.
31749 * fs/fat.c (pupa_fat_label): New function.
31750 (pupa_fat_fs): Added label.
31751 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
31752
31753 * kern/misc.c (pupa_strndup): New function.
31754 * include/pupa/misc.h (pupa_strndup): New prototype.
31755
31756 * include/pupa/normal.h: Include <pupa/err.h>.
31757 (pupa_set_history): New prototype.
31758 (pupa_iterate_commands): New prototype.
31759 * normal/cmdline.c: Include <pupa/machine/partition.h>,
31760 <pupa/disk.h>, <pupa/file.h>.
31761 (hist_size): New variable.
31762 (hist_lines): Likewise.
31763 (hist_end): Likewise.
31764 (hist_used): Likewise.
31765 (pupa_set_history): New function.
31766 (pupa_history_get): Likewise.
31767 (pupa_history_add): Likewise.
31768 (pupa_history_replace): Likewise.
31769 (pupa_tab_complete): Likewise.
31770 (pupa_cmdline_run): Added tab completion and history buffer. Tab
31771 completion shows partitionnames while completing partitions, this
31772 feature was suggested by Jeff Bailey.
31773 * normal/command.c (pupa_iterate_commands): New function.
31774 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
31775 (pupa_normal_init): Initialize history buffer.
31776 (PUPA_MOD_INIT): Likewise.
31777 (pupa_normal_fini): Free the history buffer.
31778 (PUPA_MOD_FINI): Likewise.
31779
31780 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
31781 key.
31782
31783 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
31784 * configure.ac [i386]: Check for regparam bug.
31785 (NESTED_FUNC_ATTR) [! i386]: Defined.
31786
1f7315a3 317872003-11-17 Marco Gerards <metgerards@student.han.nl>
31788
31789 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
31790 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
31791 (pupa_emu_SOURCES): New variable.
31792 (pupa_emu_LDFLAGS): Likewise.
31793 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
31794 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
31795 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
31796 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
31797 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
31798 (pupa_jmp_buf): New typedef.
31799 (pupa_setjmp) [PUPA_UTIL]: New macro.
31800 (pupa_longjmp) [PUPA_UTIL]: Likewise.
31801 * include/pupa/term.h (struct pupa_term): New member `refresh'.
31802 (pupa_refresh): New prototype.
31803 * include/pupa/util/getroot.h: New file.
31804 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
31805 it.
31806 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
31807 (pupa_rescue_cmd_cat): Likewise.
31808 (pupa_rescue_cmd_ls): Likewise.
31809 (pupa_rescue_cmd_testload): Likewise.
31810 (pupa_rescue_cmd_lsmod): Likewise.
31811 * normal/cmdline.c (pupa_cmdline_get): Likewise.
31812 * normal/menu.c (run_menu): Likewise.
31813 * kern/term.c (pupa_cls): Likewise.
31814 (pupa_refresh): New function.
31815 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
31816 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
31817 * util/console.c: New file.
f19dbdb7 31818
1f7315a3 31819 * util/i386/pc/getroot.c: New file.
31820 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
31821 (pupa_putchar): New function.
31822 (pupa_refresh): Likewise.
31823 (xgetcwd): Function moved to ...
31824 (strip_extra_slashes): Likewise.
31825 (get_prefix): Likewise.
f19dbdb7 31826 * util/i386/pc/getroot.c: ... here.
1f7315a3 31827 (find_root_device): Function moved and renamed to...
31828 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
31829 Changed all callers.
31830 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
31831 and renamed to...
31832 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
31833 Changed all callers.
31834 * util/misc.c (pupa_memalign): New function.
31835 (pupa_mm_init_region): Likewise.
31836 (pupa_register_exported_symbols): Likewise.
31837 (pupa_putchar): Function removed.
31838 * util/pupa-emu.c: New file.
31839
9a5c1ade 318402003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
31841
31842 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
31843 (_multiboot_mod_SOURCES): New variable.
31844 (_multiboot_mod_CFLAGS): Likewise.
31845 * loader/i386/pc/multiboot.c: New file.
31846 * include/pupa/i386/pc/multiboot.h: Likewise.
31847 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
31848 (pupa_multiboot_real_boot): New function.
31849 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
31850 (pupa_multiboot_real_boot): New prototype.
31851 (pupa_rescue_cmd_multiboot): Likewise
31852 (pupa_rescue_cmd_module): Likewise.
31853
31854 * kern/loader.c (pupa_loader_set): Continue when
31855 pupa_loader_unload_func() fails.
31856 (pupa_loader_unset): New function.
31857 * include/pupa/loader.h (pupa_loader_unset): New prototype.
31858
31859 * kern/misc.c (pupa_stpcpy): New function.
31860 * include/pupa/misc.h (pupa_stpcpy): New prototype.
31861
8e72a9c0 318622003-11-12 Marco Gerards <metgerards@student.han.nl>
31863
31864 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
31865 for available extensions.
31866
31867 * include/pupa/i386/pc/time.h: New file.
31868 * kern/disk.c: Include <pupa/machine/time.h>.
31869 (PUPA_CACHE_TIMEOUT): New macro.
31870 (pupa_last_time): New variable.
31871 (pupa_disk_open): Flush the cache when there was a timeout.
31872 (pupa_disk_close): Reset the timer.
31873 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
31874 pupa_currticks.
31875 * util/misc.c: Include <sys/times.h>
31876 (pupa_get_rtc): New function.
31877
c4adbd32 318782003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
31879
31880 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
31881 as blocks.
31882 (pupa_ext2_get_file_block): Use blocks member.
31883
31884 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
31885 first block. Return -1 instead of pupa_errno on error.
31886
bfd30f06 318872003-10-27 Marco Gerards <metgerards@student.han.nl>
31888
31889 * README: In the pupa-mkimage example use _chain instead of chain
31890 and ext2 instead of fat.
31891 * TODO: Replace ext2fs with jfs as an example. Add an item for
31892 adding journal playback for ext2fs.
31893 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
31894 (pkgdata_MODULES): Added ext2.mod.
31895 (ext2_mod_SOURCES): New variable.
31896 (ext2_mod_CFLAGS): Likewise.
31897 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
31898 * include/pupa/misc.h (pupa_strncpy): New prototype.
31899 (pupa_strcat): Likewise.
31900 (pupa_strncmp): Likewise.
31901 * kern/misc.c (pupa_strcat): Enable function.
31902 (pupa_strncpy): New function.
31903 (pupa_strncmp): Likewise.
31904 * fs/ext2.c: New file.
f19dbdb7 31905
bfd30f06 31906 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
31907 when the read failed before retrying.
31908 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
31909 (_FILE_OFFSET_BITS): Likewise.
31910 * configure.ac: Added AC_SYS_LARGEFILE.
31911
98d15063 319122003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
31913
31914 * genmk.rb (PModule#rule): Make sure to get only symbol names
31915 from the output of nm.
59cad637 31916 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 31917
18d9c7cd 319182003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
31919
31920 I forgot to check in these changes for a long time. This adds
31921 incomplete support for VGA console, and this is still very
31922 buggy. Also, a lot of consideration is required for I18N,
31923 UNICODE, and VGA font issues. Therefore, assume that this is
31924 such that "better than nothing".
f19dbdb7 31925
18d9c7cd 31926 * font/manager.c: New file.
31927 * include/pupa/font.h: Likewise.
31928 * include/pupa/i386/pc/vga.h: Likewise.
31929 * term/i386/pc/vga.c: Likewise.
31930 * util/unifont2pff.rb: Likewise.
31931
31932 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
31933 (pkgdata_MODULES): Added vga.mod and font.mod.
31934 (vga_mod_SOURCES): New variables.
31935 (vga_mod_CFLAGS): Likewise.
31936 (font_mod_SOURCES): Likewise.
31937 (font_mod_CFLAGS): Likewise.
31938
31939 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
31940
31941 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 31942 (struct pupa_term): Added init and fini.
18d9c7cd 31943 Changed the argument of putchar to pupa_uint32_t.
31944
31945 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
31946 (pupa_console_real_putchar): New prototype.
31947 (pupa_console_putchar): Removed.
31948 (pupa_console_checkkey): Exported.
31949 (pupa_console_getkey): Likewise.
31950
31951 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
31952 characters.
31953
31954 * kern/term.c (pupa_term_set_current): Rewritten.
31955 (pupa_putchar): Likewise.
31956 (pupa_putcode): New function.
31957
31958 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
31959 (pupa_console_real_putchar): ... this.
31960 (pupa_vga_set_mode): New function.
31961 (pupa_vga_get_font): Likewise.
31962
31963 * normal/command.c: Include pupa/term.h.
31964 (terminal_command): New function.
31965 (pupa_command_init): Register the command "terminal".
31966
31967 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
31968 (DISP_UP): Likewise.
31969 (DISP_RIGHT): Likewise.
31970 (DISP_DOWN): Likewise.
31971 (DISP_HLINE): Likewise.
31972 (DISP_VLINE): Likewise.
31973 (DISP_UL): Likewise.
31974 (DISP_UR): Likewise.
31975 (DISP_LL): Likewise.
31976 (DISP_LR): Likewise.
31977
31978 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 31979
977329f5 319802003-02-08 NIIBE Yutaka <gniibe@m17n.org>
31981
31982 * util/resolve.c (pupa_util_resolve_dependencies): BUG
31983 FIX. Reverse the path_list.
31984
31985 * include/pupa/normal.h: Export pupa_register_command and
31986 pupa_unregister_command.
31987
31988 * hello/hello.c (pupa_cmd_hello): New module.
31989 * conf/i386-pc.rmk: Added hello.mod.
31990
1f5ab428 319912003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
31992
31993 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 31994
1f5ab428 31995 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
31996 (compress_kernel): New variable.
31997 (generate_image): Heavily modified to support compressing a
31998 large part of the core image.
31999
32000 * util/misc.c (pupa_util_read_image): Fix a file descriptor
32001 leak.
32002 (pupa_util_load_image): New function.
32003
32004 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
32005 (pupa_compressed_size): New variable.
32006 (codestart): Enable Gate A20 here.
32007 Decompress the compressed part of the core image.
32008 Rearrange the code to put functions and variables which are
32009 required for initialization in the non-compressed part.
32010 Include lzo1x.S.
32011
32012 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
32013 here.
32014
32015 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
32016
f19dbdb7 32017 * include/pupa/i386/pc/kernel.h
1f5ab428 32018 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
32019 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
32020 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32021 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32022 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
32023
32024 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
32025
32026 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
32027 (Utility#rule): Likewise.
32028
32029 * configure.ac: Check if LZO is available.
32030
ce5bf700 320312003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
32032
32033 * include/pupa/normal.h: New file.
32034 * include/pupa/setjmp.h: Likewise.
32035 * include/pupa/i386/setjmp.h: Likewise.
32036 * normal/cmdline.c: Likewise.
32037 * normal/command.c: Likewise.
32038 * normal/main.c: Likewise.
32039 * normal/menu.c: Likewise.
32040 * normal/i386/setjmp.S: Likewise.
f19dbdb7 32041
ce5bf700 32042 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
32043 (pupa_rescue_cmd_initrd): Likewise.
32044
32045 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
32046 Likewise.
32047
32048 * kern/i386/pc/startup.S (translation_table): New variable.
32049 (translate_keycode): New function.
32050 (pupa_console_getkey): Call translate_keycode.
32051
32052 * kern/rescue.c (attempt_normal_mode): New function.
32053 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
32054 it failed, print a message.
32055
32056 * kern/mm.c (pupa_real_malloc): Print more information when a
32057 free magic is broken.
32058 (pupa_free): If the first free header is not free actually, set
32059 it to P.
32060
32061 * kern/main.c (pupa_load_normal_mode): Just load the module
32062 "normal".
32063 (pupa_main): Don't print the message
32064 "Entering into rescue mode..." here.
32065
32066 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
32067 Declared.
32068 (pupa_rescue_cmd_initrd): Likewise.
32069 (pupa_rescue_cmd_initrd): Likewise.
32070
32071 * include/pupa/symbol.h (FUNCTION): Specify the type.
32072 (VARIABLE): Likewise.
32073
32074 * include/pupa/err.h (pupa_err_t): Added
32075 PUPA_ERR_UNKNOWN_COMMAND.
32076
32077 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
32078 (pupa_dl_get_prefix): Likewise.
32079
32080 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
32081 Added _chain.mod and _linux.mod instead of chain.mod and
32082 linux.mod.
32083 (chain_mod_SOURCES): Renamed to ...
32084 (_chain_mod_SOURCES): ... this.
32085 (chain_mod_CFLAGS): Renamed to ...
32086 (_chain_mod_CFLAGS): ... this.
32087 (linux_mod_SOURCES): Renamed to ...
32088 (_linux_mod_SOURCES): ... this.
32089 (linux_mod_CFLAGS): Renamed to ...
32090 (_linux_mod_CFLAGS): ... this.
32091 (normal_mod_SOURCES): New variable.
32092 (normal_mod_CFLAGS): Likewise.
32093 (normal_mod_ASFLAGS): Likewise.
32094
320952003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
32096
32097 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
32098 possible.
32099
fe6b695a 32100 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 32101 recursively.
32102 (pupa_dl_unref): Unrefer depending modules recursively.
32103 Don't call pupa_dl_unload implicitly, because PUPA can crash if
32104 a module is unloaded before one depending on that module is
32105 unloaded.
32106 (pupa_dl_unload): Unload depending modules explicitly,
32107 if possible.
32108
c04da074 321092003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
32110
32111 * include/pupa/i386/pc/linux.h: New file.
32112 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 32113
c04da074 32114 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
32115 Removed.
32116 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
32117 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
32118 of PUPA_CHAINLOADER_BOOT_SECTOR.
32119
32120 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
32121 (pupa_linux_prot_size): New variable.
32122 (pupa_linux_tmp_addr): Likewise.
32123 (pupa_linux_real_addr): Likewise.
32124 (pupa_linux_boot_zimage): New function.
32125 (pupa_linux_boot_bzimage): Likewise.
32126
32127 * kern/i386/pc/init.c (struct mem_region): New structure.
32128 (MAX_REGIONS): New macro.
32129 (mem_regions): New variable.
32130 (num_regions): Likewise.
32131 (pupa_os_area_addr): Likewise.
32132 (pupa_os_area_size): Likewise.
32133 (pupa_lower_mem): Likewise.
32134 (pupa_upper_mem): Likewise.
32135 (add_mem_region): New function.
32136 (compact_mem_regions): Likewise.
32137 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
32138 the size of the conventional memory and that of so-called upper
32139 memory (before the first memory hole).
32140 Instead of adding each found region to free memory, use
32141 add_mem_region and add them after removing overlaps.
32142 Also, add only 1/4 of the upper memory to free memory. The rest
32143 is used for loading OS images. Maybe this is ad hoc, but this
32144 makes it much easier to relocate OS images when booting.
32145
32146 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
32147 (pupa_enter_rescue_mode): Don't register initrd and module.
32148
32149 * kern/mm.c: Include pupa/dl.h.
32150
32151 * kern/main.c: Include pupa/file.h and pupa/device.h.
32152
32153 * kern/loader.c (pupa_loader_load_module_func): Removed.
32154 (pupa_loader_load_module): Likewise.
32155
32156 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
32157 ``.o''.
32158
32159 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
32160 (pupa_linux_tmp_addr): Likewise.
32161 (pupa_linux_real_addr): Likewise.
32162 (pupa_linux_boot_zimage): Likewise.
32163 (pupa_linux_boot_bzimage): Likewise.
32164
32165 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
32166 (pupa_upper_mem): Likewise.
32167 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
32168 module is too dangerous.
32169
32170 * include/pupa/loader.h (pupa_os_area_addr): Declared.
32171 (pupa_os_area_size): Likewise.
32172 (pupa_loader_set): Remove the first argument. Loader doesn't
32173 manage modules or initrd any longer.
32174 (pupa_loader_load_module): Removed.
32175
32176 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
32177 (linux_mod_SOURCES): New variable.
32178 (linux_mod_CFLAGS): Likewise.
32179
a13f9237 321802003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
32181
32182 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
32183 the length of a blocklist correctly.
32184
32185 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
32186 Use ioctl only if the OS file is a block device.
32187 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
32188 not very useful for normal files.
32189
32190 * kern/main.c (pupa_set_root_dev): New function.
32191 (pupa_load_normal_mode): Likewise.
32192 (pupa_main): Call those above.
32193
32194 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
32195 pupa_uint16_t.
32196
32197 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
32198
a5ffe966 321992003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32200
32201 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
32202 (setup): Configure the installed partition information and the
32203 dl prefix.
32204
32205 * loader/i386/pc/chainloader.c (my_mod): New variable.
32206 (pupa_chainloader_unload): New function.
32207 (pupa_rescue_cmd_chainloader): Refer itself.
32208 (PUPA_MOD_INIT): Save its own module in MY_MOD.
32209
32210 * kern/i386/pc/startup.S (install_partition): Removed.
32211 (version_string): Likewise.
32212 (config_file): Likewise.
32213 (pupa_install_dos_part): New variable.
32214 (pupa_install_bsd_part): Likewise.
32215 (pupa_prefix): Likewise.
32216 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
32217
32218 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
32219 and pupa/misc.h.
32220 (make_install_device): New function.
32221 (pupa_machine_init): Set the dl prefix.
32222
32223 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
32224 (buf): Renamed to ...
32225 (linebuf): ... this.
32226 (pupa_rescue_cmd_prefix): New function.
32227 (pupa_rescue_cmd_insmod): Likewise.
32228 (pupa_rescue_cmd_rmmod): Likewise.
32229 (pupa_rescue_cmd_lsmod): Likewise.
32230 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
32231 rmmod and lsmod.
32232
32233 * kern/mm.c (pupa_memalign): If failed even after invalidating
32234 disk caches, unload unneeded modules and retry.
32235
32236 * kern/misc.c (pupa_memmove): New function.
32237 (pupa_memcpy): Removed.
32238 (pupa_strcpy): New function.
32239 (pupa_itoa): Made static.
32240
32241 * kern/dl.c (pupa_dl_iterate): New function.
32242 (pupa_dl_ref): Likewise.
32243 (pupa_dl_unref): Likewise.
32244 (pupa_dl_unload): Return if succeeded or not.
32245 (pupa_dl_unload_unneeded): New function.
32246 (pupa_dl_unload_all): Likewise.
32247 (pupa_dl_init): Renamed to ...
32248 (pupa_dl_set_prefix): ... this.
32249 (pupa_dl_get_prefix): New function.
32250
32251 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
32252 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
32253 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32254 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32255 (pupa_install_dos_part): Declared.
32256 (pupa_install_bsd_part): Likewise.
32257 (pupa_prefix): Likewise.
32258 (pupa_boot_drive): Likewise.
32259
32260 * include/pupa/types.h: Fix a typo.
32261
32262 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
32263 pupa_memmove.
32264 (pupa_memmove): Declared.
32265 (pupa_strcpy): Likewise.
32266
32267 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
32268 pupa_mod_init takes one argument, its own module.
32269 (pupa_dl_unload_unneeded): Declared.
32270 (pupa_dl_unload_all): Likewise.
32271 (pupa_dl_ref): Likewise.
32272 (pupa_dl_unref): Likewise.
32273 (pupa_dl_iterate): Likewise.
32274 (pupa_dl_init): Renamed to ...
32275 (pupa_dl_set_prefix): ... this.
32276 (pupa_dl_get_prefix): Declared.
32277
32278 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 32279 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 32280 unloaded.
32281 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
32282 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
32283
32284 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
32285 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
32286
012d7999 322872003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
32288
32289 * util/i386/pc/pupa-setup.c (setup): Define the internal
32290 function find_first_partition_start at the top level, because GCC
32291 3.0.x cannot compile internal functions in deeper scopes
32292 correctly.
32293 (find_root_device): Use lstat instead of stat.
32294 Don't follow symbolic links.
32295 Fix the path-constructing code.
32296
32297 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
32298 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
32299 by a BLKGETSIZE ioctl first, because block devices don't fill
32300 the member st_mode of the structure stat on Linux.
32301 [__linux__] (linux_find_partition): Use a temporary buffer
32302 REAL_DEV for the working space. Copy it to DEV before returning.
32303 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
32304 buffer cache consistent.
32305 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
32306 strncmp. The previous value was merely wrong.
32307 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
32308
32309 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
32310 FAT size is 12. The previous value was merely wrong.
32311
32312 * kern/main.c (pupa_main): Don't split the starting message from
32313 newlines.
32314
32315 * kern/term.c (pupa_putchar): Put CR after LF instead of before
32316 LF, because BIOS goes crazy about character attributes in this
32317 case.
32318
1cc73a62 323192003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
32320
32321 * include/i386/pc/util/biosdisk.h: New file.
32322 * util/i386/pc/biosdisk.c: Likewise.
32323 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 32324
1cc73a62 32325 * Makefile.in (INCLUDE_DISTFILES): Added
32326 include/pupa/i386/pc/util/biosdisk.h.
32327 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
32328 directory util/i386/pc.
32329 (install-local): Added a rule for sbin_UTILITIES.
32330 (uninstall): Likewise.
32331
32332 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
32333
32334 * util/misc.c (xrealloc): New function.
32335 (pupa_malloc): Likewise.
32336 (pupa_free): Likewise.
32337 (pupa_realloc): Likewise.
32338 (pupa_stop): Likewise.
32339 (pupa_putchar): Likewise.
32340
32341 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
32342
32343 * include/pupa/util/misc.h (xrealloc): Declared.
32344
32345 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
32346 macro.
32347 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
32348 (PUPA_BOOT_MACHINE_BPB_END): ... this.
32349
32350 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
32351 [PUPA_UTIL] (pupa_fat_fini): Likewise.
32352
32353 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
32354 way should be implemented.
32355 [PUPA_UTIL] (pupa_fat_fini): Likewise.
32356
32357 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
32358 the size of NAME for safety.
32359 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
32360 0x88.
32361
32362 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
32363 (pupa_setup_SOURCES): Likewise.
32364
32365 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
32366
08b70fe8 323672002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
32368
32369 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
32370 bunch of pushl's from pusha, because this destroys the return
32371 value.
32372
62ddcc8f 323732002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
32374
32375 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
32376 This means that any missing prototypes could be fatal. Also, you
32377 must take care when writing assembly code. See the comments at
32378 the beginning of startup.S, for more details.
f19dbdb7 32379
62ddcc8f 32380 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
32381 compilation mechanism.
32382 (pupa_chainloader_real_boot): Likewise.
32383 (pupa_biosdisk_rw_int13_extensions): Likewise.
32384 (pupa_biosdisk_rw_standard): Likewise.
32385 (pupa_biosdisk_check_int13_extensions): Likewise.
32386 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
32387 (pupa_biosdisk_get_diskinfo_standard): Likewise.
32388 (pupa_get_memsize): Likewise.
32389 (pupa_get_mmap_entry): Likewise.
32390 (pupa_console_putchar): Likewise.
32391 (pupa_console_setcursor): Likewise.
32392 (pupa_getrtsecs): Use pushl instead of push.
32393
32394 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
32395 memory instead of the stack for a mmap entry, because some
32396 BIOSes may ignore the maximum size and overflow.
32397
32398 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
32399
32400 * genmk.rb (PModule#rule): Compile automatically generated
32401 sources with module-specific CFLAGS as well as other sources.
32402
9962ed99 324032002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32404
32405 * configure.ac: Check ld.
32406 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
32407 respectively, before checking endianness and sizes.
32408
32409 * Makefile.in (LD): New variable.
f19dbdb7 32410
abdfc3c5 324112002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32412
32413 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
32414
6a161fa9 324152002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32416
32417 * Changelog: New file.
32418